CAD Functions

This page will deal with proposed CAD functions in Blender and is mainly a repository for my proposal to be shown on this DevTalk thread.


The experimental node can be found here, you will need Blender 2.8, with Animation Nodes installed, just put this in one of the node folders.

Here is the node, well actually just a picture of it:

The Mk 2 node code is located here, if you want to play with it, the node that is… 🙂

Precision Drawing Tools Add-on has now moved to this page.

I have also made the Popup Version an Add-on for Blender 2.8, this is available below:

No further development of this will take place, it has been replaced by the N Panel version.

12/08/2019: Minor Bug Fix, expect a few of these early on 🙂

11/08/2019: Initial Release.

Caveat Emptor this is version 1.0 and you will need Blender 2.8 only. It’s covered by GNU license so please don’t rip off the code and claim it as your own… It’s cr*p code anyway, so feel free to tell me how to improve it. I have tested it with Blender 2.8 on my MacBook, Windows in my house are used to let light in the rooms…

The file should be unzipped and the enclosed file loaded into you Blender Add-on directory, wherever that happens to be in your flavour of operating system. Then go to User Preferences and enable the Add-on (Search for it by name – Precision Drawing Tools)

The Add-on works in the 3D Window and the dialogues are called by using two shortcuts – SHIFT+P gives you this one:

And SHIFT+CTRL+P gives you this one:

The easiest to use is the first one and most options will be obvious to a CAD operator. The Operating Modes at the top determine whether you will be placing the Cursor, moving Objects, or Vertices, Placing new Vertices, or Extruding Vertices. PDT works in both Object and Edit Modes, although, for obvious reasons, you can only add vertices, or extrude vertices in Edit Mode (don’t know why I said that, it should be bleeding obvious….).

In Edit mode you will use Vertices as selections, in Object mode you will use Objects, so for Intersections, four objects representing two apparent lines that converge can be used to place the cursor at the intersection, for example. try not to over-think this, it is meant to be intuitive for CAD versed people. Non-CAD versed people, should follow the tool tips to get a better idea.

The next row shows the Working Plane and this applies to any function related to a flat plane operation, like moving, extruding controlled by a Distance and Angle, or finding an Intersection for example.

Then there is a row listing the Functions, which include working in Control Mode, or Reseting Values, or Measuring Angles and Distances between vertices, or Joining Two Unconnected Vertices together.

The Controls tell you whether you are working in Absolute (Global) coordinates, Delta Coordinates or Distance @ Angle coordinates, Percentages, Normal Intersection, or Convergence Intersection on the Button Dialogue. These are replaced with a command input on the Command dialogue.

Valid Commands consist of a letter followed by some parameters, here are some examples:

  • a1,0,2.4 – means Absolute, or Global input and will set the cursor to XYZ = 1,0,2.4 in Cursor Mode.
  • a,,2 – means Absolute input and will set the cursor to XYZ = 0,0,2
  • d1,0,-0.5 – means Delta, or Relative to a selected Vertex, or Object.
  • dx,y,z – means Delta using the values you have set with the Dis/Ang Functions.
  • dx,y,0 – means use set values for X & Y, but 0 for Z
  • v1,34 – means 1 unit at 34 degrees in the Working Plane.
  • p42 – means Percentage between two selected vertices.
  • p100/3 – means 33.33333333333333333333333333% approx 🙂
  • p700/8 – means 7/8ths of the way between the two selected vertices.
  • n – means Normal Intersect of the Active vertex to two other selected vertices, that might, or might not be an actual Edge.
  • i – means Intersect between two converging real, or apparent Edges denoted by 4 selected vertices, which should be selecting in order of first two are the first edge, second two are the other edge.

The Intersecting with the Move Mode, either the Active vertex, or both vertices will be moved to the intersection point depending on whether Trim/Extend Both checkbox is selected. The use of Flip Angle checkbox should be obvious, if angle is 34 it changes it to -146, etc. so flips it 180 degrees. Equally, the Flip % checkbox will change the end from which percentages are calculated.

ALL selections MUST be made with the cursor select, not Box select, etc. as these don’t add the selection to the Select History, this being the only way to get a selection order. When Blender fixes this so vertices selected with the C command, etc. are added to Select History, this will change. As you only have to select a maximum for 4 vertices for every operation, this should not be too difficult. Failure to adhere to this requirement will result in your armpits being infested with the fleas from a thousand street dogs, probably.

I will try to put more instructions and pictures on this page over the coming days, or weeks, but I have much to do, so if you get stuck, just get in touch via the Contact page and I will totally ignore you…. um I mean respond urgently!

Here is an example of the Intersect Command working to place the cursor:

The Order of Selection of the vertices was 99, 103, 100, 101. In this instance below, the cursor is at the Normal Intersection:

The Order of Selection was 112, 113, 114, the important thing being the last one as the Active Vertex is the one used to calculate the Norma Intersection with the other two, so they can be in any order – is that all very clear? I hope so, I am losing the will to live explaining all this…

Have fun and let me know if you want me to change anything! please excuse any typos, I have used my spiel choker, but it’s getting late here and I am getting very old, very quickly…

This page definitely is NOT finished as of 10 August 2019