Making an Add-on for Precision Drawing Tools (CAD)

OK, so while Mrs. C. is out walking (I am lounging around on the ship with a drink, or two) I thought about this and I think one change will rectify this for empties:

Line 159 in is currently this (it checks object type):

        if obj.mode not in {"OBJECT", "EDIT"} or obj.type != "MESH":

if it is changed to this:

        if obj.mode not in {"OBJECT", "EDIT"} or obj.type not in {"MESH", "EMPTY"}:

The system will then allow you to move Empties - what I am not sure of is whether this might make other things fail, since I cannot test it. This will also let you parent many objects to an empty, then move it and the child objects will follow.

I will test this when I get home.

Cheers, Clock. :grin:


You could try this yourself, it is only one minor change, but backup PDT first! (I hope you appreciate the effort it takes to type this sort of stuff on a phone…)


@eobet Fixed in this commit - you should alter the file in PDT add-on to reflect the change.

Cheers, Clock.


Just a quick heads up that @clockmender has asked me to release v1.3.0, which is now up on github.

This release includes the new tangent functionality and the “allow empties” tweak outlined above, both courtesy of @clockmender’s excellent work.


Thank you @ermo, I will always be in awe of how you weave your magic to produce these releases from the messes I leave on GitHub! :grin:

On another note, I was looking at some of the geometric procedures I developed in Animation Nodes some while ago. This included Graph Plotters and Trigonometrical Generators. Details are found on my website here and here.

So, the question is; Does anyone feel that these functions might be a good addition to PDT, I am thinking particularly of the Trig Generators that produce Sine, Cosine & Tangent graphs?

Here is an example of a mesh produced from said functions:

Some of the functions rely on time, so are only applicable in producing animations, like the “Bounce” function, anyway let me know if I should look at porting any of this stuff to PDT.

Cheers, Clock. :cocktail:


What is that CAD software?
Looks unfamiliar)

It’s just Rhino with my custom icons (I’m used to Alias so I had to create a really simple custom toolbar in order to re-train myself). :smile:


Interesting solution =)

About your 1pt and 3pt basepoint snapping proposal - they were realized in NP_Station by Okavango some time ago, do you mean that NP_Station should be built in PDT, or PDT should borrow some NP functionality?

Here is a short demo with 1pt, 2pt and 3pt basepoint alignment from NP

Also hopes that snaps development will progress as well.


I would be happy to do either if that is what is wanted, with your permission of course!

Cheers, Clock.

Im not a hoster of NP, Okavango is.
I just ordered several improvements to my local developer and released the result there.

1 Like

Good News, @Okavango is happy for us to “borrow” his alignment code, so that will go in later, meantime:

The Trigonometrical Waves Generator is now built and under testing:

It works in the Working Plane as all other PDT functions, just needs some more testing and a few DocStrings to keep @ermo happy… :rofl:

I will upload this once I have tested the fudge out of it and am happy it will not break.

Cheers, Clock.


Just spotted a youtube video of this nice addon.


Yes, we have just started making them, by “we” I mean @MarkerTales… We intend to make this more widely known once he is happy that he is well under way with the planned series.

Cheers, Clock. :wink:


Well, we are actually fighting for obtaining such possibilities by default, and afraid that devs will say something like “hey, you already have an addon for this”.
So this is certainly good news, but you need to be more careful with it)

1 Like

Noted! We certainly don’t want to tread on any toes here, maybe you can PM me with your plans in this regard. If you don’t want us to incorporate the Align tools from NP_Station, just say and we will respect your efforts to get them in Blender.


Fun with Trigonometric Waves:

This one was a Sine wave as you can see from the PDT Menu… :mag:

Cheers, Clock. :rofl: :shushing_face: :face_with_hand_over_mouth:


Update: As of today 13/05/2020, PDT Version 1.4.0 is now available on GitHub and shipping with the nightly builds of 2.83 Beta.


We have altered the Parts Library functions so the library file (you create this yourself, it is just a blend file to store all your standard parts, collections and materials) is now specified in the Parts Library UI, not in the Add-on’s Preferences as previously.

The new Trigonometric Waves functions are now added, these produce sine, cosine and tangent waves in the specified object in the PDT Working Plane. You can specify whether this object is emptied first and the parameters for the wave. Here is a sine wave produced in 2.83 Beta:

This wave can then be extruded, spun, or whatever to make a 3D mesh, see example in previous reply. I have yet to add this to the Wiki, but it is on my ToDo list, also to alter the instructions for Parts Library file selector.

Note that one Cycle in Trig Waves is 180 degrees, not a full revolution, this is because you might want to go something like 540 degrees, to make a model of Mae West for example. I might consider changing this to a number of degrees, not sure yet whether that might cause unnecessary confusion.

I should like to thank @ermo for his sterling efforts in sorting out the messes I leave on GitHub, this is invaluable work and something I am still not good at…

Cheers, Clock. :face_with_hand_over_mouth:


Fantastic! However, it is good to specify that it is also present in 2.90 alpha, if someone is wondering


Version 1.4.1 is now on GitHub, it solves a problem with using Imperial units for Fillet Radius and Tangent Radii, these were not defined as “LENGTH” FloatProperties (D’Oh).

Cheers, Clock.


Some general info when using Inches setup in Blender, two pictues:

First one; Unit Scale set to 0.0254 Cursor set to 1 inch - reads correctly. Second one, Unit Scale set to 1, Cursor reads 39.37 inches, You need to set this to avoid issues with Blender…

Cheers, Clock.


Coming to 2.90 :partying_face: