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

Ok, i try to explain that with more images.

> this is how i can do it at the moment > one by one:
works well!!!


< this it what i ask for
> distribute parallal selected loops at the same time
> similar to looptool space but by a value

Thanks for the explanation.

It does look like something that would be useful, but getting the logic right could be challenging. Maybe not too bad if edges were parallel (like in your example), but I’m hesitant to take it on right now as I would be tempted to try and solve the overly complicated cases like when edges weren’t parallel at all or merged together.

I will add it to my to-look-into list for after I have the core functionality better nailed down. It looks like it could be a good fit with the scale features I have planned.

Hy nBurn!
is it possibile to modify the tool for a coplanar rotation in editmode?
see image:


Great addon nBurn, but I’m facing a problem here, getting a Type Error, any ideas how to fix? I just followed your instructions, copied the script, version 003, saved to my computer, and installed the .py


Not sure I understand. Are you referring to coplaner with the “view plane” or a mesh plane? Rotations on the latter (mesh plane) should already be possible (with v002 and later) if no axis lock is set, assuming the three Anchor / Pivot / Free points are on the same plane. The “no-axis-lock” mode is designed to form a “dynamic plane” using the 3 reference points and then calculate that plane’s surface normal which it uses as the rotation axis. If the 3 point’s are on a plane, the “dynamic plane” that is formed should be the same planar surface the reference points are on.

Unrelated, but forgot to ask you before, how did you disable the “preview” option for this link?

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

All my shared drive links open in “preview” mode.

I had that error occasionally with older versions of the Add-On, but haven’t had it with the latest version. Can you share the steps to reproduce the error? I haven’t been able to reproduce the error message using the 003b version.

After reading your response now, I started Blender, reinstalled the addon (I uninstalled yesterday), and tried the same process, it worked!! I don’t know why, but I’m glad it’s working, anyways, here are the steps that I did yesterday, just in case you need it.

1- I select a cube in Object mode.
2- Press Space bar, enter addon’s name and run it.
3- Press Tab, to toggle to Edit mode.
4- Left click a vertex, and I get the error.

  • Also tried this in Object mode by selecting two objects, run the addon, then left click one of them, and I’m getting an error.
  • I downloaded version 003b, I’m on windows 10 machine, running Blender 2.78a

Here is a videolink for the rotate constraint addon. (work only for faces)
It explain it better what i meant.

The faces (+edges) keeps the square right angle to the choosen constaint-axis.

We can do this also with Shear [CTRL+ALT+SHIFT+S], but this is not exactly right angled.
Maybe it is a idea for your further to do list.
I hope it is ok for that i added your tool to T+ Align (Offset+Rotate)?

Download-Link > i zip the script before i upload them…that’s all!

Thanks for the information. So you’re saying you had the error before, but have not had it since you reinstalled the latest version? Or are you still having the error? That error message looks like it had something to do with the way one of the Add-On’s class variables was being initialized, but I couldn’t find the cause. I tried your steps, but couldn’t get the add-on to throw a type error. Might do some more debugging later.

Oh, neat! I wasn’t even aware of that add-on. This was actually something I had thought about adding eventually once I can get the Add-On working better.

I don’t mind you adding this to T+, but just be aware the Add-On is still very much in the “alpha” stage of development. There’s a lot of issues I’m still trying to solve. The biggest right now is the point selection code, the performance becomes abysmal once you have more than a few thousand vertices in your scene. I’ve been meaning to document that flaw in the original post, but I’ve had a lot of things come up.

Zipping before uploading, hmm. Will have to experiment with that.

Update: Alpha Version 004 released! (xOffsets_alpha_004.py)

Bug Fixes:

  • Fixed rotation changes not being set correctly after rotating out of 0 or 180 degree rotations.
  • Fixed code causing divide by zero errors when doing Arbitrary Axis Rotations in certain circumstances
  • Added poll to prevent launch (and crash) when not in Object or Mesh Edit editor mode types and active object is not a mesh
  • Fixed crashes in certain circumstances when non-mesh object was selected

Changes:

  • Redid most of the rotation code to use Blender’s built in Quaternion and Euler classes instead of my hackish custom rotation functions
New Features:
  • Arbitrary Axis Rotations can now be done in Object Mode

Other:
This update should finish up all the core functionality I had planned. It will likely be a while before there’s any future updates (other than bug fixes) as I need to do a major rewrite of the code to better support new features and improve performance.

Bug Fix Update: Exact Offsets Alpha Version 004b (xOffsets_alpha_004b.py)

No big update yet, the rewrite (or rewrite of a rewrite…) is still in development. I did discover a few bugs in the rewriting process though. As there is no ETA yet on the next big update, I decided to backport the bug fixes (and some of the other code changes) into my most recent stable copy of alpha_004. The changelog for this update is listed below:

