LmCast :: Stay tuned in

Dune3d: A parametric 3D CAD application

Recorded: March 24, 2026, 2:23 a.m.

Original Summarized

GitHub - dune3d/dune3d: 3D CAD application · GitHub

Skip to content

Navigation Menu

Toggle navigation

Sign in

Appearance settings

PlatformAI CODE CREATIONGitHub CopilotWrite better code with AIGitHub SparkBuild and deploy intelligent appsGitHub ModelsManage and compare promptsMCP RegistryNewIntegrate external toolsDEVELOPER WORKFLOWSActionsAutomate any workflowCodespacesInstant dev environmentsIssuesPlan and track workCode ReviewManage code changesAPPLICATION SECURITYGitHub Advanced SecurityFind and fix vulnerabilitiesCode securitySecure your code as you buildSecret protectionStop leaks before they startEXPLOREWhy GitHubDocumentationBlogChangelogMarketplaceView all featuresSolutionsBY COMPANY SIZEEnterprisesSmall and medium teamsStartupsNonprofitsBY USE CASEApp ModernizationDevSecOpsDevOpsCI/CDView all use casesBY INDUSTRYHealthcareFinancial servicesManufacturingGovernmentView all industriesView all solutionsResourcesEXPLORE BY TOPICAISoftware DevelopmentDevOpsSecurityView all topicsEXPLORE BY TYPECustomer storiesEvents & webinarsEbooks & reportsBusiness insightsGitHub SkillsSUPPORT & SERVICESDocumentationCustomer supportCommunity forumTrust centerPartnersView all resourcesOpen SourceCOMMUNITYGitHub SponsorsFund open source developersPROGRAMSSecurity LabMaintainer CommunityAcceleratorGitHub StarsArchive ProgramREPOSITORIESTopicsTrendingCollectionsEnterpriseENTERPRISE SOLUTIONSEnterprise platformAI-powered developer platformAVAILABLE ADD-ONSGitHub Advanced SecurityEnterprise-grade security featuresCopilot for BusinessEnterprise-grade AI featuresPremium SupportEnterprise-grade 24/7 supportPricing

Search or jump to...

Search code, repositories, users, issues, pull requests...

Search

Clear

Search syntax tips

Provide feedback


We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.
You signed out in another tab or window. Reload to refresh your session.
You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

dune3d

/

dune3d

Public

Notifications
You must be signed in to change notification settings

Fork
73

Star
1.7k

Code

Issues
46

Pull requests
9

Discussions

Actions

Projects

Security
0

Insights

Additional navigation options

Code

Issues

Pull requests

Discussions

Actions

Projects

Security

Insights


dune3d/dune3d

 mainBranchesTagsGo to fileCodeOpen more actions menuFolders and filesNameNameLast commit messageLast commit dateLatest commit History825 Commits825 Commits.github/workflows.github/workflows  3rd_party3rd_party  scriptsscripts  srcsrc  wixwix  .cirrus.yml.cirrus.yml  .clang-format.clang-format  .gitignore.gitignore  CHANGELOG.mdCHANGELOG.md  CONTRIBUTING.mdCONTRIBUTING.md  Info.plistInfo.plist  LICENSELICENSE  README.mdREADME.md  check_dll.shcheck_dll.sh  check_version.pycheck_version.py  flake.lockflake.lock  flake.nixflake.nix  macos-launcher.shmacos-launcher.sh  make_bindist.shmake_bindist.sh  make_color_presets.pymake_color_presets.py  make_icon_texture_atlas.pymake_icon_texture_atlas.py  make_rc.pymake_rc.py  make_version.pymake_version.py  meson.buildmeson.build  org.dune3d.dune3d.desktoporg.dune3d.dune3d.desktop  org.dune3d.dune3d.metainfo.xmlorg.dune3d.dune3d.metainfo.xml  screenshot.pngscreenshot.png  version.pyversion.py  View all filesRepository files navigationREADMEContributingGPL-3.0 licenseDune 3D
Dune 3D is a parametric 3D CAD application that supports STEP import/export, fillets and chamfers.

Motivation
So why another open-source 3D CAD application when FreeCAD and Solvespace exist?
My primary use case for 3D CAD is designing 3D-printed enclosures for my electronics projects. I often found myself procrastinating designing the enclosure and attributed that to my dissatisfaction with the available open source 3D CAD applications.
While FreeCAD technically does everything I need, the way it's implemented isn't quite to my liking. My biggest pain points with it are the modal sketcher that only works in 2D, no constraints in 3D for extrusions and the perils of referencing things in the design.
Solvespace on the other hand gets the workflow part right, but falls short by not importing STEP and the geometry kernel not supporting chamfers and fillets.
Having solved the similar problem for PCB CAD by developing Horizon EDA, I began pondering whether I could pull off the same thing for 3D CAD. After all, what does it take to make a 3D CAD?

