Curated Code CAD

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

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • sdf

    Simple SDF mesh generation in Python

  • > Basic things like 'hollow this object out, leaving a 3mm shell' are nearly impossible.

    Yeah, I think that's a consequence of how they're constructing the objects. But things like signed distance fields make that easier* because it'd just be "expand the SDF by 3mm" - https://github.com/fogleman/sdf has `shell` for this.

    * if you can wrap your head around the math/geometry, I guess

  • sdfx

    A simple CAD package using signed distance functions

  • Nice to see sdfx [1] there, this project is impressive.

    deadsy built some rather sophisticated models, be sure to check out the renderings in the github README!

    https://github.com/deadsy/sdfx

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • opencascade-emscripten-port

    Discontinued Open CASCADE - Emscripten / Webassembly port

  • There is an OpenCascade version compiled down to wasm [1] that we're currently using embedded in our own app. Rendering to WebGL is relatively straight-forward and the system as a whole works well. Gives me a lot of power when designing mechanical systems and running simulations on the resulting models. Perf of the CAD kernel on the web is not great, but 'just good enough'.

    Troubleshooting issues is tricky though. If something doesn't work debugging is nearly impossible and the (C++) docs are very challenging.

    OpenCascade is very powerful, but the ergonomics of the API aren't great. Writing a simple FP-style immutable wrapper around it has proven very fruitful and we can now describe relatively complicated models with a bare minimum of TypeScript code. Lot's of fun!

    [1] https://github.com/gabrielcuvillier/opencascade-emscripten-p...

  • There is an OpenCascade version compiled down to wasm [1] that we're currently using embedded in our own app. Rendering to WebGL is relatively straight-forward and the system as a whole works well. Gives me a lot of power when designing mechanical systems and running simulations on the resulting models. Perf of the CAD kernel on the web is not great, but 'just good enough'.

    Troubleshooting issues is tricky though. If something doesn't work debugging is nearly impossible and the (C++) docs are very challenging.

    OpenCascade is very powerful, but the ergonomics of the API aren't great. Writing a simple FP-style immutable wrapper around it has proven very fruitful and we can now describe relatively complicated models with a bare minimum of TypeScript code. Lot's of fun!

    [1] https://github.com/gabrielcuvillier/opencascade-emscripten-p...

  • cq-containers

  • Slightly OT:

    So after reading this, I went and tried cadquery ... it's really nice, but it is very, very unfortunately tied at the hip with anaconda, which is a monstrosity.

    I'm not sure why they would tie such a ball and chain to an otherwise super nice CAD scripting tool.

    There is luckily a docker based solution [1] that cleanly lets you wrap and try the whole cancerous thing without it spilling all over your system.

    [1] https://github.com/RubenRubens/cq-containers/tree/master/cq-...

  • ViewSCAD

    A Jupyter renderer for the OpenSCAD and SolidPython Constructive Solid Geometry languages

  • Just a quick diff between your list and mine, apologies if I missed them or if there is a reason to exclude these:

        - https://github.com/nickc92/ViewSCAD

  • antimony

    CAD from a parallel universe

  • - Matt Keeter's stuff (listed here https://www.mattkeeter.com/projects/, including https://github.com/mkeeter/antimony and https://www.mattkeeter.com/projects/ao/, though I see you have libfive)

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • cadquery

    A python parametric CAD scripting framework based on OCCT

  • To be fair these grievances are old: I've avoided conda like the plague for - easily - the last 5 years, and they might have cleaned up their act.

    However, I still find the notion of having to install 2 gigs worth of stuff on my machine only to try a simple CAD package for a few hours a rather offending proposition. Call me an old curmudgeon if you have to.

    To be fair to the cadquery folks: they seem to have realized the issue and they now offer what looks like a somewhat self contained binary dowload of the cq-editor package [2].

    Finally, I'll leave you with this, taken from the cadquery homepage itself [1] (note the use of the word "polluting" in there, looks like I'm not the only one feeling this way):

    For those unfamiliar (or uncomfortable) with Anaconda, it is probably best to install Miniconda to a local directory and to avoid running conda init. After performing a local directory installation, Miniconda can be activated via the [scripts,bin]/activate scripts. This will help avoid polluting and breaking the local Python installation. In Linux, the local directory installation method looks something like this

    [1] https://github.com/CadQuery/cadquery#alternative-anaconda-in...

    [2] https://github.com/CadQuery/CQ-editor/releases

  • CQ-editor

    CadQuery GUI editor based on PyQT

  • To be fair these grievances are old: I've avoided conda like the plague for - easily - the last 5 years, and they might have cleaned up their act.

    However, I still find the notion of having to install 2 gigs worth of stuff on my machine only to try a simple CAD package for a few hours a rather offending proposition. Call me an old curmudgeon if you have to.

    To be fair to the cadquery folks: they seem to have realized the issue and they now offer what looks like a somewhat self contained binary dowload of the cq-editor package [2].

    Finally, I'll leave you with this, taken from the cadquery homepage itself [1] (note the use of the word "polluting" in there, looks like I'm not the only one feeling this way):

    For those unfamiliar (or uncomfortable) with Anaconda, it is probably best to install Miniconda to a local directory and to avoid running conda init. After performing a local directory installation, Miniconda can be activated via the [scripts,bin]/activate scripts. This will help avoid polluting and breaking the local Python installation. In Linux, the local directory installation method looks something like this

    [1] https://github.com/CadQuery/cadquery#alternative-anaconda-in...

    [2] https://github.com/CadQuery/CQ-editor/releases

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