Bug Fixes:

  • Fixed bad float compare code causing angle and reference point updates to fail in certain circumstances.
  • Reworked 2D conversion code that was causing warning messages in PyCharm.
  • Added flag to prevent popup dialog from showing up in spacebar menu

New Features (minor):

  • Added missing line drawn from the Pivot point to the new Free point for 0 and 180 rotations that should have been included with the last update.

hi, looking great, keep up the good work.

Can this addon be used for doing tufts and folds in furniture upholstry? Which addons might I find useful for these models. Thanks

If you’re asking about the actual process of creating tufts and folds where there are none, no.

I’m not sure, my guess would be some kind of surface deform, subdivision surface, and/or retopology tool. I can’t think of any addons made specifically for doing tufts and folds offhand, but I haven’t done any modeling like that in a quite a while.

Thankyou for your reply nBurn.

Exact Offsets Alpha Version 006b, Bug Fix Update (ninja edit):

Changes:

  • Rewrote selection handling code to with better tracking of selection changes
  • Fixed bug preventing reference point selection in certain circumstances
  • Rewrote point finding code with some minor optimizations (still too slow for high poly meshes)
  • Fixed crash when addon loaded with no mesh object selected
  • Fixed crash when scene contained mesh object with no attached verts

Experimental version notes:

This experimental version is mostly the same as “xoffsets_alpha_006”, but it includes a toggle button that enables new point finding functionality (based off of the point selection code in NP Station). There are some stability and usability issues not present in the original (reason it’s marked experimental), but the one big improvement is the point finding code. The new code allows for snapping to vertex points and for high poly meshes the new point finding code is at least an order of magnitude faster than the original point code. The new code was still able to quickly find ref points even with meshes having over a quarter million vertices (although there was a slight delay compared to lower poly meshes).

Note, these release notes are from version 005 to 006 (005 which wasn’t released on BA).

Ninja Edit note:

I found a bug in both “xoffsets_alpha_006” and “xoffsets_alpha_006_exp” relating to the multi-select transform code. If both the Anchor and Free were on a selected items, only the Free’s object/vertex would move and no other selected items. The “b” version fixes this bug and contains a few other minor code changes.

Version 005 notes edit.

As I skipped releasing version 005 on BA, I have added the release notes for it below:

Bug Fix Update: Exact Offsets Alpha Version 005

Big update, but still no new features. This is update is a major rewrite to the core addon code. It is better optimized for modal operation and the code should be much easier to follow compared with versions 004 and earlier. There are also some bug fixes listed below.

Bug Fixes:

  • Changing the perspective while the addon is running would cause “object is not subscriptable” errors when a ref point was added or removed. Disabled changing perspective with Numpad 5 (when addon is running) for now.
  • Prevented measure button from displaying when Measure Input dialog is running and when you have a 0 or 180 rotation and are manually selecting a new rotation point. Button prevented point selection in some cases.

Hi nBurn,
Glad you where able to manage a release of this greatly improved one !

In the meantime, have worked on convenient and extendable base for snapping features :

“small is beautyfull” !

Exact Offsets Alpha Version 007b: Optimiztion / code cleanup update

Reworked the multi-selection and transformation code to (hopefully) run a little smoother when working with high poly meshes and scenes with a lot of geometry. Duplicate procedures where combined or removed and (when possible) I tried to use Blender’s native API code instead of functions written in Python.

Other changes:

  • Addon no longer exits if a transformation causes 2 reference points to overlap. Instead reference point data is reset.
  • Added a very basic logo to the 3D View to indicate the addon is running (difficult to tell otherwise except with the experimental verison).
  • Fixed potential bug preventing points from being found in rare circumstances due to lack of floating point precision.
  • Fixed bug preventing overlapping point error message from showing (007b_exp only)

I mistakenly uploaded an outdated copy of Exact Offsets in the last “update”. I am not sure the “007” version I had previously linked to actually had any of the listed changes. If you want those changes, please download the newer 007b version instead. The download links for 007b can be found in the above post, I replaced the 007 version links with links to the 007b versions.

Been playing around a bit, very interesting concept. A minimalistic user interface, yet a solid capacity. You managed to accomplish solving three different tasks with only three pieces to play with and a small set of rules. It is almost like a small board game - what you get depends of the creativity and the relations you set between the UI elements :slight_smile: The typable numeric widget is very clean and efficient.

P.s. I noticed the problem with the ‘region overlap’ option on - the logo gets covered with the T panel. You can borrow a couple of lines from np_station for that - utils_graphics , display_instructions function, you can find some code for correction there.

Thanks Okavango. It is a bit cryptic to use at first. Aside from the experimental snap features, almost all of my work on this has gone into code clean up, optimizations, and bug removal. I hope with the next release I can finally move onto other aspects like new features and making the UI more user friendly.

Ah, I wasn’t even aware Blender had that option. The lines you’re referring to in utils_graphics, I’m guessing that’s the section that starts with the “if system.use_region_overlap” conditional, correct?