CAD Addon: Exact Edit alpha, for precision distance, scale, and rotation adjustments

Exact Edit alpha (formerly Exact Offsets / xOffsets)

News: Discontinued! Exact Edit is now the “official” successor to Exact Edit alpha and most of the Exact Edit alpha features will be transferred over. For more information on Exact Edit please see this thread.

Download Links:

I occasionally do light CAD work in Blender (mostly cleaning up STL files I find on sites like thingiverse before printing them) and wanted something to make the job easier. Exact Edit alpha is what I came up with. It’s a mesh editing tool that allows you to precisely set the distance, scale, and rotation of mesh objects using vertex locations. It works in both Object and Edit Modes, with the operation performed being dependent on which mode you are in when a new distance or rotation is entered.

Note: Exact Edit alpha now has an “official” Wiki page available with documentation on how to install and use it. As the docs are now available on the wiki page, I have removed the docs from this thread so I don’t have to maintain two separate (but identical) doc pages.

http://i.giphy.com/l0O5AsgvSEKTiwiRy.gif

http://i.giphy.com/3o84Ua7RH8Y2STU4PC.gif

New features in version 002:

http://i.giphy.com/xUPGcjbSuyI6cjpNQY.gif

http://i.giphy.com/xUPGcpo18QdATQOF4k.gif

very cool!

Nice one. Hopefully this will evolve into a parametric solution like in other parametric CAD packages like SolidWorks or Inventor where the geometry can be driven by dimensions and constrains. Also I will love to see something like Inventor’s iLogic in Blender.

Very interesting. Thanks

That’s a lofty goal, lol. Just a one person team working on this part time for now. My current goals for this are just cleaning up the messy code and getting spherical rotations to work right (left sphericals out of the 1st release, multivariable calculus is hard, especially when you don’t have a good math / engineering background).

Blender actually does have some parametric features already built in through the Python API, but it’s closer to what you would see in OpenSCAD than iLogic. I’ve done some experimenting in that area (stair making script), might make a post on it here in the future. If you’re interested in the parametric front, that’s where I would start. I would also recommend looking into the Sverchok add-on and a fairly new one called Vraag Construct that are based around a parametric workflow.

this is big helpfully , thanks !!!

Thank you! We can’t get enough cad tools!
Would be create if you add the Hotkeys as header or display info!?
Also to cancle it with a right click, for a faster workflow.

Finally was able to get spherical (arbitrary axis) rotations working! No 002 release just yet (right now spherical rotations only works with a single vertex).

I’m not sure what you mean by hotkeys as header or display info. Do you know of another Add-On with this kind of feature that could be used as an example?

By cancel it do you mean exit the Add-On? I had Right Click setup to Exit the Add-On in one of my early prototypes, but found I kept wanting to change what was selected while the Add-On was running (for debugging and doing multi-item moves) so I re-enabled the default Right Click functionality. I might be able to add something like “Exit if both Mouse buttons clicked at same time”.

Very nice!!

Hy nburn!

I mean when you run the the operator you can see the further hotkey in the header line or on the 3d view window like you xyz-axis constraint.

example for header info (here flip to bottom):
mira poly loop: https://www.youtube.com/watch?v=_RUW3aJh7X0

example for 3D view:
caver > https://blenderartists.org/forum/showthread.php?400038-Carver&p=3056886&viewfull=1#post3056886
np point distance > https://blenderartists.org/forum/showthread.php?399525-AddOn-NP-Point-Distance-(measuring-tool)&p=3072333&viewfull=1#post3072333

Maybe cancel (exit it) with middle mouse button?
Anyway, thx for sharing it!

I realized that the tool can move a single selected loop,
but when i try to move more than one loop, only the last selected will be shifted.
Is it possible to let the tool shifting more than one loops with the same measure distance? (chain dimensioning)

I was considering something like the 3D View hotkey references in Carver and NP Point Distance. I can look into something like that once the core functionality of this add-on is further along, but it’s not a priority right now. I’m not sure what you’re referring to in Mira Poly Loop video. Is there a specific time frame when the header hotkeys are visible in that video?

I don’t want to have the Middle Mouse set to cancel as the Middle Mouse is used for rotations/panning by default and I’d like to keep that functionality available while the add-on is running.

Would you mind going into more detail? I’m not much of a CAD person and am not sure what you mean by “move more than one loop” and “chain dimensioning”. The current setup for this add-on is to use the Free-to-Anchor difference (whether by distance or angle) as the “driver” for the rest of the multi-selection transforms. With the translation or rotation applied to the “Free” point being applied to the rest of the objects that are selected (if the Free point was selected before clicking “OK” in the pop-up dialogue.

Edit: Wait, I think I might get the idea. Is this something similar to Blender’s “Proportional Editing” where not just the distance between the Free and Anchor is changed, but the distances between all selected points are changed to match the new distance you input?

Update: Alpha Version 002 released! (xOffsets_alpha_002.py)

I fixed several bugs in the first version (now a reference point won’t be set if the mouse cursor is not close to a vertex (prevent unpredictable selections) and a few others. I also added 3 new features. Please refer to the first post in this thread for the download line and more information.

Not calling this the Caddon is such a missed opportunity.

lol. I actually thought about going with something like that. Didn’t want all the “what does it do?” posts and also wanted to avoid making it seem like this would be the “one CAD add-on to rule them all” given the quality of the other CAD add-ons available.

Very sound reasoning!

Bug Fix Update (xOffsets_alpha_003.py):

I discovered a few annoying bugs and other odd issues when reviewing the Add-on’s code. These are issues I had missed or wasn’t able to fix before the last release. The 003 update fixes the bugs listed below:

  • Fixed selected items becoming unselected after object mode transformations
  • Disabled axis warnings that were showing up where they shouldn’t be
  • Fixed issue preventing reference points from being changed when angles measured 0 or 180 degrees
  • Blocked negative measure values for scale mode

Non-bug related changes:

  • Added the ability to enter negative and zero measurements for rotations and translations

Hy nburn!

To show you better what i meant, i added a example into to your script.
If you run exact offset now there is a info text in the header line.

https://drive.google.com/file/d/0B5QQIWH-54S1X1pQb21QSUVaSVE/view?usp=sharing

No, I understood what you were referring to with keyboard shortcuts. I have that on my todo list for when I do a major overhaul of the Add-On’s code.

What I needed more information on was the “chain dimensioning” part. I didn’t understand what you meant by:

Bug Fix Update 2 (download link xOffsets_alpha_003b.py):

Missed a big problem in the recent 003 bug fix update (Add-On would crash if you loaded it when a non-brush object was selected) and the selected item restore wasn’t working as intended. This update should fix both of those issues.