Coder Social home page Coder Social logo

protractr's Introduction

protractr

A constraint-based 2D Sketching tool - Hosted on Github Pages

Functionality is planned to match basic Solidworks sketches containing Points, Lines, Circles, and Arcs. Most of Solidworks' relations are currently supported, with the remaining to be implemented soon.

Examples:

Supported relations
  • Horizontal
  • Vertical
  • Colinear
  • Tangent Line
  • Tangent Circle
  • Concentric
  • Midpoint
  • Intersection
  • Coincident on Point
  • Coincident on Line
  • Coincident on Circle
  • Radius Equal
  • Line Length Equal
Missing relations
  • Perpendicular
  • Parallel
  • Fix / Lock Entity

Structure and Documenation

View the docs!

Protractr is composed of two main modules:

  • gcs is used to describe and solve geometric sketches, which are composed of figures and relations.
  • ui displays the current sketch and allows a user to modify it

Contributing

To get started:

  1. Clone this repo, and cd into it

  2. Run npm install

  3. Make changes to the TypeScript source. This should be done under scripts directory. Note that the dist directory is the product of browserify and tsc, and you should not directly edit files there.

  4. To test your changes, run:

    npm run recompile-typescript
    npm run browserify
    

    You should then see that the file dist/bundle.js has been modified.
    This is the final JavaScript file that the running application actually uses: a combination of all the JavaScript in the application, together with the node modules on which the application depends.

  5. When you are ready to commit a change, regenerate the docs:

    npm run gen-docs
    

    Then, commit the changes under src and docs, and plus the changes to dist/bundle.js. We commit docs and dist/bundle.js because they are used by the GitHub Pages hosted production version of the site.

protractr's People

Contributors

n-wach avatar dependabot[bot] avatar pconrad avatar mdecourse avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.