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

Mr. Testure are you suggesting I am too old to be a student? As a Granddad, I have to agree with you. :rofl::rofl:

Being serious for a minute, which I find difficult, I should be happy to help a student implement some of the PDT ideas in Blender. I must also say that without @ermo whipping my shoddy coding standards into shape, PDT would not be where it is now. I am happy to share my ideas, but maybe someone else should implement them into Blender native code. I am far too old to learn another new language, like C++, or whatever Blender is written in.

Thanks for the kindness, Clock.

3 Likes

Congrats Mr. Clock and ermo, love this project and your enthusiasm! :beer:

3 Likes

@testure @clockmender

well mr clock in this field of developing is all a continuous study so for me it is a student. :grin:

3 Likes

So, I have decided to make something useful - this is a book scanner:

I will finish the model, then I will explain in minute detail how it was drawn in Blender using PDT on our Wiki - this will take some time and will include all the workflow ideas and principles. Then I will produce engineering drawings, then we may well build a real oneā€¦ It is designed to scan books up to A3 size and up to 5cm thick.

Cheers, Clock. :cocktail::coconut:

EDIT:

Of course, being me, it will be fully rigged to make a video of how it works.

17 Likes

Just a quick note that I committed PDT v1.1.5 to the github master branch earlier today.

This was actually in preparation for committing a trimmed version to the official Blender addons/ repo, so PDT will now officially be included in the Blender-2.82 release. :star_struck:

Over to you clock; you mentioned something about the necessity of posting pictures of farting penguinsā€¦? :penguin: :dizzy_face: :crazy_face:

7 Likes

Thanks mate, now I have to explain this comment of yours:

So, @ermo asked me to draft an announcement of our success in getting PDT into Blender and he was most insistent that the post contain no ā€œClock Humorā€, I accepted his wise council and sent him a draft for approval. Then the devil in me prevailed and I asked ā€œCould I include a picture of a farting penguin?ā€, ā€œNOā€ was the firm and wise reply, so none appeared. But the devil is still there, I was born on Friday 13th and as such, am the ā€œSpawn of the Devilā€, so here is an example for my good friend and co-conspirator:

penguin
You will notice the penguin in the foreground is slowly keeling over.

This little chap is practicing his new found skill, the ā€œOne Leg Raised Trouser Coughā€, where one leg is raised at the start of the gaseous event and slowly lowered, reaching the floor at the eventā€™s conclusion. This new found skill may, or may not, be linked to the recent trip to Antarctica of a certain Englishman.

Cheers, Clock. :stuck_out_tongue_closed_eyes:

5 Likes

OK, enough penguin tomfoolery (for now) I have made some progress this afternoon:


Shown with the cradle lifted onto the glass plates for scanning.

I need to add an LED light to illuminate things and a shed load of bolts, but the design is about complete, you will notice the two compact cameras used to capture the pages. I need to find a camera that can be fired via USB from a computer, rather than building a device to press the two shutter buttons. That would be a better solution as the images are captured immediately onto the computer. I also need two bungee cords to take the weight of the cradle and book so the user doesnā€™t have to lift the entire weight.

Cheers, Clock. :cocktail:

3 Likes

Does a PDT workflow mean hard surface modeling using modifiers and create step or igis based files (as that can be a way to get blender into the cad cam areA. )
Iā€™d be highly interested to all design with blender.

please make tutorial for pdt
there is any tutorial or help

1 Like

Iā€™ll get back to you tomorrow, itā€™s late here! But I can say beyond Edge-Split, Bevel & Mirror (Always Applied) I donā€™t use many for this kind of work.

As detailed here (Click Documentation button):

help

There are no video tutorials yet, but we are going to do some, it just takes time. Also as mentioned earlier, I am going to explain exactly how the scanner was modeled, workflow, CAD practices, the lot, again it will take some time.

7 Likes

Hello guys, Iā€™m following in silence the development of this addon since the beginning and itā€™s just stunning the work youā€™re doing. Sure itā€™ll need a lot of tuning, tests, documentation, etc but, man, I love the passion youā€™re pouring into this :star_struck:

