You're blocking ads, which pay for BlenderNation. Read about other ways to support us.

Open Dental CAD


Blender is more and more becoming a platform for 3rd party applications. Take a look for example at 'Open Dental CAD' - a tool for crown and onlay design.

Open Dental CAD writes:

The Dental Design Tools Add-On is a collection of scripts which takes advantage of currently existing tools within Blender as well as adding some novel functions of it’s own. At the moment, it is capable of designing individual crowns and onlays based on digital models in .STL, .OBJ or .PLY formats.


About the Author

Avatar image for Bart Veldhuizen
Bart Veldhuizen

I have a LONG history with Blender - I wrote some of the earliest Blender tutorials, worked for Not a Number and helped run the crowdfunding campaign that open sourced Blender (the first one on the internet!). I founded BlenderNation in 2006 and have been editing it every single day since then ;-) I also run the Blender Artists forum and I'm Head of Community at Sketchfab.


    • When he says, it's for artists, I think he means, it's designed to be useful to artists as opposed to industrial design (CAD) and such.
      That obviously doesn't mean you can't do anything like that with it.

      Wow, Dental CAD Blender... I'm... amazed?

      • The funny thing is that CAD systems are (in my experience) much less user friendly then Blender. I would be much more happy if I could use the Blender interface instead of Solid Edge or Inventor. The two reasons that Blender is not suitable for industrial design are: 1) There is no proper solid modeling work flow. 2) There is no easy way to create technical drawings. Both things are easily fixed if there would be a Blender Foundation project combining engineers with programmers, instead of the artist + programmers that has been so successful. The problems with that are 1) finding engineers that would be interested in contributing to such a process. 2) Finding sponsors.

        • Inventor  hard? Is this Autocad Inventor you taking about, I remember in university we had one three hour Inventor class and that is all it took for us to learn Inventor coming from AutoCAD. AutoCAD we learned in five  2 hour class. Prior to this we had done 8 months of pencil, paper and drawing board work  .

          Solid modeling is piss easy compared to all this vert, edge, poly low level stuff you are stuck doing in 3d polygon packages. 

          with defined blueprints I could model a detailed and accurate engine in a day or two...I would love to see someone do that in any polygon 3D( I have seen someone do this and lets say he has been going at it for months now)

          So I am puzzled with the need to do CAD modeling in Blender. You model faster when you are not stuck there thinking about topology, edges, verts and all

          • I agree with this 99.9%. I've been an AutoCAD user for 16 years, and a Blender user for 12 months. When it comes to creating accurate models quickly, Blender is way, way behind AutoCAD (and presumably every other major CAD package).

            Blender is, and always will be, a tool for visualisation. I don't expect to be able to produce technical drawings with it. As things are, Blender is brilliant for producing "arty" type model, where the only requirement is that it looks good. It is not so good for producing models that are to scale, something that is vital to every architect, engineer, product designer.

            The frustrating thing is that just a few tools would remedy the situation:

            1. a proper snap system (snap to endpoints, midpoints, centre, perpendicular, tangent, intersection, quadrants);

            2. the ability to easily measure the distance between two points (I know you can display edge lengths, but that doesn't help measure the distance between two separate meshes);
            3. a proper layer system (an infinite number of named layers, please!);

            4. an easier to use User Coordinate System (a.k.a User Grid).

            These four things would be massively useful for lots of designers and would even have benefits for the artists: I've often watched with bewilderment when, for instance, Andrew Price, zooms right in to an area so that he can position something accurately by eye and then has to zoom right back out again. With decent snaps, this would be done pretty much instantly. (Although the zoom in method might only take 5-10 seconds, if you multiply that by potentially hundreds of times per day, lots of time is being wasted!)

            To balance my rant out, there are some excellent "CAD like" things in Blender. Typing "G; X; 10; Enter;" is as fast as any CAD program I've ever used, for instance. (As a comparison, in AutoCAD, assuming Polar is turned on and the object is preselected, the command would be: "M; Enter; click in drawing; drag out to the left; 10; Enter;" (or M; Enter; 0,0; Enter; @10,0; Enter;).

          • A CAD system would usually also need a much more sophisticated polygon mesh system, aswell as greatly improved curves, NURBS surfaces, etc...
            Though there are a couple of projects going on, that might eventually fix those issues.

            Hmm... I'd guess that it wouldn't even be difficult to extend snap- and axis-align tools to "relative Object coordinates" - if you did that, you could simply add in, say, empties, that are aligned how ever you might need them, and use THEIR respective axes to do any manipulations.
            It's probably even possible with a plugin...

            Given that aribitary Layer systems already exist in Blender (i.e. Materials, Particle Systems, ...), I'd guess that could be modded together aswell.

            The snap would be quite a bit more complex by means of my imagination.

            BMesh will solve a part of the mesh system and I'm pretty sure I've read about both a BlenderCAD branch as well as a NURBS improvement branch.

            If those are integrated and BlenderCAD also improves the snapping, all your needs probably are fullfilled.

            Though, BMesh wont be a full-fledged mesh system as CAD Tools would have, afaik... Those apparently would have been too memory-/time-intensive.
            One thing that Blender always tries to keep is backward-compatibility, coupled with good performance on even fairly weak machines.

          • As one who has a degree in drafting, I have to say that I would LOVE for Blender to have snapping!  Vertex, edge, and face snapping (with auto remove doubles) would be HUGE.  To me, this would be almost as important as joke.

            And a grid system that works would be awesome, currently it seems it defaults to local which is frustrating at times.

          • (OpenInventor Clone) (Open Cascade, CAD kernel)
   (Open Inventor)
   (Visualization Toolkit)

            Blender can be used in a pipeline of opensource solutions besides it can be used for parametric too is just the interface of it doesn't help.

            Blender can handle resolutions of 0.00001(I believe, but I think it is  higher than that and it is more than enough for anything except maybe nanotechnology)

            The problem really is the interface, the under the hood stuff is all there except for capacity, in the case of engineering tools those can handle much more than Blender can, as I have experienced, but they can't do beautiful renderings at the moment, but I digress returning to the point of interface that is what OpenDental here does it uses everything that Blender already has and put it in a way that others can work with it.

            About snapping:

            But IMHO Blender only needs to find out how to deal with millions of vertices like some of the other tools. This would allow sculpting in blender to become ultra realistic and that would be cool, as for the other parametric things, well that can be done in Python at the moment, all the things needed are already there is the case for someone to start create or start creating something like that and lets face it, this needs to come from engineers not artists, because those are the people who know what they need but I'm sure Blender developers would be glad to guide them into the secrets to understand how Blender communicates with python.

            Maybe someone could resuscitate the ProCAD plugin.

            Or see if the CADTools is still up and running.

            Remember with emptys and proxys you can emulate anything. Ok I made that up right now but it is true if you need to measure something you can create a line and measure that line and erase it after, if you need to snap to some point you can create that point in space and snap anything to it and delete the point after, now how to do it in Python?

          • Vertex-, Edge-, Face- and Volume-Snapping already exist.
            There is also an option to have auto merge.
            Just more advanced snapping methods as commonly used in CAD systems are absent.

          • I still think trying to shoehorn a polygon modeller to do CAD work will always be fundamentally flawed. there is no way for example to do things like an accurate circle, all circular features in polygons are just mathematically speaking equilateral and equiangular polygons the are not circles. You can highly subdivided them but the are defined in the mesh structure as just a bunch of straight edges joined to this and that edge. I don't think the mesh data structure will actually define a feature as a circle with radius x or an arc sweeping through an angle of y degrees. Everything is stored as a list of vertices and specific edge or face connectivity.

            The other problem is really forcing the users to deal with topology on a low level this is required for when you are modelling for movies, games but for CAD work I seriously think working at such a low level would absolutely slow you down to a catastrophic level. Time is never something that is on my side when I have projects.

            I think that at a very fundamental level polygonal data structures are just not robust enough for CAD work, because the were not essentially built for this line of work. the are like F1 cars built and streamlined for a very specific purpose.

            The are FOSS CAD programs and I have tried a few. I have yet to find one that I like and perharps that is the general problem as Engineers that there is no really no solid FOSS CAD program. Maybe if we had that we wouldn't try turning blender into a full on CAD program

          • Have you test it?
            Export a cylinder to an STL file and open it with a CAD program and measure it.You be surprised.

          • Well, that's probably the point:

            Blender is for artists. Not for CAD-using designers.It can always implement more and more features that could be useful for CAD, but in the end, if anything, there will be an extra version programmed from scratch:BlenderCAD
            Maybe called... who knows... Twister? Mixer? Shredder?
            Something like that...
            (Or maybe simply BlenderCAD)
            And it will be CAD-like from ground up and thus hardly usable for CG-artists.
            It could have, like, a very solid connection between the two softwares by having a shared native file system (.blend) that could append any object from either program to be usable undestructably...


          • I think you are correct, CAD is fundamentally different from artistic design.  It is very much like the difference between architects and engineers.  2 separate programs that are tightly integrated would give us the best of both worlds.

          • Cuauhtémoc Jacobson on

            i would love better and more snapping options in Blender too, like snapping along extrapolated edge, parallels, etc. with keyboard shortcuts (current snapping in Blender has no keyboard shortcuts afaik)!!!

  1. There needs to be an easy way to move objects ACCURATELY in Blender.

    Try this:
    Draw five default cylinders at the same elevation.
    Now stack one on top of another to form one column.

    This simple operation is very convoluted in Blender.

    The easiest way I've found is to create an empty to assist in the moving of objects, with snaps turned on, snap element to "vertices", snap target to "active".

    If you have a better idea, do tell!

      • You missed the point of my post.

        How would you stack a sphere, cone, cylinder, and monkey head?

        In AutoCAD you have to select a base point to 'pick up' an object from before you can move it and set somewhere else.  This is one thing that I've always thought was missing from Blender.  Of course there is a convoluted work around, but that is my point: There needs to be an easy way to move objects ACCURATELY in Blender.

        • The array modifier is way simpler and more flexible for this kind of stuff than picking up a base point and making the object move from there.
          You can also use the Array modifier to move along a certain axis and set relative offset in z to 1 and all other offsets to 0

          Though I know what you mean if projected to a more complex scenario.

          However, that base-point based pick up shouldn't be a requirement but an option.
          REQUIRING that to happen would make anything you do way more accurate, that's true. But it would also be way slower to work with it in case accuracy does NOT matter so much - which is the case for 99% of current Blender users.

        • Hmm, thinking of it, this might be implementable by, for instance, keeping G pressed, rather than making it only tab-based.
          In that case, as I'd imagine such a tool to work, you could select a certain pick up point that then can be used for snapping and similar stuff.
          Could be generally used for stuff like rotations (rotate along the tangent space of that point, for instance - z would be the normal, x and y different plane axes and combined with some user-defined coordinate system (e.g. an empty arbitrarily placed in space, that defines axes you want to displace an object along), you could also get off-axis angles....

          An other nice thing would be to basically rotate the tangent plane along the normal, so you could quickly get other set axes... e.g. use a shortcut that gives you access to rotate the tangent space that's currently in use...

          Really a lot could be done in that direction... If you just know how...

          • You guys are still missing the point here.  The Array modifier will work only for identical objects.  But how would you stack up a sphere, cone, cylinder, and monkey head, one on top of another, exactly from one vertex to another vertex.  The Align add-on might work but only to position objects at the min/max points.

            Here is Google Sketch-Up explanation of precise move (15 seconds of this video):

            Earlier in this thread Gary Worton said:
            " . . .I've often watched with bewilderment when, for instance, Andrew Price,
            zooms right in to an area so that he can position something accurately
            by eye and then has to zoom right back out again. With decent snaps,
            this would be done pretty much instantly . . ."

            The only thing missing in Blender for precise moves is a way to select a "pick up" point, or ability to pick any part of an object as a reference point from where to move.  Blender calls this the 'Snap Target' in the snap feature, and the choices are: closest, center, median, active, and what's missing is a way to click on any point as reference.

            Not sure is this is making any sense.

          • Well, I did NOT miss the point. I told you, for more complex situations I see where you're comming from.
            For simple axis aligned or simply rotated stacks of one and the same object, arrays are perfect. Once you have more than three objects (you could always define a stat object and an end object), arrays probably become pretty unusable.

            Though there are ways to make blender accurately stack things. It's a little roudabout though.
            Required a lot of fiddling around with helper meshes, empties, the 3D cursor, different options for snapping and other such things.
            It's not an easy task, but for most cases, it will work.

          • I can see how this could be implemented in the align script, making it possible to select one vertex on the mesh creating an empty, parenting the empty to the mesh and aligning the empty and when finished deleting the empty.

            Now who is the brave one to go there and take a look at that?

          • ##Align all
            def main(context):
            for i in bpy.context.selected_objects:
            i.location = bpy.context.active_object.location
            i.rotation_euler = bpy.context.active_object.rotation_euler

            SVN: Space View3D Simple Align Script

            I think with some conditions inserted there one could make it distinguish between a full object and a vertex, if it is a vertex it creates an empty and it parent it with the object and move that and when it is done it deletes the empty.

  2. What does he mean "
    Blender is more and more becoming a platform for 3rd party applications "?  How is it a 3rd party application?  Sounds odd that way

  3. the download link on doesn't work (even if I register and login). Is there some other place where I can get the add-on that allows working with Blender on dental cad ?
    Thanks ! 

Leave A Reply

To add a profile picture to your message, register your email address with To protect your email address, create an account on BlenderNation and log in when posting a message.