s-leger / blender_cad_transforms

Precise CAD like transfoms for blender
GNU General Public License v3.0
75 stars 4 forks source link

Feature request: Please provide methods to scale by entering (a) desired magnification or (b) target dimension. #30

Closed raindropsfromsky closed 3 years ago

raindropsfromsky commented 3 years ago

During scaling operation, the GUI offers two different figures: The % magnification and absolute dimension.

The user may want to transform the object in two different ways:

Method#1: The user may want to enter the desired magnification (e.g. make this object double in size, means 200%).

Method#2: He may want to say that resize the object till this particular dimension becomes x cm. The rest of the dimensions must be changed to maintain the aspect ratio.

In this case, he does not care what the original dimension is (or what the original object size is). (In 2D software, the user can first lock the aspect ratio, and then enter the new value in any one dimension. The object is resized, and the aspect ratio does not change. This second method is based on the same idea.)

Please provide two different input methods to let the user transform the object.

s-leger commented 3 years ago

Either check "absolute scale" option to input dimension, or add unit to the input value. https://youtu.be/TWEoZghkalc?t=2272

raindropsfromsky commented 3 years ago

Actually this does not address the second point I mentioned, where the user can lock the aspect ratio of the object while scaling; and he can enter a new value in one of the three dimensions. (Note that he will not enter a multiplier factor.)

The other two dimensions should automatically get multiplied by the same factor.

For example, assume that we have a cube with LxBxH dimensions of 2x3x5 units. The user wants to make the Height equal to 7.5 unit.

Here, the addon calculates that the equivalent multiplier is 7.5/5=1.5. So it multiplies all dimensions by 1.5. Now the new dimensions of the cube is 3x4.5x7.5.

raindropsfromsky commented 3 years ago

Since GitHub does not allow reopening of issues, I will raise a new bug. Thanks!