Replies: 2 comments 3 replies
-
This is a cool idea. One of my goals has been to improve the 2D experience in JSCAD. Using a workflow that emphasizes: 1) design in 2D, and then 2) extrude into three dimensions. This workflow can be simpler for the user, faster computationally, and produce solid, manifold geometry more accurately. I have a jscad branch where I have been trying to re-implement the boolean operations (union, intersect, etc) in 2D using better algorithms than the current BSP trees. The state-of-the-art in 2D polygon clipping seems to be line-sweep algorithms like the Martinez algorithm. Handling all the edge cases is tricky though. It would be awesome to use flatten-js for 2D operations, and not have to re-implement everything from scratch. I will read through the flatten js code a bit. I'm curious how they do their operations, and what their data structures look like compared to jscad. |
Beta Was this translation helpful? Give feedback.
-
Just an introduction to JSCAD... The project has been focused on creating 3D designs for 3D printing. And there are several applications as well as supporting packages, which all live in one large mono-repository. https://github.com/jscad/OpenJSCAD.org/ Inside the mono-repository are core packages, but the main one is call 'modeling'. This package contains all the data structures (geometries), operations, and math functions (maths). This is a core package with as-fast-as possible core functionality. Users are expected to create 3D (and 2D) designs using the 'primitives' found in modeling, and construct complex shapes for re-use. There's a web-based UI for jumping straight into designs at https://openjscad.xyz/ |
Beta Was this translation helpful? Give feedback.
-
I'm interested in do some collaboration between the flatten-js project and the JSCAD project. There are lots of JSCAD users who want to work with descriptive definitions when creating 2D designs, however JSCAD has a very limited set of 2D shape primitives, which are translated directly into ordered 2D line segments.
I'm hoping for a few quick wins via the collaboration.
Adding @platypii for further thoughts.
Beta Was this translation helpful? Give feedback.
All reactions