Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dschroer/dslcad
DSLCad is a programming language & interpreter for building 3D models.
https://github.com/dschroer/dslcad
3d-graphics 3d-models 3d-printing cad linux macos wasm windows
Last synced: about 2 hours ago
JSON representation
DSLCad is a programming language & interpreter for building 3D models.
- Host: GitHub
- URL: https://github.com/dschroer/dslcad
- Owner: DSchroer
- License: lgpl-2.1
- Created: 2022-11-07T17:24:52.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-03-09T18:15:44.000Z (8 months ago)
- Last Synced: 2024-08-10T14:16:30.695Z (3 months ago)
- Topics: 3d-graphics, 3d-models, 3d-printing, cad, linux, macos, wasm, windows
- Language: Rust
- Homepage: https://dslcad.com
- Size: 57 MB
- Stars: 469
- Watchers: 13
- Forks: 14
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# DSLCAD (Pronounced DieselCAD)
DSLCAD is a programming language & interpreter for building 3D models.
Inspired by OpenSCAD, it has a language and 3D viewer to simplify the modeling experience.
![screenshot](docs/screenshot.png)
## Setup
Dependencies:
- Rust
- Just (https://github.com/casey/just)To build run:
```sh
just build
```This will first build OCCT if needed. Then build the rest of the app. OCCT is cached in the `occt_prebuilt` folder.
## Usage
Check out the [documentation](https://dschroer.github.io/dslcad/) pages.
## Installation
Download the latest DSLCAD from the [Releases](https://github.com/DSchroer/model-script/releases) tab of this repo.
You can find pre-built binaries for:
- Windows
- MacOS
- Linux
- Browsers (WebAssembly)## FAQ
### What are you focusing on?
Right now there are two apps:
- DSLCAD CLI
- DSLCAD EditorI am focusing on the CLI. Right now I don't have the energy to develop
for the editor. I would like to do editor work but I do not have enough energy.
If anyone wants to contribute I would appreciate it.### Why is this different from OpenSCAD?
DSLCAD aims to build upon the formula that was established by OpenSCAD. It is
still functional in approach and has a more limited scope (no text editor). It has
a viewer for rapid part development and a CLI for automation.It offers some novel ideas such as:
- `chamfer` and `fillet` operators to simplify part creation
- the ability to create multiple parts (3D models) from a single file
- object style properties to access variables `my_gear.radius`
- top to bottom readability using pipes (the `->` operator) to reduce nesting complexity
- a single binary per platform for portability
- focused workflow with the aim of using the 2D first then 3D part design flow
- written in Rust to make it easy to build and contribute to