Geometry kernel to do extrusions, intersections, chamfers, etc.: While it's not a nice library to work with, Open CASCADE is the only viable choice if we want to have STEP import/export and fillets/chamfers. Fortunately, I have some experience with it from dealing with STEP files in Horizon EDA.
3D viewport: Obviously, we need a way to put 3D geometry on screen, zoom/pan and select things. The 3D preview in Horizon EDA already does all of this, so I have a well-understood codebase I can reuse.
Constraint solver: Unlike with Horizon EDA where things just stay where you last moved them, in 3D CAD, it's commonplace to specify where things go by means of constraints that need to be solved. Turns out that Solvespace's solver is available as a library1, so that part's also covered.
Editor infrastructure: Last but not least, we need code that takes care of the tools, undo/redo and all of the other bits and pieces that make up an interactive editor. While there'll be some differences, I felt confident that I could reuse and adapt the interactive manipulator from Horizon EDA.

With all of the building blocks available, I set out to glue them together to form a 3D CAD application. About three months later, it's somewhat presentable.
How to build
See the build instructions.
How to use
Similar to Horizon EDA, all tools and actions are available from the spacebar menu.
Use the "set workplane" tool to set a group's workplane.
Also check out the documentation.
Where to go with questions
The project's discussion platforms are a matrix room and GitHub Discussions.
Anticipated questions
Where do I find sample files?
See the samples repository.
Does it run on Windows?
See the build instructions for how to build on Windows.
Does it run on macOS?
See the build instructions for how to build on macOS.
Why not integrate it into Horizon EDA?
There's no place in Horizon EDA where a 3D CAD would make sense to implement. Also, I wanted to do some things differently and give Gtk 4 a try.
Why not improve Solvespace or FreeCAD?
Making FreeCAD parametric in 3D or putting Open CASCADE into Solvespace seemed to be too big a change to pull off as an outside contributor to either project. I also really like writing CAD software, so here we are.
Footnotes

I ended up directly using solvespace's solver instead of the suggested wrapper code since it didn't expose all of the features I needed.
I also had to patch the solver to make it sufficiently fast for the kinds of equations I was generating by symbolically solving equations where applicable. ↩

About

3D CAD application

dune3d.org

Topics

cad

parametric

3d-printing

3d

opencascade

Resources

Readme

License

GPL-3.0 license

Contributing

Contributing

Uh oh!

There was an error while loading. Please reload this page.


Activity

Custom properties
Stars

1.7k
stars
Watchers

27
watching
Forks

73
forks

Report repository

Releases
5

Dune 3D Version 1.4.0 "Einstein"

Latest

Jan 28, 2026


+ 4 releases

Packages
0

 

 

 

Uh oh!

There was an error while loading. Please reload this page.


Uh oh!

There was an error while loading. Please reload this page.


Contributors

Uh oh!

There was an error while loading. Please reload this page.


Languages

C
84.3%

C++
15.0%

GLSL
0.2%

Meson
0.2%

Python
0.2%

Shell
0.1%

Footer

© 2026 GitHub, Inc.

Footer navigation

Terms

Privacy

Security

Status

Community

Docs

Contact

Manage cookies

Do not share my personal information

You can’t perform that action at this time.

Dune 3D is a parametric 3D CAD application developed by the author, motivated by a desire for a more tailored 3D CAD experience than existing open-source options like FreeCAD and Solvespace offer. The primary impetus for creating Dune 3D stems from the author’s personal needs for designing 3D enclosures for electronics projects and dissatisfaction with the workflows of existing CAD applications. Specifically, the author found FreeCAD’s modal sketcher, lack of 3D constraints, and referencing issues problematic, while Solvespace, despite its workflow-focused design, lacked STEP import and support for fillets and chamfers. Leveraging experience gained in developing Horizon EDA for PCB CAD, the author embarked on a project to construct a comprehensive 3D CAD application.

The development of Dune 3D relies on several core components. These include a geometry kernel using Open CASCADE—chosen for its STEP import/export and fillet/chamfer capabilities—a 3D viewport mirroring the 3D preview functionality found in Horizon EDA, a constraint solver based on Solvespace’s library, and an editor infrastructure re-purposed from Horizon EDA’s interactive manipulator. The author utilized this integrated building block approach over three months to create a presentable 3D CAD application.

Instructions for building Dune 3D are readily available, and the application is designed for use similar to Horizon EDA, utilizing a spacebar menu for tool selection. Users should also familiarize themselves with setting workplanes and referring to the documentation for comprehensive operation instructions. The project utilizes a matrix room and GitHub Discussions as platforms for addressing questions and facilitating communication. Common questions anticipated by the author include locating sample files, determining compatibility with Windows and macOS, and reasons for not integrating the application into Horizon EDA or improving existing solutions like FreeCAD or Solvespace. The author’s decision to develop Dune 3D independently stemmed from a desire to explore different technologies (specifically, Gtk 4) and pursue a unique design vision.

Dune 3D is licensed under the GPL-3.0 license. The codebase includes files for various aspects, including core functionality (3rd_party, scripts, src), configuration files (info.plist), build scripts (check_dll.sh, check_version.py), and project-specific files (meson.build, org.dune3d.dune3d.desktop). The software supports a significant amount of C code, with C++ representing a considerable portion and GLSL, Meson, and Python contributing smaller but important elements. The project has also seen significant recent activity with the last release occurring on January 28, 2026.