Text-to-CAD: Risks and Opportunities

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. fornjot

    Early-stage b-rep CAD kernel, written in the Rust programming language.

    I agree 100%.

    Truck[1] and Fornjot[2] are recent attempts in the Rust space, both are WIP.

    But both seem to be going the traditional way. I.e. B-Rep that can be converted to (trimmed) NURBS.

    I think if one wanted to incorporate the last 50 years of computer science, particularly computer graphics, one needed to broaden the feature set considerably.

    You need support for precision subdivision surface modeling with variable radius creases (either via reverse subdivision where you make sure the limit surface pass through given constraints or using an interpolating subivision scheme that but has the same perks as e.g. Catmull-Clark).

    Then you need to have SDF modeling ofc.

    Possibly point based representations. If only as inputs.

    And traditional B-Rep.

    Finally, the kernel should be able to go back and forth lossless between these representations wherever possible.

    And everything must be node-based, like e.g. Houdini. Completely non-destructive.

    [1] https://github.com/ricosjp/truck

    [2] https://github.com/hannobraun/fornjot

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. manifold

    Geometry library for topological robustness (by elalish)

    I think the interesting thing about CAD kernel is that there are different representations and limitations to each representation. You have triangular (or polygonal) mesh, BREP which uses NURBS, SDF which is based on functional representation. I have experience working with triangular meshes and SDF so here are my opinions about them, please correct me if I am wrong:

    Triangular mesh is conceptually simple, but requires many faces to approximate curved surfaces with high precision (you may be able to use subdivision surface in some cases but intersection/union in those cases are more challenging). Also, for more complicated models, floating point errors really add up and you either have to use an exact representation (which is really slow) or try some other approaches which can be robust w.r.t. errors (e.g. https://github.com/elalish/manifold but it is really hard to get right). Another disadvantage comparing with BREP is the lack of constraint solving, which i

  4. pythonocc-core

    Python package for 3D geometry CAD/BIM/CAM

    It seems a bizarre statement to state that OpenCASCADE isn't fully capable. Its the only OS licensed kernel that'll read a STEP file. Also "modern foundation" is a misleading statement, any CAD kernel bearing any kind of relevance seems implying a codebase that's been around for a quarter century. Like it or not OpenCASCADE is the hand that was dealt. I've worked with the technology [1] extensively and it provided the underpinnings for a startup I've founded [2]. pythonocc is the bees knees, it allows you to develop a proper CAD app. Don't take my word for it, but see also the many publications that have built on the tech [3]

    [1] https://github.com/tpaviot/pythonocc-core

  5. awesome-cadquery

    A curated list of CadQuery code and resources.

    cadquery wraps OCC (OpenCascades) but used to wrap freeCAD. Here's a LEGO interlocking block brick in cadquery: https://cadquery.readthedocs.io/en/latest/examples.html#lego... . Awesome-cadquery: https://github.com/CadQuery/awesome-cadquery )

    cadquery and thus also jupyter-cadquery now have support for build123d.

    gumyr/build123d

  6. build123d

    A python CAD programming library

  7. manim

    A community-maintained Python framework for creating mathematical animations. (by ManimCommunity)

  8. compas_nurbs

    NURBS for COMPAS

  9. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  10. truck

    Truck is a Rust CAD Kernel.

    I agree 100%.

    Truck[1] and Fornjot[2] are recent attempts in the Rust space, both are WIP.

    But both seem to be going the traditional way. I.e. B-Rep that can be converted to (trimmed) NURBS.

    I think if one wanted to incorporate the last 50 years of computer science, particularly computer graphics, one needed to broaden the feature set considerably.

    You need support for precision subdivision surface modeling with variable radius creases (either via reverse subdivision where you make sure the limit surface pass through given constraints or using an interpolating subivision scheme that but has the same perks as e.g. Catmull-Clark).

    Then you need to have SDF modeling ofc.

    Possibly point based representations. If only as inputs.

    And traditional B-Rep.

    Finally, the kernel should be able to go back and forth lossless between these representations wherever possible.

    And everything must be node-based, like e.g. Houdini. Completely non-destructive.

    [1] https://github.com/ricosjp/truck

    [2] https://github.com/hannobraun/fornjot

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Fornjot 0.5.0 - Code-CAD in Rust

    7 projects | /r/rust | 28 Jan 2022
  • GitHub - CadQuery/cadquery: A python parametric CAD scripting framework based on OCCT

    1 project | /r/codeCAD | 26 Jul 2023
  • Synth Printer: 3D printed synth panels with simple Python code. Give me early feedback?

    3 projects | /r/synthdiy | 13 Apr 2023
  • This subreddit now says that the Steam Deck is just a PC right when you join it. Now all of you who say that it isn't a PC can stop arguing about it

    1 project | /r/SteamDeck | 24 Jan 2023
  • Any recommendations for a simple solid modeling API library? Preferably C or C++

    1 project | /r/FreeCAD | 20 Sep 2022

Did you know that Python is
the 2nd most popular programming language
based on number of references?