-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
Intro
OpenSCAD is an unique CAD application, as its only user interface is a programming language.
It is also unique because instead of parametric modelling (the paradigm used in most other CAD apps) it uses CSG (Constructive Solid Geometry), so the final models are created by combining several of more simple 3D shapes such as cubes, cylinders, etc.
Requirement notes
- Multiplatform: ✅
- Free / Open source: ✅
- Active project:
⚠️ - While the last stable release is from 2021, seems that there is at least couple of people working on incremental improvements. These are released as dev builds, but most of the improvements are focused on the geometry engine, and not so much in other areas.
- Most of the "new feature wow effect" comes from 3rd-party libraries such as BOSL2 instead.
- Low entry barrier: 🔴
- OpenSCAD interface is a programming language (that also acts as savefile). Simple models may be easily understood by non-developers, but complex models become hard to decode even for people with OpenSCAD experience.
- OpenSCAD 3D visualization is one-directional, as in the user cannot interact with it (other than for rotation and zoom) and the application does nothing to communicate with 3D features correspond with which parts of the code.
- OpenSCAD language is a very limiting (and quirky) language, it requires some learning time even from seasoned coders. For example: some things can be assigned to variables while others not, variables cannot be redefined, functions cannot have more than one statement, and parsing errors do not explain the actual error, to name a few.
- Documentation lacks examples other than for the very basic cases, and do not explain the core concepts of the language at a technical level.
- OpenSCAD available learning resources are very limited, the very few videos on Youtube are in the range of 5 to 8 years old, and do not cover other than the very basics of the application.
- Non-linear: ✅
- OpenSCAD default workflow is non-destructive CSG.
- Fast prototyping: 🔴
- Given the basically-non-existing UI, forced programming language approach, and quirks of the language, OpenSCAD is IMO the worst possible 3D prototyping tool that can exist. Creativity requires short iteration cycles, being able to "touch" and experiment with random changes while having immediate feedback, which is the opposite of the OpenSCAD workflow.
- Collaboration: ✅
- OpenSCAD programming language is also its savefile format, this makes it very suitable for the standard GIT collaboration flow.
- Assembly: ✅
- OpenSCAD allows to import and use other OpenSCAD files as modules.
- It also allows importing
.stlfiles and doing boolean operations on them. - BOSL2 attachment system can be used to define parent-child spacial relationships.
- Common tools: ✅
- While OpenSCAD provides tools for extrusion, the CSG paradigm encourages to work directly with 3D primitives (cube instead of square, cylinder instead of circle).
- Lofting is called Hull.
- Chamfers and fillets can be achieved with 3rd-party libraries.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Applications