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 Include my email address so I can be contacted Cancel Submit feedback Saved searches
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. Dismiss alert dune3d dune3d Public
Notifications
Fork
Star Code Issues Pull requests Discussions Actions Projects Security Insights
Additional navigation options
Code Issues Pull requests Discussions Actions Projects Security Insights
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 Motivation 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. 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. 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. About 3D CAD application dune3d.org Topics cad parametric 3d-printing 3d opencascade Resources Readme GPL-3.0 license Contributing Contributing Uh oh! There was an error while loading. Please reload this page. Activity Custom properties 1.7k 27 73 Report repository Releases Dune 3D Version 1.4.0 "Einstein" Latest Packages
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 C++ GLSL Meson Python Shell
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. |