CAD Sketcher for Blender: constraint-based 2D sketching inside a 3D DCC
Constraint-based geometry sketcher for blender
At a glance
- What is it?
- CAD Sketcher is a GPL-3.0 Blender extension that adds tangent, distance, angle and equal constraints to 2D sketches, keeping them editable and non-destructive. It is not a full parametric CAD package, and the README calls it experimental.
- Who is it for?
- Adopt CAD Sketcher if you already model in Blender and want dimensioned, re-editable 2D profiles without leaving the viewport. Do not adopt it if you need a full parametric history with assemblies and drawings, or if you cannot accept the README's warning against using it on production files without a backup.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 2 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The gap CAD Sketcher fills between Blender modelling and dimensional sketching
Blender's native modelling tools are direct: you move vertices, bevel edges, and the result is whatever you made. There is no built-in way to say that one edge must stay tangent to an arc, or that a segment stays 40 mm long when you drag a neighbouring point. CAD Sketcher adds that layer. The README describes it as a "Constraint-based sketcher extension for Blender" whose purpose is to "create precise 2d shapes by defining a set of geometric constraints like tangent, distance, angle, equal and more." The audience is people who already work in Blender and want dimensioned profiles for parts, cutouts or extrusions, rather than people shopping for a standalone CAD application. The README is explicit that sketches "stay editable and support a fully non-destructive workflow," which is the property direct mesh editing lacks: change a dimension later and the geometry rebuilds instead of being rebuilt by hand.
How the constraint solver, operators and model layer fit together
The repository layout shows the split clearly. A top-level curve_solver.py sits alongside model/, operators/, stateful_operator/, drawing/, gizmos/ and ui/. The naming implies the flow: sketch entities and constraints live in the model layer, Blender operators create and modify them, and the solver computes positions that satisfy the constraint set while the draw handler and gizmos render the result in the viewport. stateful_operator/ suggests operators that carry state across steps, which is what a multi-click constraint tool needs (pick entity, pick entity, enter a value). serialize.py and versioning.py exist because sketches are stored data that must survive extension updates, and units.py indicates that distance and angle values are unit-aware rather than raw floats. There is also a testing/ directory with run_tests.sh, run_tests.bat and interactive variants, so the solver and operators are covered by an automated suite rather than only manual checking. None of this is documented in the README itself; it is what the file names support.
Installing CAD Sketcher in Blender 5.0 from the extension repository
The README states a minimum version of Blender 5.0, so check that first. The recommended route is to add CAD Sketcher as a remote extension repository, which lets Blender install and update it in-app. In Blender, open Edit > Preferences > Get Extensions, open the repositories drop-down (the arrow in the top-right corner), and choose Add Remote Repository. Paste this URL, tick Check for Updates on Startup, and confirm:
https://hlorus.github.io/CAD_Sketcher-extensions/stable/index.jsonAfter confirming, CAD Sketcher appears in the extensions list and you press Install. The README notes that alternative methods exist (ZIP file, legacy add-on, git) and points to the installation guide for those, along with solver-dependency and Python-version notes. For a first real sketch, the README does not walk through the tool itself; it says to follow the getting started guide to become familiar with the extension. That is where you will find the actual constraint workflow, because the README stops at installation.
The experimental warning and what it means for production files
The README carries a warning banner: "Experimental extension: This is still work in progress, don't use it on production files without a backup." That is the project's own framing, and it should shape how you adopt it. A constraint solver is a numerical component: when a sketch is over-constrained or under-constrained, the failure shows up as geometry that jumps or refuses to move, not as a clean error dialog. The README does not document rollback behaviour, nor does it describe what happens to existing sketches when the extension updates, even though versioning.py and serialize.py exist in the tree. Treat the versioning code as a signal that the storage format does change, not as a guarantee. The other boundary is scope: this is a sketcher, not a CAD kernel. There is no mention of extrusions, fillets, assemblies, drawings or a feature history in the README. If your task is to produce a manufacturable part with a parametric tree, the sketcher is a component you would need to pair with something else.
CAD Sketcher compared with FreeCAD and Fusion 360
The comparison people search for is CAD Sketcher versus FreeCAD or Fusion 360, and the difference is architectural. FreeCAD and Fusion 360 are parametric CAD systems: a sketch is one node in a history tree, and downstream features (pad, pocket, fillet) rebuild when the sketch changes. CAD Sketcher is an extension inside Blender, so the sketch sits in a 3D content-creation environment with Blender's modelling, shading and rendering tools around it, and the constraint set is what carries the parametric intent. That makes CAD Sketcher a better fit when the end product is a Blender scene, a render, or a mesh you will keep editing in Blender. It is a worse fit when the end product is a drawing package or a manufacturing-ready parametric model, since those downstream steps are not part of what the README describes. The trade is real in both directions: you gain Blender's ecosystem and lose the feature history that a dedicated CAD application provides.
Licence, maintenance and upgrade cost
CAD Sketcher is licensed GPL-3.0, which matters if you plan to redistribute it or bundle it with a Blender build; GPL-3.0 carries obligations that a permissive licence does not, and the LICENSE file in the repository root is the authoritative text. This is not legal advice, and if redistribution is part of your plan you should read the licence yourself. On maintenance, the repository is not archived and the last push was on 2026-09-23, so the project is current. Release tags show a steady cadence: v0.31.0 on 2026-09-09, v0.31.1 on 2026-09-10, and a "latest (main)" tag on 2026-07-24. The upgrade path is mostly handled by the extension repository mechanism: because you tick Check for Updates on Startup, Blender can pull new versions without a manual reinstall. The cost is that you are tracking a moving target on a project that labels itself experimental, so version pinning and backups are the practical mitigation rather than a slow release cycle.
Editorial conclusion
Adopt CAD Sketcher if you already model in Blender and want dimensioned, re-editable 2D profiles without leaving the viewport. Do not adopt it if you need a full parametric history with assemblies and drawings, or if you cannot accept the README's warning against using it on production files without a backup. Before committing, confirm your Blender build is 5.0 or newer, check the installation guide for solver-dependency and Python-version notes, and read the roadmap to see which sketcher features are still listed as pending.
Frequently asked questions
How do I install CAD Sketcher in Blender?
Add the extension repository URL https://hlorus.github.io/CAD_Sketcher-extensions/stable/index.json under Edit > Preferences > Get Extensions > Add Remote Repository, then press Install. Blender 5.0 or newer is required.
What is CAD Sketcher?
It is a constraint-based sketcher extension for Blender that creates precise 2D shapes by defining geometric constraints such as tangent, distance, angle and equal. Sketches remain editable and the workflow is non-destructive.
How can I create a CAD sketch in Blender?
Install CAD Sketcher, then follow the getting started guide linked from the README, which is where the constraint workflow is covered. The README itself only documents installation.
Is CAD Sketcher free?
The project is licensed GPL-3.0 and the repository is public, with donations accepted through Open Collective and GitHub Sponsors. The README also lists a preferred download method via Gumroad.
Is there a CAD plugin for Blender?
Yes. CAD Sketcher is distributed as a Blender extension, and the README also mentions alternative installation methods including a ZIP file, a legacy add-on and git.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/hlorus-cad-sketcher)