Keep up the great work!

5 Likes

hi, just a note here that PDT has made it to 2.82 blender release!
Thereā€™s still some tweaks and work to do, these will come in time.
Congratulations to Clockmender and thanks to everyone involved.
It all started here and now we have a new addon. What an awesome accomplishment!

8 Likes

With a lot of help here - thank you to everyone!

1 Like

I am not sure at this stage if export to STEP is available in Blender, or IGIS for that matter, but I will look into it. Making an exporter is beyond my knowledge at the moment. As far as modelling is concerned - PDT is mainly aimed at CAD Designers, but the tools will also be useful to Blender Artist.

One of our next steps is to make dimensioned technical drawings from PDT and to look at tool-paths - simply at first, like laser cutting plywood for example. This may be better accomplished by exporting the meshes to another software. Making ā€œ2Dā€ drawings from a model is something we have made experimental code to do, but much more work is needed.

Blender is so capable when it comes to precision work and also far better priced than traditional CAD packages. Whilst it is not the intention to get to the level of sophistication of top-end CAD software, it might be nice to make Blender a good ā€œmid-rangeā€ CAD tool.

So, does anyone know if there are STEP, or IGIS exporters for Blender and if not, is anyone able to produce one?

Cheers, Clock.

2 Likes

Is it? I thought there is precision issue with blender working in ā€œintā€ not ā€œfloatā€ or something like that ?

I donā€™t know why itā€™s not directly activated, itā€™s probably still experimental

2 Likes

This level of accuracy is available to the API programmer - hence is in PDT:

You can see the X location of the cube is to 16 decimal places in this case (6 decimal places of metres is one micron, or 1/1000mm). I think 16 places is about one atomā€¦ (I may be wrong here, I did not check this ludicrous claim of mineā€¦) :rofl:

I checked with a maths function also - same result - 16 decimal places.

Hope this allays any fears about Blenderā€™s accuracy! Itā€™s not about what Blender displays in the Transform Boxes, itā€™s about what you can programme with.

Cheers, Clock. :grin:

EDIT:

Now I have my new toy - MacBook Pro I7 - 16Gb RAM 512Gb SSD 1.5Gb Graphics Memory - man it is fast! :fast_forward:

2 Likes

Sorry to burst your bubble, but you cannot get 16 digits of precision for Blender vertex positions. Inside Blender, all coordinates are represented with C ā€œfloatā€ type (6 digits of precision), not ā€œdoubleā€ type (16 digits of precision). Python, which you are using in the api, using doubles for all of its non-integer numbers. So when you do sqrt(2) in Python you indeed get that value to 15 digits of precision. But if you assign it to a vertex coordinate and then read it back into Python it well get truncated to 6 digits (about) of precision, and then when it comes back out into a double, you get a different value. I just tried this:

>>> me.vertices[0]
bpy.data.meshes['Cube'].vertices[0]
>>> me.vertices[0].co
Vector((1.0, 1.0, 1.0))
>>> me.vertices[0].co = Vector((1.0, 1.0, sqrt(2)))
>>> me.vertices[0].co
Vector((1.0, 1.0, 1.4142135381698608))
>>> sqrt(2)
1.4142135623730951

Donā€™t be deceived by the fact that the coordinate of the Vector has digits that goes beyond 6 ā€“ that is spurious looking precision caused by converting from binary to decimal.

It is very fundamental throughout a large amount of Blenderā€™s C code that coordinates are floats, and while there are occasional threads discussing changing this to double, that is unlikely to happen at this time (there are a bunch of cons to balance out the pros).

7 Likes

Eeeeek! I stand corrected, but 1 micron is still good precision when using 1 Blender unit per metre, Iā€™ll stick with that as you can always use 1000 Blender units per metreā€¦

Thanks for the heads up!

2 Likes

Man it has been a long time indeed since I tried to learn programming . I didnā€™t remember double and floats and used ints and floats instead lol . thanks for the clarification

1 Like