JSCAD User Group

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    JSCAD geometry engine project

    Development Discussions
    2
    2
    494
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • platypii
      platypii last edited by

      Hey everyone. I was just added as a maintainer of JSCAD 👋

      I've recently been getting a bunch of commits in (with the help of @z3dev, @hrgdavor, and others) trying to make the geometry internals of JSCAD both rock solid, and super fast.

      Some recent improvements:

      • 100x speedup of toOutlines for large polys
      • 150x speedup of hullPath2 for large polys
      • 2.6x speedup of expandShell for 3D expansions. Also produces cleaner output geometry.
      • 300x speedup of offsetFromPoints for 2D expansions. Also cleaner output geometry.

      Some bigger projects I'm working on:

      • Earcut triangulation. Currently extrusions use toPolygons to turn non-convex geometries into convex polygons. But there are known bugs (#907). I believe this can be done faster, and produce air-tight geometry!
      • Fixes to offsetFromPoints. A user reported a bug in our offset code (#1017). Polygon offsetting is a hard problem in computational geometry. I think we can fix the user bug, but getting a fully general solution may not be easy.
      • Eliminate non-manifold geometry from the output of BSP trees. Still early in experiments, but I think it's possible to efficiently produce manifold geometry. This would be more robust to floating point errors (quantization would not break edges). And allow non-linear transforms (for example, bending an object #598).

      I really like the JSCAD API. V2 was a beautiful upgrade. I want to make the engine implementing that API as fast and accurate as humanly possible.

      z3dev 1 Reply Last reply Reply Quote 4
      • z3dev
        z3dev @platypii last edited by

        For those wondering, @platypii is a new member of the development team. He’s already put together some super nice fixes. In addition, he never sleeps so things are moving along at light speed. 😎

        So, please let him know if there’s something missing from JSCAD.

        1 Reply Last reply Reply Quote 2
        • First post
          Last post
        Powered by NodeBB | Contributors