Grab, rotate, scale with basepoint #45734

Open
opened 2015-08-08 16:45:01 +02:00 by Justas Ingelevičius · 174 comments

Current Issues

It is very difficult to grab, rotate and scale objects using basepoints.

Proposal

Add a a keybord shortcut which will let user select basepoints during grab, rotate and scale operations allowing precise transformations in easy way.

Grab with basepoint
Grab_with_basepoint.png

Workflow:

  • Select object
  • press G (grab)
  • press B (basepoint)
  • click on vertex to specify grab basepoint (hovering on vertex snap is activated)
  • move object to desired place (hovering on vertex snap is activated)
  • click to put object

alternatives like entering X, Y, Z to restrict axis
or enter numeric value for move distance also works

Rotate with basepoint
Rotate_with_basepoint.png

Workflow:

  • Select object
  • press R (rotate)
  • press B (basepoint)
  • click on vertex to change rotation center (hovering on vertex snap is activated)
  • click on second vertex to define rotation reference (hovering on vertex snap is activated)
  • click on third vertex to define rotation angle (hovering on vertex snap is activated)

alternatives like entering X, Y, Z to restrict axis
or enter numeric value for rotation angle also works

Scale with basepoint
Scale_with_basepoint.png

Workflow:

  • Select object
  • press S (scale)
  • press B (basepoint)
  • click on vertex to change scale basepoint (hovering on vertex snap is activated)
  • click on second vertex to define scale reference (hovering on vertex snap is activated)
  • enter numeric value for scale, or click on third vertex to define scale value (hovering on vertex snap is activated)

alternatives like entering X, Y, Z to restrict axis
also works

Duplicate with basepoint
For consistency similar behavior should be added to duplicate operation:

duplicate_with_basepoint.png

Workflow:

  • Select object
  • press Shift+D or Alt+D (duplicate)
  • press B (basepoint)
  • click on vertex to specify duplication basepoint (hovering on vertex snap is activated)
  • put object to desired place (hovering on vertex snap is activated)
  • click to put object

alternatives like entering X, Y, Z to restrict axis
or enter numeric value for move distance also works

Grab with basepoint restricting translation axis
Example how grab with basepoint works with translation axis restriction:

grab_restricting_axis.png

Workflow:

  • Select object
  • press G (grab)
  • press B (basepoint)
  • press Z to restrict translation axis
  • click on vertex to specify grab basepoint (hovering on vertex snap is activated)
  • move object to desired place (hovering on vertex snap is activated)
  • click to put object

Multiple duplication proposal
Working on basepoint proposal also got idea about another useful enhancement - ability to make multiple duplication:

duplicate_multiple.png

Workflow:

  • Select object
  • press Shift+D or Alt+D (duplicate)
  • and then press M (multiple)
  • click to put object (object is duplicated, but still remains selected)
  • click to put another object (object is duplicated, but still remains selected)
  • click to put next object
  • another mouse button click to end operation

alternatives like entering X, Y, Z to restrict axis
or enter numeric value for move distance also works

Multiple duplication with basepoint example
In this case similar tasks like duplicating objects and putting in precise places could be done a lot faster.

duplicate_multiple_basepoint.png

Workflow:

  • Select object
  • press Shift+D or Alt+D (duplicate)
  • press B (basepoint)
  • and then press M (multiple)
  • click to put object (object is duplicated, but still remains selected)
  • click to put another object (object is duplicated, but still remains selected)
  • click to put next object
  • another mouse button click to end operation

Mirror with basepoint example
For consistency similar approach could work on mirror operation as well

Mirror_with_basepoint.png

Workflow:

  • Select object
  • press ctrl+M (mirror)
  • press B (basepoint or baseplane)
  • click on three points to define mirror plane
  • or click on two points to define mirror axis and then Z if plane is on Z axis
  • or click on two points to define mirror axis if view is orthogonal

Benefits
Ability to grab, rotate and scale objects precisely. Functionality especially useful for architects, interior designers, but also will be beneficial to many blender users.

**Current Issues** It is very difficult to grab, rotate and scale objects using basepoints. **Proposal** Add a a keybord shortcut which will let user select basepoints during grab, rotate and scale operations allowing precise transformations in easy way. **Grab with basepoint** ![Grab_with_basepoint.png](https://archive.blender.org/developer/F221773/Grab_with_basepoint.png) Workflow: - Select object - press G (grab) - press B (basepoint) - click on vertex to specify grab basepoint (hovering on vertex snap is activated) - move object to desired place (hovering on vertex snap is activated) - click to put object alternatives like entering X, Y, Z to restrict axis or enter numeric value for move distance also works **Rotate with basepoint** ![Rotate_with_basepoint.png](https://archive.blender.org/developer/F221778/Rotate_with_basepoint.png) Workflow: - Select object - press R (rotate) - press B (basepoint) - click on vertex to change rotation center (hovering on vertex snap is activated) - click on second vertex to define rotation reference (hovering on vertex snap is activated) - click on third vertex to define rotation angle (hovering on vertex snap is activated) alternatives like entering X, Y, Z to restrict axis or enter numeric value for rotation angle also works **Scale with basepoint** ![Scale_with_basepoint.png](https://archive.blender.org/developer/F221781/Scale_with_basepoint.png) Workflow: - Select object - press S (scale) - press B (basepoint) - click on vertex to change scale basepoint (hovering on vertex snap is activated) - click on second vertex to define scale reference (hovering on vertex snap is activated) - enter numeric value for scale, or click on third vertex to define scale value (hovering on vertex snap is activated) alternatives like entering X, Y, Z to restrict axis also works **Duplicate with basepoint** For consistency similar behavior should be added to duplicate operation: ![duplicate_with_basepoint.png](https://archive.blender.org/developer/F222807/duplicate_with_basepoint.png) Workflow: - Select object - press Shift+D or Alt+D (duplicate) - press B (basepoint) - click on vertex to specify duplication basepoint (hovering on vertex snap is activated) - put object to desired place (hovering on vertex snap is activated) - click to put object alternatives like entering X, Y, Z to restrict axis or enter numeric value for move distance also works **Grab with basepoint restricting translation axis** Example how grab with basepoint works with translation axis restriction: ![grab_restricting_axis.png](https://archive.blender.org/developer/F222814/grab_restricting_axis.png) Workflow: - Select object - press G (grab) - press B (basepoint) - press Z to restrict translation axis - click on vertex to specify grab basepoint (hovering on vertex snap is activated) - move object to desired place (hovering on vertex snap is activated) - click to put object **Multiple duplication proposal** Working on basepoint proposal also got idea about another useful enhancement - ability to make multiple duplication: ![duplicate_multiple.png](https://archive.blender.org/developer/F222811/duplicate_multiple.png) Workflow: - Select object - press Shift+D or Alt+D (duplicate) - and then press M (multiple) - click to put object (object is duplicated, but still remains selected) - click to put another object (object is duplicated, but still remains selected) - click to put next object - another mouse button click to end operation alternatives like entering X, Y, Z to restrict axis or enter numeric value for move distance also works **Multiple duplication with basepoint example** In this case similar tasks like duplicating objects and putting in precise places could be done a lot faster. ![duplicate_multiple_basepoint.png](https://archive.blender.org/developer/F222820/duplicate_multiple_basepoint.png) Workflow: - Select object - press Shift+D or Alt+D (duplicate) - press B (basepoint) - and then press M (multiple) - click to put object (object is duplicated, but still remains selected) - click to put another object (object is duplicated, but still remains selected) - click to put next object - another mouse button click to end operation **Mirror with basepoint example** For consistency similar approach could work on mirror operation as well ![Mirror_with_basepoint.png](https://archive.blender.org/developer/F223685/Mirror_with_basepoint.png) Workflow: - Select object - press ctrl+M (mirror) - press B (basepoint or baseplane) - click on three points to define mirror plane - or click on two points to define mirror axis and then Z if plane is on Z axis - or click on two points to define mirror axis if view is orthogonal **Benefits** Ability to grab, rotate and scale objects precisely. Functionality especially useful for architects, interior designers, but also will be beneficial to many blender users.

Changed status to: 'Open'

Changed status to: 'Open'
Brecht Van Lommel was assigned by Justas Ingelevičius 2015-08-08 16:45:01 +02:00

Added subscriber: @JustasIngelevicius

Added subscriber: @JustasIngelevicius
Brecht Van Lommel removed their assignment 2015-08-08 16:49:59 +02:00
Member

Added subscriber: @GregZaal

Added subscriber: @GregZaal

Added subscriber: @KINjO

Added subscriber: @KINjO
Member

Added subscriber: @gandalf3

Added subscriber: @gandalf3

Added subscriber: @Januz

Added subscriber: @Januz

Added subscriber: @NikoLeopold

Added subscriber: @NikoLeopold
NikoLeopold self-assigned this 2015-08-09 03:10:39 +02:00

Sounds like a very convenient and concise workflow ! :)

The imlementation doesn't seem to be too difficult (really just fitting existing parts together), so i will try to do the grab proposal as proof-of-concept as quick as i can, although i will have to read a lot of code first.
Since i haven't yet contributed much to the code, this might be more of a personal learning experience for me, so if anyone more experienced comes along feel free to reclaim this task (i'll continue working on my own solution just for learning purposes anyway, but this feature feels really important!).

Btw. about design decisions i'm not the right person to address, but i really like the proposal and will try to implement it and adapt as necessary.

Sounds like a very convenient and concise workflow ! :) The imlementation doesn't seem to be too difficult (really just fitting existing parts together), so i will try to do the grab proposal as proof-of-concept as quick as i can, although i will have to read a lot of code first. Since i haven't yet contributed much to the code, this might be more of a personal learning experience for me, so if anyone more experienced comes along feel free to reclaim this task (i'll continue working on my own solution just for learning purposes anyway, but this feature feels really important!). Btw. about design decisions i'm not the right person to address, but i really like the proposal and will try to implement it and adapt as necessary.

Nice, Nikolaus :) There is also addon Enhanced 3D Cursor. May be it will be somehow useful to look at. This addon can place 3D cursor on vertex, face or edge.

http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/3D_interaction/Enhanced_3D_Cursor

Nice, Nikolaus :) There is also addon Enhanced 3D Cursor. May be it will be somehow useful to look at. This addon can place 3D cursor on vertex, face or edge. http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/3D_interaction/Enhanced_3D_Cursor

Added subscriber: @ideasman42

Added subscriber: @ideasman42

@NikoLeopold Kudos! I'd recommend you try to do this in Python first, specially since core/UI devs haven't shared their thoughts on this yet. I think finding the third vertex will be the hardest part of this.

@ideasman42 What do you think?

@NikoLeopold Kudos! I'd recommend you try to do this in Python first, specially since core/UI devs haven't shared their thoughts on this yet. I think finding the third vertex will be the hardest part of this. @ideasman42 What do you think?
Member

Added subscriber: @JulianEisel

Added subscriber: @JulianEisel
Member

Note that we usually had to close this task since opening design/todo tasks is for devs only (imagine the mess we had without this rule). However, since this seems a pretty well laid out proposal I think we can do an exception once. But only this one time! ;)

Before any code is written for this it should be checked by the UI team. Biggest issue I see with the proposal is that it includes a modal operation within another modal operation (transformation is a modal operation, basepoint selection as proposed here would be another one). AFAIK we don't have that anywhere else.

Note that we usually had to close this task since opening design/todo tasks is for devs only (imagine the mess we had without this rule). However, since this seems a pretty well laid out proposal I think we can do an exception once. But only this one time! ;) Before any code is written for this it should be checked by the UI team. Biggest issue I see with the proposal is that it includes a modal operation within another modal operation (transformation is a modal operation, basepoint selection as proposed here would be another one). AFAIK we don't have that anywhere else.
Member

Setting to 'Incomplete' prio until the idea was reviewed by the UI team.

Setting to 'Incomplete' prio until the idea was reviewed by the UI team.

thanks for the comments guys :)

i played around quite a bit today, almost all the code seems to be there already, at least for the grab proposal.
at first i was thinking making the selection similar to updateSelectedSnapPoint and addSnapPoint but for the snapTarget.
however i ran into the issue you mentioned Julian: the modal operation inside the modal operation, and wasnt sure (and still am not) about how i am ought to approach this in a clean way without too much जुगाड़ :D

so then i will wait for the UI team and meanwhile read some more of the code :)

thanks for the comments guys :) i played around quite a bit today, almost all the code seems to be there already, at least for the grab proposal. at first i was thinking making the selection similar to updateSelectedSnapPoint and addSnapPoint but for the snapTarget. however i ran into the issue you mentioned Julian: the modal operation inside the modal operation, and wasnt sure (and still am not) about how i am ought to approach this in a clean way without too much जुगाड़ :D so then i will wait for the UI team and meanwhile read some more of the code :)

Added subscriber: @JonathanWilliamson

Added subscriber: @JonathanWilliamson

In #45734#327211, @JulianEisel wrote:

Biggest issue I see with the proposal is that it includes a modal operation within another modal operation (transformation is a modal operation, basepoint selection as proposed here would be another one). AFAIK we don't have that anywhere else.

Thanks Julian :) I thought about this modality issue in this way. Now during transform operation user can press hotkeys X, Y or Z to restrict transform axis. This does not involve modal operation inside the modal operation because when user press for instance key X, transformations on Z, Y axis are canceled.

In this grab whit basepoint operation could be used similar approach. User press G and then when user press B object returns to original location. User selects basepoint ant than operation starts again. So basically it's not operation inside operation but it's new operation with different parameter. The same with rotate and scale.

> In #45734#327211, @JulianEisel wrote: Biggest issue I see with the proposal is that it includes a modal operation within another modal operation (transformation is a modal operation, basepoint selection as proposed here would be another one). AFAIK we don't have that anywhere else. Thanks Julian :) I thought about this modality issue in this way. Now during transform operation user can press hotkeys X, Y or Z to restrict transform axis. This does not involve modal operation inside the modal operation because when user press for instance key X, transformations on Z, Y axis are canceled. In this grab whit basepoint operation could be used similar approach. User press G and then when user press B object returns to original location. User selects basepoint ant than operation starts again. So basically it's not operation inside operation but it's new operation with different parameter. The same with rotate and scale.

Added subscriber: @zeauro

Added subscriber: @zeauro

I don't understand why so many steps.

For translation, we could have a MouseOver Snap target that choose vertex under mouse when G is pressed.

For Rotation and Scale, we could use 3Dcursor to define first vertex, mouseover while pressing G for second vertex and the third one is our snap point.

I don't understand why so many steps. For translation, we could have a MouseOver Snap target that choose vertex under mouse when G is pressed. For Rotation and Scale, we could use 3Dcursor to define first vertex, mouseover while pressing G for second vertex and the third one is our snap point.

Duplicate with basepoint
For consistency similar behavior should be added to duplicate operation:

duplicate_with_basepoint.png

Workflow:

  • Select object
  • press Shift+D or Alt+D (duplicate)
  • press B (basepoint)
  • click on vertex to specify duplication basepoint (hovering on vertex snap is activated)
  • put object to desired place (hovering on vertex snap is activated)
  • click to put object

alternatives like entering X, Y, Z to restrict axis
or enter numeric value for move distance also works

Grab with basepoint restricting translation axis
Example how grab with basepoint works with translation axis restriction:

grab_restricting_axis.png

Workflow:

  • Select object
  • press G (grab)
  • press B (basepoint)
  • press Z to restrict translation axis
  • click on vertex to specify grab basepoint (hovering on vertex snap is activated)
  • move object to desired place (hovering on vertex snap is activated)
  • click to put object

Multiple duplication proposal
Working on basepoint proposal also got idea about another useful enhancement - ability to make multiple duplication:

duplicate_multiple.png

Workflow:

  • Select object
  • press Shift+D or Alt+D (duplicate)
  • and then press M (multiple)
  • click to put object (object is duplicated, but still remains selected)
  • click to put another object (object is duplicated, but still remains selected)
  • click to put next object
  • another mouse button click to end operation

alternatives like entering X, Y, Z to restrict axis
or enter numeric value for move distance also works

Multiple duplication with basepoint example
In this case similar tasks like duplicating objects and putting in precise places could be done a lot faster.

duplicate_multiple_basepoint.png

Workflow:

  • Select object
  • press Shift+D or Alt+D (duplicate)
  • press B (basepoint)
  • and then press M (multiple)
  • click to put object (object is duplicated, but still remains selected)
  • click to put another object (object is duplicated, but still remains selected)
  • click to put next object
  • another mouse button click to end operation

Mirror with basepoint example
For consistency similar approach could work on mirror operation as well

Mirror_with_basepoint.png

Workflow:

  • Select object
  • press ctrl+M (mirror)
  • press B (basepoint or baseplane)
  • click on three points to define mirror plane
  • or click on two points to define mirror axis and then Z if plane is on Z axis
  • or click on two points to define mirror axis if view is orthogonal
**Duplicate with basepoint** For consistency similar behavior should be added to duplicate operation: ![duplicate_with_basepoint.png](https://archive.blender.org/developer/F222807/duplicate_with_basepoint.png) Workflow: - Select object - press Shift+D or Alt+D (duplicate) - press B (basepoint) - click on vertex to specify duplication basepoint (hovering on vertex snap is activated) - put object to desired place (hovering on vertex snap is activated) - click to put object alternatives like entering X, Y, Z to restrict axis or enter numeric value for move distance also works **Grab with basepoint restricting translation axis** Example how grab with basepoint works with translation axis restriction: ![grab_restricting_axis.png](https://archive.blender.org/developer/F222814/grab_restricting_axis.png) Workflow: - Select object - press G (grab) - press B (basepoint) - press Z to restrict translation axis - click on vertex to specify grab basepoint (hovering on vertex snap is activated) - move object to desired place (hovering on vertex snap is activated) - click to put object **Multiple duplication proposal** Working on basepoint proposal also got idea about another useful enhancement - ability to make multiple duplication: ![duplicate_multiple.png](https://archive.blender.org/developer/F222811/duplicate_multiple.png) Workflow: - Select object - press Shift+D or Alt+D (duplicate) - and then press M (multiple) - click to put object (object is duplicated, but still remains selected) - click to put another object (object is duplicated, but still remains selected) - click to put next object - another mouse button click to end operation alternatives like entering X, Y, Z to restrict axis or enter numeric value for move distance also works **Multiple duplication with basepoint example** In this case similar tasks like duplicating objects and putting in precise places could be done a lot faster. ![duplicate_multiple_basepoint.png](https://archive.blender.org/developer/F222820/duplicate_multiple_basepoint.png) Workflow: - Select object - press Shift+D or Alt+D (duplicate) - press B (basepoint) - and then press M (multiple) - click to put object (object is duplicated, but still remains selected) - click to put another object (object is duplicated, but still remains selected) - click to put next object - another mouse button click to end operation **Mirror with basepoint example** For consistency similar approach could work on mirror operation as well ![Mirror_with_basepoint.png](https://archive.blender.org/developer/F223685/Mirror_with_basepoint.png) Workflow: - Select object - press ctrl+M (mirror) - press B (basepoint or baseplane) - click on three points to define mirror plane - or click on two points to define mirror axis and then Z if plane is on Z axis - or click on two points to define mirror axis if view is orthogonal

In #45734#327257, @zeauro wrote:
I don't understand why so many steps.

For translation, we could have a MouseOver Snap target that choose vertex under mouse when G is pressed.

For Rotation and Scale, we could use 3Dcursor to define first vertex, mouseover while pressing G for second vertex and the third one is our snap point.

I was looking for way to add new functionality without changing existing behavior. I think it's important because these functions are so basic that any changes to default behavior could be frustrating to old users. So in my proposal I found way to add functionality without disrupting existing workflow :)

In this case snap will be pointing on vertices always doing everything. I do not think that's good.
In your proposal when closest vertex under mouse is chosen. There could be errors because in more complicated models to choose right vertex user must move mouse a bit.

Somehow to use 3d cursor could be good idea, but now snap 3d cursor to vertex it's possible only with addons. I didn't want to change 3d cursor behavior.

> In #45734#327257, @zeauro wrote: > I don't understand why so many steps. > > For translation, we could have a MouseOver Snap target that choose vertex under mouse when G is pressed. > > For Rotation and Scale, we could use 3Dcursor to define first vertex, mouseover while pressing G for second vertex and the third one is our snap point. I was looking for way to add new functionality without changing existing behavior. I think it's important because these functions are so basic that any changes to default behavior could be frustrating to old users. So in my proposal I found way to add functionality without disrupting existing workflow :) In this case snap will be pointing on vertices always doing everything. I do not think that's good. In your proposal when closest vertex under mouse is chosen. There could be errors because in more complicated models to choose right vertex user must move mouse a bit. Somehow to use 3d cursor could be good idea, but now snap 3d cursor to vertex it's possible only with addons. I didn't want to change 3d cursor behavior.

Added subscriber: @Zafio

Added subscriber: @Zafio

In #45734#327314, @JustasIngelevicius wrote:
In this case snap will be pointing on vertices always doing everything. I do not think that's good.
In your proposal when closest vertex under mouse is chosen. There could be errors because in more complicated models to choose right vertex user must move mouse a bit.

I did not see it as a problem for a simple snapping operation. The user adapts viewpoint to what he is transforming.
He can anticipate and choose best view angle and zooming focus in order to hover a vertex without error in a complicated model too.
But now, that you have added multiple duplication to your proposal; choosing correct view before operation does not correspond to same criteria.

Somehow to use 3d cursor could be good idea, but now snap 3d cursor to vertex it's possible only with addons. I didn't want to change 3d cursor behavior.

I can understand that. But it is a pity that 3Dcursor snapping is not becoming a behavior by default when other snapping improvments are done.

> In #45734#327314, @JustasIngelevicius wrote: > In this case snap will be pointing on vertices always doing everything. I do not think that's good. > In your proposal when closest vertex under mouse is chosen. There could be errors because in more complicated models to choose right vertex user must move mouse a bit. I did not see it as a problem for a simple snapping operation. The user adapts viewpoint to what he is transforming. He can anticipate and choose best view angle and zooming focus in order to hover a vertex without error in a complicated model too. But now, that you have added multiple duplication to your proposal; choosing correct view before operation does not correspond to same criteria. > Somehow to use 3d cursor could be good idea, but now snap 3d cursor to vertex it's possible only with addons. I didn't want to change 3d cursor behavior. I can understand that. But it is a pity that 3Dcursor snapping is not becoming a behavior by default when other snapping improvments are done.

Added subscriber: @mont29

Added subscriber: @mont29

Removing incomplete for now, proposition is rather complete imho, question is whether we want this or not.

I’m not really convinced by all this tbh, this sounds rather specific behavior you won’t use everyday to me (but I’m not an artist either…), and which you can already do in a few steps I think? As a dev, it also sounds like adding another layer of complexity in our transform code, which is already quite messy and hard to maintain.

Would love to get @ideasman42 feelings here too, since he’s maintainer of this area afaik (even though that field is empty in the module owner list).

*Removing incomplete for now, proposition is rather complete imho, question is whether we want this or not.* I’m not really convinced by all this tbh, this sounds rather specific behavior you won’t use everyday to me (but I’m not an artist either…), and which you can already do in a few steps I think? As a dev, it also sounds like adding another layer of complexity in our transform code, which is already quite messy and hard to maintain. Would love to get @ideasman42 feelings here too, since he’s maintainer of this area afaik (even though that field is empty in the [module owner list](http://wiki.blender.org/index.php/Dev:Doc/Process/Module_Owners/List)).

I’m not really convinced by all this tbh, this sounds rather specific behavior you won’t use everyday to me (but I’m not an artist either…), and which you can already do in a few steps I think?

Hi, I do not agree that this feature would be used rarely. Similar approach of moving, rotating objects is used in many other software. Starting from SketchUP to AutoCAD and other. And usually it's even default behavior. So you even do not have to push hotkey for moving object with basepoint. Users switching to blender from other software are familiar with this.

One example was then I tried to convince some architect to use blender for architectural visualizations. After some lessons they were frustrated about moving, rotating, scaling. Because without this proposed feature in some cases you do things minutes instead seconds.

Maybe for advanced user could be less difference, because he knows many tips and hacks and workarounds how to manipulate objects, but for beginners this will be huge help.

> I’m not really convinced by all this tbh, this sounds rather specific behavior you won’t use everyday to me (but I’m not an artist either…), and which you can already do in a few steps I think? Hi, I do not agree that this feature would be used rarely. Similar approach of moving, rotating objects is used in many other software. Starting from SketchUP to AutoCAD and other. And usually it's even default behavior. So you even do not have to push hotkey for moving object with basepoint. Users switching to blender from other software are familiar with this. One example was then I tried to convince some architect to use blender for architectural visualizations. After some lessons they were frustrated about moving, rotating, scaling. Because without this proposed feature in some cases you do things minutes instead seconds. Maybe for advanced user could be less difference, because he knows many tips and hacks and workarounds how to manipulate objects, but for beginners this will be huge help.

Added subscriber: @Zigzauer

Added subscriber: @Zigzauer

This funcionality would be huge step forward competing with skechup or any other 3d software used for architectural sketching and modeling.. Currently what stops architects from using blender is its inability to do fast, accurate architectural modeling with comfortable to use snaps and accurate dimensioning. I know blender is mostly used by cgi artists, but there are many architects and designers who would use blender without doubt if only he would have more tools adapted for architectural modeling which would also attract more donations for blender foundation. Currently there are thousands architects who use much worse or expensive software for their work instead of blender which is all-round incredibly good software

This funcionality would be huge step forward competing with skechup or any other 3d software used for architectural sketching and modeling.. Currently what stops architects from using blender is its inability to do fast, accurate architectural modeling with comfortable to use snaps and accurate dimensioning. I know blender is mostly used by cgi artists, but there are many architects and designers who would use blender without doubt if only he would have more tools adapted for architectural modeling which would also attract more donations for blender foundation. Currently there are thousands architects who use much worse or expensive software for their work instead of blender which is all-round incredibly good software

Added subscriber: @JaumeBellet

Added subscriber: @JaumeBellet

You can get a patch from here

http://pasted.co/9a7a6794

needs to enable WITH_MECHANICAL on build.

enable snap during transform, and set it to closest. Press b during transform, select a base point. Note than when you are selecting the point you can move around the scene.

It's on early state and not yet finished , tested with objects in 3DView, and vertex extrudes on editmode. Fails with faces and edges operations. Just to know your impressions.

You can get a patch from here http://pasted.co/9a7a6794 # needs to enable WITH_MECHANICAL on build. enable snap during transform, and set it to closest. Press b during transform, select a base point. Note than when you are selecting the point you can move around the scene. It's on early state and not yet finished , tested with objects in 3DView, and vertex extrudes on editmode. Fails with faces and edges operations. Just to know your impressions.
NikoLeopold removed their assignment 2015-08-25 17:02:09 +02:00

enable snap during transform, and set it to closest. Press b during transform, select a base point. Note than when you are selecting the point you can move around the scene.

It's on early state and not yet finished , tested with objects in 3DView, and vertex extrudes on editmode. Fails with faces and edges operations. Just to know your impressions.

Wow. Amassing! Thanks for so quick response :)

Yesterday I failed build blender with this mechanical parameter, but after consulting some smarter guy, today I succeeded.

It works, but slightly not as expected. I pointed out what I get and what should be expected behavior:

2015 08 26 comments.png

Thanks for good work!

> enable snap during transform, and set it to closest. Press b during transform, select a base point. Note than when you are selecting the point you can move around the scene. > > It's on early state and not yet finished , tested with objects in 3DView, and vertex extrudes on editmode. Fails with faces and edges operations. Just to know your impressions. Wow. Amassing! Thanks for so quick response :) Yesterday I failed build blender with this mechanical parameter, but after consulting some smarter guy, today I succeeded. It works, but slightly not as expected. I pointed out what I get and what should be expected behavior: ![2015 08 26 comments.png](https://archive.blender.org/developer/F228098/2015_08_26_comments.png) Thanks for good work!

move_base_point.02.diff

Revert the changes from previous patch and apply the uploaded one. (i didn't notice i can upload files)

This should work as expected, and works also for edges, faces, for all translate transforms. (only tested on 3DView)

In the previous one, if snap was enabled, was working "as expected" when referencing to other objects than active in Object Mode.

Thanks for testing!

[move_base_point.02.diff](https://archive.blender.org/developer/F228104/move_base_point.02.diff) Revert the changes from previous patch and apply the uploaded one. (i didn't notice i can upload files) This should work as expected, and works also for edges, faces, for all translate transforms. (only tested on 3DView) In the previous one, if snap was enabled, was working "as expected" when referencing to other objects than active in Object Mode. Thanks for testing!
https://vimeo.com/137361362

Nice work! I think that many blender user will be exited to see this released :)

I tried second patch, sometimes everything works smoothly, but sometimes snap is not activated during basepoint selection. Maybe it needs some "fine tuning" :) I thing everybody will be convinced that this feature could be used in many ways as you demonstrate in video. Thanks again!

https://vimeo.com/137361362

Nice work! I think that many blender user will be exited to see this released :) I tried second patch, sometimes everything works smoothly, but sometimes snap is not activated during basepoint selection. Maybe it needs some "fine tuning" :) I thing everybody will be convinced that this feature could be used in many ways as you demonstrate in video. Thanks again! > https://vimeo.com/137361362

Thanks!

I did not noticed your bad behavior, maybe because all my tests have been short tests. Anyway, it needs a little more of working and testing, because as Bastien said transform code is a little messy and affects lots of areas.

I uploaded a new version of the patch, this one fixes numeric input and also block of XYZ values

move_base_point.03.diff

Next fix should be showing correct values on post action in the UI, and also adding the origin point in this area if is set.

Next steps could be using the 3D cursor as origin, (B+C or C key ?) and allow multiple copy (M key as was proposed).

Once working properly, similar changes to rotate and scale transformations could be achieved.

Maybe a good proposal for all this improvements should be a branch / another project were to group, test and share all these general improvements and issues, but also other more specific for mechanical or architectural development, like the availability of setting dimensions on 3D view.

Thanks! I did not noticed your bad behavior, maybe because all my tests have been short tests. Anyway, it needs a little more of working and testing, because as Bastien said transform code is a little messy and affects lots of areas. I uploaded a new version of the patch, this one fixes numeric input and also block of XYZ values [move_base_point.03.diff](https://archive.blender.org/developer/F228378/move_base_point.03.diff) Next fix should be showing correct values on post action in the UI, and also adding the origin point in this area if is set. Next steps could be using the 3D cursor as origin, (B+C or C key ?) and allow multiple copy (M key as was proposed). Once working properly, similar changes to rotate and scale transformations could be achieved. Maybe a good proposal for all this improvements should be a branch / another project were to group, test and share all these general improvements and issues, but also other more specific for mechanical or architectural development, like the availability of setting dimensions on 3D view.

I've been advised to add a fork on github, in order to share it.

https://github.com/mauge123/mechanical-blender

I've been advised to add a fork on github, in order to share it. https://github.com/mauge123/mechanical-blender
Member

Added subscriber: @cnd

Added subscriber: @cnd

Added subscriber: @MadMinstrel

Added subscriber: @MadMinstrel
Member

@Bastien: I agree with Donatas. Ask architects why they prefer modeling in Rhino (or ArchiCAD or SketchUp up to some point): because it's easier (= more intuitive (= has better snap tools)). So at the moment the only reason why this patch would not be used so much, is because architects don't use Blender so much. It's exactly patches like this making Blender better for architects. So arguing against it, because it would not be used, is a bit unfair. I think it's an amazing proposal and a great work by Justas and everybody who started working on it. It's a VERY(!!) helpful step towards more architects using Blender.
Example: With this feature I don't need to create transform axes anymore. You know how many times I tried to teach that to my students? When I did, they always asked: uhm, why do we have to learn Blender? Even some of those who were not as skeptical abandoned Blender after a while. Probably because they did not remember the workarounds anymore (or thought it takes too long to create transform axes).
So, if this patch makes messy code even messier (didn't look at it) then the whole code probably needs to be redesigned anyway? I can understand your concerns about the code. I also don't like code to be a huge mess. But this feature should definitely go into master as soon as possible to my opinion.

@Bastien: I agree with Donatas. Ask architects why they prefer modeling in Rhino (or ArchiCAD or SketchUp up to some point): because it's easier (= more intuitive (= has better snap tools)). So at the moment the only reason why this patch would not be used so much, is because architects don't use Blender so much. It's exactly patches like this making Blender better for architects. So arguing against it, because it would not be used, is a bit unfair. I think it's an amazing proposal and a great work by Justas and everybody who started working on it. It's a VERY(!!) helpful step towards more architects using Blender. Example: With this feature I don't need to create transform axes anymore. You know how many times I tried to teach that to my students? When I did, they always asked: uhm, why do we have to learn Blender? Even some of those who were not as skeptical abandoned Blender after a while. Probably because they did not remember the workarounds anymore (or thought it takes too long to create transform axes). So, if this patch makes messy code even messier (didn't look at it) then the whole code probably needs to be redesigned anyway? I can understand your concerns about the code. I also don't like code to be a huge mess. But this feature should definitely go into master as soon as possible to my opinion.

Added subscriber: @DuarteRamos

Added subscriber: @DuarteRamos

Hello everyone, just want to add an additional voice to the already vocal people here, as an architect myself and blender blender user of about 7 years I want to add my support to this feature . I can't possibly stress enough how important this improvement is, it's one of the last remaining big gripes I have with Blender and what has made me reluctant and prevented me from introducing more fellow workers to this absolutely fantastic software.

Just to make it clear this is a VERY MUCH NEEDED tool for architecture and any generic type of precision modeling, just want to show this is not at all a niche feature. I am really hoping this makes it to trunk.

A very deep thanks to Justas for this :)

Hello everyone, just want to add an additional voice to the already vocal people here, as an architect myself and blender blender user of about 7 years I want to add my support to this feature . I can't possibly stress enough how important this improvement is, it's one of the last remaining big gripes I have with Blender and what has made me reluctant and prevented me from introducing more fellow workers to this absolutely fantastic software. Just to make it clear this is a VERY MUCH NEEDED tool for architecture and any generic type of precision modeling, just want to show this is not at all a niche feature. I am really hoping this makes it to trunk. A very deep thanks to Justas for this :)

Added subscriber: @Traverso

Added subscriber: @Traverso

Added subscriber: @lsscpp

Added subscriber: @lsscpp

Added subscriber: @bliblubli

Added subscriber: @bliblubli

In #45734#331170, @cnd wrote:
You know how many times I tried to teach that to my students? When I did, they always asked: uhm, why do we have to learn Blender? Even some of those who were not as skeptical abandoned Blender after a while. Probably because they did not remember the workarounds anymore (or thought it takes too long to create transform axes).

Exact same experience here. From 60 students last semester, 2 used Blender for their project. My students are happy with my courses (we get marks and remarks fro the students) and I teach other 3D Packages where much more students continue to use what they were taught. I love Blender, and that's why I like patches removing those barriers to adoption. It doesn't change behavior for artists happy without it (just a modal shortcut), so I also would love to see it committed.

> In #45734#331170, @cnd wrote: > You know how many times I tried to teach that to my students? When I did, they always asked: uhm, why do we have to learn Blender? Even some of those who were not as skeptical abandoned Blender after a while. Probably because they did not remember the workarounds anymore (or thought it takes too long to create transform axes). Exact same experience here. From 60 students last semester, 2 used Blender for their project. My students are happy with my courses (we get marks and remarks fro the students) and I teach other 3D Packages where much more students continue to use what they were taught. I love Blender, and that's why I like patches removing those barriers to adoption. It doesn't change behavior for artists happy without it (just a modal shortcut), so I also would love to see it committed.
Member

Removed subscriber: @GregZaal

Removed subscriber: @GregZaal
Member

Added subscriber: @Blendify

Added subscriber: @Blendify

Added subscriber: @EjnarBrendsdal

Added subscriber: @EjnarBrendsdal

I would like to add my full hearted support as well. I am an architect as well. Architects today do CGI all the time. It's just 3D scenes like many other 3D projects. But it needs to be precise. Good snapping is a must and this is about half of the way to reach that goal already!

Question is whether snapping code wise needs to be rethought in blender. For example, in the future, how would you make it possible to snap to both a vertex or an edge without needing to change snapping mode? Or what about midpoint , aligned or perpendicular snapping?
Would this muddy the transform tools code even more and what would be the best future proof way forward here?

I would like to add my full hearted support as well. I am an architect as well. Architects today do CGI all the time. It's just 3D scenes like many other 3D projects. But it needs to be precise. Good snapping is a must and this is about half of the way to reach that goal already! Question is whether snapping code wise needs to be rethought in blender. For example, in the future, how would you make it possible to snap to both a vertex or an edge without needing to change snapping mode? Or what about midpoint , aligned or perpendicular snapping? Would this muddy the transform tools code even more and what would be the best future proof way forward here?

Added subscriber: @sdilmob-3

Added subscriber: @sdilmob-3
Member

Moderation
Please, let's not turn this into a forum-like discussion. Giving feedback why this feature may be useful is okay, but discussing why people prefer other applications is totally of-topic.

**Moderation** Please, let's not turn this into a forum-like discussion. Giving feedback why this feature may be useful is okay, but discussing why people prefer other applications is totally of-topic.
Member

Well, that's what you get if you start arguing that a major useability improvement might not be necessary...

Well, that's what you get if you start arguing that a major useability improvement might not be necessary...

Added subscriber: @JoshStrawbridge

Added subscriber: @JoshStrawbridge

just an artist not a coder

i have some background in the CADD field and i can say this kind of functionality is something i've always missed in blender even though i don't do much CADD work in it.
the hoops we jump through now to line things up properly are a little bit ridiculous from a usability point of view.

the current process is a slowdown and flow breaking to have to stop and turn on and select snap options as well as position the 3d cursor, and even change the pivot point options just to properly align things before turning off/changing back snap options and pivot settings just to get back to our regular modeling settings and otherwise quite speedy modeling workflow.
i've seen multiple tutorials for new blender users cover this sort of thing because it is something that you end up needing to do more often than you'd think.

i really want this proposal to make it into blender.
the way it's proposed seems dead on. this would certainly speed that whole process up and in a way that allows us not to have an odd break of our work flow.

that said it may be nice to be able to choose the middle point between multiple vertices for the base point of scaling things somehow.
especially in instances using the mirror modifier where right now you've got to move the 3d cursor somewhere on the mirror plane and then set the pivot center to 3d cursor in order to scale things without deforming the shape you've made.
usually you end up snapping the 3d cursor between the two vertex points of the edge loop that touch the mirror plane.
so if you could somehow select both of those vertices to place the base point for scaling between them that would really make those instances faster and easier as well. maybe hold shift or ctrl after selecting the initial base point to select a second vertex to place the base point between? or some other way?

i really just wanted to say that this is a fantastic suggestion and point out that there are times when you do need to scale from between multiple vertices rather than just the one.

*just an artist not a coder* i have some background in the CADD field and i can say this kind of functionality is something i've always missed in blender even though i don't do much CADD work in it. the hoops we jump through now to line things up properly are a little bit ridiculous from a usability point of view. the current process is a slowdown and flow breaking to have to stop and turn on and select snap options as well as position the 3d cursor, and even change the pivot point options just to properly align things before turning off/changing back snap options and pivot settings just to get back to our regular modeling settings and otherwise quite speedy modeling workflow. i've seen multiple tutorials for new blender users cover this sort of thing because it is something that you end up needing to do more often than you'd think. i really want this proposal to make it into blender. the way it's proposed seems dead on. this would certainly speed that whole process up and in a way that allows us not to have an odd break of our work flow. that said it may be nice to be able to choose the middle point between multiple vertices for the base point of scaling things somehow. especially in instances using the mirror modifier where right now you've got to move the 3d cursor somewhere on the mirror plane and then set the pivot center to 3d cursor in order to scale things without deforming the shape you've made. usually you end up snapping the 3d cursor between the two vertex points of the edge loop that touch the mirror plane. so if you could somehow select both of those vertices to place the base point for scaling between them that would really make those instances faster and easier as well. maybe hold shift or ctrl after selecting the initial base point to select a second vertex to place the base point between? or some other way? i really just wanted to say that this is a fantastic suggestion and point out that there are times when you do need to scale from between multiple vertices rather than just the one.

Moderation

Talking about moderation, could somebody copy description of Duplicate with basepoint, Multiple duplication proposal, Mirror with basepoint from one of my comment in the middle to main task description? Or grant me ability to do that, because I can not edit task.

And also thanks for support! We all want to make Blender better :)

> **Moderation** Talking about moderation, could somebody copy description of Duplicate with basepoint, Multiple duplication proposal, Mirror with basepoint from one of my comment in the middle to main task description? Or grant me ability to do that, because I can not edit task. And also thanks for support! We all want to make Blender better :)
Member

@JustasIngelevicius, you can do that as a non-Mod by claiming the task (Action->Claim - don't forget to un-claim afterwards)

@JustasIngelevicius, you can do that as a non-Mod by claiming the task (Action->Claim - don't forget to un-claim afterwards)

Added subscriber: @SterlingRoth

Added subscriber: @SterlingRoth

Base point snapping is a great idea. Any way to integrate base point selection with accumulated snap points (pressing a over a snap point in transform)?

Base point snapping is a great idea. Any way to integrate base point selection with accumulated snap points (pressing a over a snap point in transform)?

Base point snapping is a great idea. Any way to integrate base point selection with accumulated snap points (pressing a over a snap point in transform)?

This exactly what is proposed. While selecting basepoint snap should be activated and vertex selected accurately. As Jaume shows in video it works perfectly: https://vimeo.com/137361362

But for me on Ubuntu 15.04 and Blender build with CMake snap while selecting basepoint not always works. For Donatas (Zigzauer) also Ubuntu snap on selecting basepoint does not work at all. Is it way to investigate what causes this behavior? Did anybody else try this patch? Does it work for you?
2015-08-31 18_52_05-Mechanical Blender - Grab with base point preview on Vimeo.png

Also I didn't find how to claim this task to update description. Maybe it is obvious, but I can't see such option :) Should it be there?
2015-09-01 14_28_49-⚓ #45734 Grab, rotate, scale with basepoint.png

> Base point snapping is a great idea. Any way to integrate base point selection with accumulated snap points (pressing a over a snap point in transform)? This exactly what is proposed. While selecting basepoint snap should be activated and vertex selected accurately. As Jaume shows in video it works perfectly: https://vimeo.com/137361362 But for me on Ubuntu 15.04 and Blender build with CMake snap while selecting basepoint not always works. For Donatas (Zigzauer) also Ubuntu snap on selecting basepoint does not work at all. Is it way to investigate what causes this behavior? Did anybody else try this patch? Does it work for you? ![2015-08-31 18_52_05-Mechanical Blender - Grab with base point preview on Vimeo.png](https://archive.blender.org/developer/F229665/2015-08-31_18_52_05-Mechanical_Blender_-_Grab_with_base_point_preview_on_Vimeo.png) Also I didn't find how to claim this task to update description. Maybe it is obvious, but I can't see such option :) Should it be there? ![2015-09-01 14_28_49-⚓ #45734 Grab, rotate, scale with basepoint.png](https://archive.blender.org/developer/F229671/2015-09-01_14_28_49-__T45734_Grab__rotate__scale_with_basepoint.png)

Added subscriber: @PawelLyczkowski-1

Added subscriber: @PawelLyczkowski-1

Some feedback about this.

Problems:

  • The name is not consistent with b3d. A proper one would be Manual Snap Target.
  • As currently, the feature has very low discoverability - it's accessible by a key during transform, and has no GUI element that would hint that such a thing exists.

Solutions:

Place the feature here:

Untitled-1.png

Add info how to set the manual pivot in the tooltip, and in the 3d View header, when it is on, during transform.

Some feedback about this. **Problems:** - The name is not consistent with b3d. A proper one would be Manual Snap Target. - As currently, the feature has very low discoverability - it's accessible by a key during transform, and has no GUI element that would hint that such a thing exists. **Solutions:** Place the feature here: ![Untitled-1.png](https://archive.blender.org/developer/F229678/Untitled-1.png) Add info how to set the manual pivot in the tooltip, and in the 3d View header, when it is on, during transform.
  • The name is not consistent with b3d. A proper one would be Manual Snap Target.
  • As currently, the feature has very low discoverability - it's accessible by a key during transform, and has no GUI element that would hint that such a thing exists.

Good point! So you suggest that when user selects Manual Snap Target everything works even without hitting B during transform?
User selects object then on pressing G object does not move until "basepoint" is selected then moves along cursor ant at the end is released to selected second point. The same with rotate, scale and duplicate.

Yes it would be even better.

For "Duplicate multiple" check box near linked could be added Duplicate multiple.png

I am not sure about buttons. Adding two more one for Duplicate Multiple and one for Duplicate Linked Multiple sounds too much..Duplicate.png

> - The name is not consistent with b3d. A proper one would be Manual Snap Target. > - As currently, the feature has very low discoverability - it's accessible by a key during transform, and has no GUI element that would hint that such a thing exists. Good point! So you suggest that when user selects Manual Snap Target everything works even without hitting B during transform? User selects object then on pressing G object does not move until "basepoint" is selected then moves along cursor ant at the end is released to selected second point. The same with rotate, scale and duplicate. Yes it would be even better. For "Duplicate multiple" check box near linked could be added ![Duplicate multiple.png](https://archive.blender.org/developer/F229689/Duplicate_multiple.png) I am not sure about buttons. Adding two more one for Duplicate Multiple and one for Duplicate Linked Multiple sounds too much..![Duplicate.png](https://archive.blender.org/developer/F229691/Duplicate.png)
Member

@JustasIngelevicius above the comment area the is an action drop down. in that drop down select reassign/ claim

@JustasIngelevicius above the comment area the is an action drop down. in that drop down select reassign/ claim

Thanks for feedback,

Justas, I do not know at this moment why is not working always not working the snap in your system, mine is debian 8. When not working try to move around the vertex with CTRL Key pressed (invert the snap flag) , or SHIFT+TAB to enable/disable it.

Pawel,

I agree that name it as "Manual" is best consistent in Blender and placing it on the UI is good, and allows visibility. I'll check it.Having the keystroke is in may opinion more important, but then maybe should be set to "M"

Thanks for feedback, Justas, I do not know at this moment why is not working always not working the snap in your system, mine is debian 8. When not working try to move around the vertex with CTRL Key pressed (invert the snap flag) , or SHIFT+TAB to enable/disable it. Pawel, I agree that name it as "Manual" is best consistent in Blender and placing it on the UI is good, and allows visibility. I'll check it.Having the keystroke is in may opinion more important, but then maybe should be set to "M"
Justas Ingelevičius self-assigned this 2015-09-01 14:39:38 +02:00
Justas Ingelevičius removed their assignment 2015-09-01 14:42:19 +02:00

I've uploaded a new video, showing the use of this feature on rotation.

Works setting the Snap Target during the operation once the B Key is pressed. You can also use the resulting vector on the center of rotation as axis, allowing to align objects, this is done with W key.

Selecting the center of rotation during transform is not performed, and i think it should be done with another key. So, maybe the need of selecting always is not necessary. In the video I'm placing first the cursor, and then using it. Having the keystroke would avoid all these extra steps.

https://vimeo.com/137948265

I've uploaded a new video, showing the use of this feature on rotation. Works setting the Snap Target during the operation once the B Key is pressed. You can also use the resulting vector on the center of rotation as axis, allowing to align objects, this is done with W key. Selecting the center of rotation during transform is not performed, and i think it should be done with another key. So, maybe the need of selecting always is not necessary. In the video I'm placing first the cursor, and then using it. Having the keystroke would avoid all these extra steps. https://vimeo.com/137948265

Added subscriber: @ClaasKuhnen

Added subscriber: @ClaasKuhnen

I work in Industrial Design and teach also in Interior Design and the build in spanning in Blender is so so often it does work but not always.

The proposed addition is really welcome and works well.

I agree Pawel's suggestion to add it to the snapping list as a type to expose it better.

For the rest setting a start a second reference and a target point is pretty common to me when I work in Rhino.

I work in Industrial Design and teach also in Interior Design and the build in spanning in Blender is so so often it does work but not always. The proposed addition is really welcome and works well. I agree Pawel's suggestion to add it to the snapping list as a type to expose it better. For the rest setting a start a second reference and a target point is pretty common to me when I work in Rhino.
Member

Added subscriber: @blend-it

Added subscriber: @blend-it

I've uploaded a video showing the multiple duplication feature.

https://vimeo.com/138325421

I've have done it in a generic way, so it works for all transforms (tested only on 3D space).

I'll submit another patch for this feature.

I've uploaded a video showing the multiple duplication feature. https://vimeo.com/138325421 I've have done it in a generic way, so it works for all transforms (tested only on 3D space). I'll submit another patch for this feature.

Nice patches. In the duplicate panel (left panel when you call it), it would be nice to add a number for M. I would allow to make a street for example with 10 lamps in one go. Best would be able to type it directly, along x, y and z values directly in the viewport.

Nice patches. In the duplicate panel (left panel when you call it), it would be nice to add a number for M. I would allow to make a street for example with 10 lamps in one go. Best would be able to type it directly, along x, y and z values directly in the viewport.

In #45734#332692, @bliblubli wrote:
Nice patches. In the duplicate panel (left panel when you call it), it would be nice to add a number for M. I would allow to make a street for example with 10 lamps in one go. Best would be able to type it directly, along x, y and z values directly in the viewport.

I think the use case of your proposed M number is not clear. When I want 10 lamps in fixed distance from each other I use array modifier. This multiple duplication is used when I want to copy objects in irregular, manually specified places. Basically if we add this M number you will hit 10, then click around 10 times on different spots, get ten objects and operation stops. So it just helps count to 10 and no more in this case. I'm not sure if you expect this behavior :) If you want to add ability specify distances between objects, you get almost the same as array modifier and this duplication of features would not be good thing.

> In #45734#332692, @bliblubli wrote: > Nice patches. In the duplicate panel (left panel when you call it), it would be nice to add a number for M. I would allow to make a street for example with 10 lamps in one go. Best would be able to type it directly, along x, y and z values directly in the viewport. I think the use case of your proposed M number is not clear. When I want 10 lamps in fixed distance from each other I use array modifier. This multiple duplication is used when I want to copy objects in irregular, manually specified places. Basically if we add this M number you will hit 10, then click around 10 times on different spots, get ten objects and operation stops. So it just helps count to 10 and no more in this case. I'm not sure if you expect this behavior :) If you want to add ability specify distances between objects, you get almost the same as array modifier and this duplication of features would not be good thing.

Which version of Blender do you use to have modifiers available for lamps??? Anyway, the Array modifier doesn't create instances, so it's rare that it is a good choice when you want to optimize your scene. My Idea was to simplify the actual workflow of Shift/Alt-D, enter values and axis, hit Shift-R 20 times if you want 20 instances.

Which version of Blender do you use to have modifiers available for lamps??? Anyway, the Array modifier doesn't create instances, so it's rare that it is a good choice when you want to optimize your scene. My Idea was to simplify the actual workflow of Shift/Alt-D, enter values and axis, hit Shift-R 20 times if you want 20 instances.

Another video showing the selection on the fly of the center of transform, with "C" key, which can be useful on rotate/resize. Note that according to consistency, the B key acts as Manual Target, so it should not be used for Center selection.

https://vimeo.com/138512129

At this point will be missing from this task to get a reference value for scale (another shortcut with 2 points ?), the plane select with 3 points for mirroring, and UI discussions about shortcuts / buttons.

Another video showing the selection on the fly of the center of transform, with "C" key, which can be useful on rotate/resize. Note that according to consistency, the B key acts as Manual Target, so it should not be used for Center selection. https://vimeo.com/138512129 At this point will be missing from this task to get a reference value for scale (another shortcut with 2 points ?), the plane select with 3 points for mirroring, and UI discussions about shortcuts / buttons.

Another video showing the selection on the fly of the center of transform, with "C" key, which can be useful on rotate/resize. Note that according to consistency, the B key acts as Manual Target, so it should not be used for Center selection.
https://vimeo.com/138512129

Center of Transform is called a Pivot Point in b3d. A Manual Pivot Point should be placed here:

Untitled-1.png

UX wise, I would expect it to ask the user to specify an element (vertex/edge/face) where the pivot point is to be placed when a transform is started, use the last one used by default, and allow to reselect one by using a shortcut displayed in the header.

>Another video showing the selection on the fly of the center of transform, with "C" key, which can be useful on rotate/resize. Note that according to consistency, the B key acts as Manual Target, so it should not be used for Center selection. >https://vimeo.com/138512129 Center of Transform is called a Pivot Point in b3d. A Manual Pivot Point should be placed here: ![Untitled-1.png](https://archive.blender.org/developer/F231182/Untitled-1.png) UX wise, I would expect it to ask the user to specify an element (vertex/edge/face) where the pivot point is to be placed when a transform is started, use the last one used by default, and allow to reselect one by using a shortcut displayed in the header.

May I suggest in the proposed mirror operator that it default to mirror only in the XY plane.
Then pressing a button if you want to specify three points for the exact plane?

From working with rhino I know that you often use XY plane more often than three point placement.
I like where this is going though.

May I suggest in the proposed mirror operator that it default to mirror only in the XY plane. Then pressing a button if you want to specify three points for the exact plane? From working with rhino I know that you often use XY plane more often than three point placement. I like where this is going though.

Hey @JustasIngelevicius, @JaumeBellet, this has a lot of promise, and in essence is a very valuable and powerful feature. However, as it stands right now it needs a lot of work and/or rethinking.

Feedback

  • Separation between the 3D Cursor and Basepoints is very muddy:
  • It's not clear to me if Basepoints are intended to be Transform Origins or Snap Targets / Elements or both.
  • Modal interaction and user feedback is very poor right now:
  • When using Manual snapping for example, there's no visual feedback for selecting basepoints. No hover, or other feedback to indicate that you're in a transform operator. The toolbar callout of Select a Base Point
    is not sufficient. It needs directions for how and why.
  • How is a user to know what a base point is, or how it relates to Manual Snap Targets?
  • The Base Point sub-modal is causing a lot of confusion. For example, if Manual snapping is enabling and you start a Rotation Operator, then the dashed line indicator is still drawn, but it doesn't do anything as it's waiting for a Base Point.
  • Discoverability is really poor, leading to less usefulness and more user frustration:
  • As with multiple snap targets in transform (A), this is very difficult for new users to discover since it's hidden within the modal operator and is dependent on snapping configuration.
  • The discoverability is not just a problem with these Base Points, it's a problem with most of Blender's modal operators, which is one of the issues that (I personally hope) needs to be resolved during the 2.8x project, but it's particularly evident here.

Suggestions

We discussed this a bit in the #blenderui IRC channel (@ideasman42, @JulianEisel, @PawelLyczkowski-1, and myself), and it was mostly agreed that this is a good feature to support, but it needs to be done more carefully and comprehensively. Blender's snap system is really quite primitive and needs a lot of improvements (such as this one), but it needs to scoped out well made to work well together with other parts of Blender, such as the 3D Cursor.

At this point it's probably best to step back and scope it out more carefully, perhaps for inclusion in the 2.8x project.

Here's a few questions to consider:

  • How do base points and the 3D Cursor interact?
  • Are there changes that could be made to the 3D Cursor to let it take on the functionality of base points rather than adding another tool? For example, this patch makes some progress in that direction: #40952
  • How can the functionality be integrated with all snapping modes and exposed to the user in a clear way?
  • Perhaps this should be integrated through the Widgets work @JulianEisel is doing? https://code.blender.org/2015/09/the-custom-manipulator-project-widget-project/
Hey @JustasIngelevicius, @JaumeBellet, this has a lot of promise, and in essence is a very valuable and powerful feature. However, as it stands right now it needs a lot of work and/or rethinking. ## Feedback - Separation between the 3D Cursor and Basepoints is very muddy: - It's not clear to me if Basepoints are intended to be Transform Origins or Snap Targets / Elements or both. - Modal interaction and user feedback is very poor right now: - When using Manual snapping for example, there's no visual feedback for selecting basepoints. No hover, or other feedback to indicate that you're in a transform operator. The toolbar callout of *Select a Base Point* is not sufficient. It needs directions for how and why. - How is a user to know what a base point is, or how it relates to **Manual** Snap Targets? - The **Base Point** sub-modal is causing a lot of confusion. For example, if *Manual* snapping is enabling and you start a Rotation Operator, then the dashed line indicator is still drawn, but it doesn't do anything as it's waiting for a Base Point. - Discoverability is really poor, leading to less usefulness and more user frustration: - As with multiple snap targets in transform (A), this is very difficult for new users to discover since it's hidden within the modal operator and is dependent on snapping configuration. - The discoverability is not just a problem with these Base Points, it's a problem with most of Blender's modal operators, which is one of the issues that (I personally hope) needs to be resolved during the 2.8x project, but it's particularly evident here. ## Suggestions We discussed this a bit in the #blenderui IRC channel (@ideasman42, @JulianEisel, @PawelLyczkowski-1, and myself), and it was mostly agreed that this *is a good feature to support*, but it needs to be done more carefully and comprehensively. Blender's snap system is really quite primitive and needs a lot of improvements (such as this one), but it needs to scoped out well made to work well together with other parts of Blender, such as the 3D Cursor. At this point it's probably best to step back and scope it out more carefully, perhaps for inclusion in the 2.8x project. **Here's a few questions to consider:** - How do base points and the 3D Cursor interact? - Are there changes that could be made to the 3D Cursor to let it take on the functionality of base points rather than adding another tool? For example, this patch makes some progress in that direction: #40952 - How can the functionality be integrated with all snapping modes and exposed to the user in a clear way? - Perhaps this should be integrated through the Widgets work @JulianEisel is doing? https://code.blender.org/2015/09/the-custom-manipulator-project-widget-project/

Thanks for your comments!

I agree that is still needing some works, regarding to UI, some things like changing the cursor when selecting is already done (removing the helper) in rotations but not uploaded in blender patch tracker. But maybe another cursor should be set to realize you must select a point/reference.

I think that the feature has been designed at the beginning according what a CAD user expects to found. I would remove the term of "BasePoint" and use the proposed "Manual Pivot Point" and "Manual Snap Target".

The sub-modal(s) should also be checked and not pass through all events, as is currently done. Also the whole changes should be checked in other areas of blender, as the transform code is not used only on 3DView space

Currently they are missing the submodals to select two points for reference (Vector) for scale reference, and 3 points reference (plane) for Mirrors.

Anyway, i can see that maybe the transform code will change on 2.8x ¿? Should I continue working on current code ?

Is there any place to checkout the custom-manipulator-project and see it's status ?

Thanks for your comments! I agree that is still needing some works, regarding to UI, some things like changing the cursor when selecting is already done (removing the helper) in rotations but not uploaded in blender patch tracker. But maybe another cursor should be set to realize you must select a point/reference. I think that the feature has been designed at the beginning according what a CAD user expects to found. I would remove the term of "BasePoint" and use the proposed "Manual Pivot Point" and "Manual Snap Target". The sub-modal(s) should also be checked and not pass through all events, as is currently done. Also the whole changes should be checked in other areas of blender, as the transform code is not used only on 3DView space Currently they are missing the submodals to select two points for reference (Vector) for scale reference, and 3 points reference (plane) for Mirrors. Anyway, i can see that maybe the transform code will change on 2.8x ¿? Should I continue working on current code ? Is there any place to checkout the custom-manipulator-project and see it's status ?

Custom manipulators are a branch of official git repo (https://developer.blender.org/diffusion/B/browse/wiggly-widgets/). :)

Custom manipulators are a branch of official git repo (https://developer.blender.org/diffusion/B/browse/wiggly-widgets/). :)

https://vimeo.com/139064792

I've been solving some issues, and showing a cursor while selecting a point, and setting manual pivot and manual snap target as options.

https://vimeo.com/139064792 I've been solving some issues, and showing a cursor while selecting a point, and setting manual pivot and manual snap target as options.

just my perspective on the feedback and questions as a user with a CADD background.

feedback

separation between the 3d cursor and base points is muddy because the 3d cursor is a base point if you set it as the transform origin/pivot point.
in other programs a "base point" is a transform origin and a "snap target" is what you want that transform to snap to.
in blender a "snap target" is kind of a mix between what is, in this proposal, called "base points" and "reference" points.
in the case of using the move/grab tool the snap target would be the base point but in regards to rotation/scale tools then blender's snap targets would be "reference" points.... because blender is just weird like that.
blender's implementation of these things seems inconsistent to me. i mean everyone calls it the transform origin rather than the pivot point regardless of what blender's tooltips say and let's be honest i don't expect "snap target" to have anything to do with what i've already selected rather than what i'm aiming at snapping to so the default "closest" seems like a great choice when honestly it's a horrible choice for precise work.
it took me forever to figure out that you could do all the same things as this proposal allows (though it's much more roundabout than how this proposal does it) and i don't believe i've ever seen a tutorial actually cover how to do it much less seen a tutorial where anyone ever changed that from "closest" i have seen tutorials where they say you have to basically make two moves/grabs in order to precisely snap that way though. so that wording seems likely to throw people off rather than help.
i'm embarrassed to say that i've been using blender since at least 2008 and have only just figured out how to do this stuff recently.

questions to think about

  1. 3d cursor is a base point. it's just currently much more of a hassle to use than this proposed implementation of a precisely and easily chosen base point

  2. the 3d cursor already has the functionality of a base point it just isn't used as well as it could be and it also has problems for precise rotation/scaling since it is just a single point (set blender's snap target to active and go into edit mode to make a precise choice of the second point needed for precise rotation) and in the case of moving/grabbing it gets entirely replaced by the snap target option selections rather than being the "base point" there too.

essentially blender's tools already have "base points." you just happen to know them as transform origins or the "pivot center for rotation/scaling" (active element/median point/individual origins/3d cursor/bounding box center) and the snap target options for the move/grab tool.

in order to precisely do things like this proposal easily lets you do, you have to set yourself up so you can. again, for the move/grab tool you just have to change the snap target to "active" and enter edit mode. the center of the active element becomes your "base point"
for rotation/scaling you have to first turn the transformation origin to the 3d cursor, then snap the 3d cursor to your "base point." now you turn on your snap mode to edge or vertex (really anything other than increment but those work best for precision work) and set the snap target to active. then select what you're going to rotate/scale and make sure you select your "reference" point last so that it is the active element so that it will actually act as the "reference" point. now you can just activate a rotation or scale and it will snap to things like is easily and quickly done in this proposal.

  1. the base functionality is already integrated with snapping modes it just isn't very noticed by us users or even that clear that this kind of thing is doable. you just have to go through the process of swapping the transform origin, snapping the 3d cursor, setting the proper snap mode and target and making sure you've got the right thing selected as the active element, every time before you rotate or scale. granted you'l likely undo or have to change at least 3 of those 5 things every time you want to do this process.

  2. what do widgets have to do with this? if i read that page right that work is essentially about making the workspace more workable rather than having to rely on buttons and sliders in panels or tabs. granted that project would work great for things like spin where you've got number of values and settings to adjust but move scale and rotate already have widgets and while they're nice they're no good for quick but precise work and they won't really be much good for selecting base points, reference points, and snap targets.

personal thoughts

you can do the basics of this stuff already (in edit mode) except maybe the mirror thing but it is a much bigger hassle than this.

in the last video that Jaume Bellet posted the only problem i see is that when you add these as new options for snap target modes and pivot points/transform origins why would me or anyone else bother to use the old ones instead?
the only reason i can think of is if we just don't bother picking them because we use the hotkeys for this.
i certainly don't enjoy having to stop and swap my pivot point every time i need to do something like this when i know i'll have to swap it back right afterwards. i know . and ctrl comma but those are usually out of my natural reach so i use the mouse instead.
the only possible concern i have for this is that maybe there won't be a setting in the user preferences that allows me to have blender temporarily swap the snap mode to vertex (or user's choice) when i hit the b hotkey only to have it automatically swap back to increment once the move/rotate/scale is finished.
if it does do that then i can just leave the default snap mode as incremental and i'll virtually never have to touch that setting ever again.

just my perspective on the feedback and questions as a user with a CADD background. feedback --- separation between the 3d cursor and base points is muddy because the 3d cursor is a base point if you set it as the transform origin/pivot point. in other programs a "base point" is a transform origin and a "snap target" is what you want that transform to snap to. in blender a "snap target" is kind of a mix between what is, in this proposal, called "base points" and "reference" points. in the case of using the move/grab tool the snap target would be the base point but in regards to rotation/scale tools then blender's snap targets would be "reference" points.... because blender is just weird like that. blender's implementation of these things seems inconsistent to me. i mean everyone calls it the transform origin rather than the pivot point regardless of what blender's tooltips say and let's be honest i don't expect "snap target" to have anything to do with what i've already selected rather than what i'm aiming at snapping to so the default "closest" seems like a great choice when honestly it's a horrible choice for precise work. it took me forever to figure out that you could do all the same things as this proposal allows (though it's much more roundabout than how this proposal does it) and i don't believe i've ever seen a tutorial actually cover how to do it much less seen a tutorial where anyone ever changed that from "closest" i have seen tutorials where they say you have to basically make two moves/grabs in order to precisely snap that way though. so that wording seems likely to throw people off rather than help. i'm embarrassed to say that i've been using blender since at least 2008 and have only just figured out how to do this stuff recently. questions to think about --- 1. 3d cursor is a base point. it's just currently much more of a hassle to use than this proposed implementation of a precisely and easily chosen base point 2. the 3d cursor already has the functionality of a base point it just isn't used as well as it could be and it also has problems for precise rotation/scaling since it is just a single point (set blender's snap target to active and go into edit mode to make a precise choice of the second point needed for precise rotation) and in the case of moving/grabbing it gets entirely replaced by the snap target option selections rather than being the "base point" there too. essentially blender's tools already have "base points." you just happen to know them as transform origins or the "pivot center for rotation/scaling" (active element/median point/individual origins/3d cursor/bounding box center) and the snap target options for the move/grab tool. in order to precisely do things like this proposal easily lets you do, you have to set yourself up so you can. again, for the move/grab tool you just have to change the snap target to "active" and enter edit mode. the center of the active element becomes your "base point" for rotation/scaling you have to first turn the transformation origin to the 3d cursor, then snap the 3d cursor to your "base point." now you turn on your snap mode to edge or vertex (really anything other than increment but those work best for precision work) and set the snap target to active. then select what you're going to rotate/scale and make sure you select your "reference" point last so that it is the active element so that it will actually act as the "reference" point. now you can just activate a rotation or scale and it will snap to things like is easily and quickly done in this proposal. 3. the base functionality is already integrated with snapping modes it just isn't very noticed by us users or even that clear that this kind of thing is doable. you just have to go through the process of swapping the transform origin, snapping the 3d cursor, setting the proper snap mode and target and making sure you've got the right thing selected as the active element, every time before you rotate or scale. granted you'l likely undo or have to change at least 3 of those 5 things every time you want to do this process. 4. what do widgets have to do with this? if i read that page right that work is essentially about making the workspace more workable rather than having to rely on buttons and sliders in panels or tabs. granted that project would work great for things like spin where you've got number of values and settings to adjust but move scale and rotate already have widgets and while they're nice they're no good for quick but precise work and they won't really be much good for selecting base points, reference points, and snap targets. personal thoughts --- you can do the basics of this stuff already (in edit mode) except maybe the mirror thing but it is a much bigger hassle than this. in the last video that Jaume Bellet posted the only problem i see is that when you add these as new options for snap target modes and pivot points/transform origins why would me or anyone else bother to use the old ones instead? the only reason i can think of is if we just don't bother picking them because we use the hotkeys for this. i certainly don't enjoy having to stop and swap my pivot point every time i need to do something like this when i know i'll have to swap it back right afterwards. i know . and ctrl comma but those are usually out of my natural reach so i use the mouse instead. the only possible concern i have for this is that maybe there won't be a setting in the user preferences that allows me to have blender temporarily swap the snap mode to vertex (or user's choice) when i hit the b hotkey only to have it automatically swap back to increment once the move/rotate/scale is finished. if it does do that then i can just leave the default snap mode as incremental and i'll virtually never have to touch that setting ever again.

I'm also a CAD user and actually work on CAD enviroments.

IMHO the shorcut proposal is what you could expect.

On translations
Start operation
[B -> selects a reference point]
Place it

On rotations
Start operation
[C -> select the center of rotation]
[B -> select a reference point]
Place it.

On scale
Start Operation
[C -> select the center of scale]
[B -> select a reference point]
Place it.

Note that CRTL+SHIFT+TAB is working during point select so you can change this setting during the operation.

The settings and names on the UI were added to match what you currently find in Blender. If you set the snap target as manual, you will be must always select the reference point, so i think it's not so bad. The same for the center of transform. In case both settings are enabled, center goes first. Maybe a way for selecting the last one used will be also useful.

I'm also a CAD user and actually work on CAD enviroments. IMHO the shorcut proposal is what you could expect. On translations Start operation [B -> selects a reference point] Place it On rotations Start operation [C -> select the center of rotation] [B -> select a reference point] Place it. On scale Start Operation [C -> select the center of scale] [B -> select a reference point] Place it. Note that CRTL+SHIFT+TAB is working during point select so you can change this setting during the operation. The settings and names on the UI were added to match what you currently find in Blender. If you set the snap target as manual, you will be must always select the reference point, so i think it's not so bad. The same for the center of transform. In case both settings are enabled, center goes first. Maybe a way for selecting the last one used will be also useful.

I'm assisting to Blender Conference. So if anyone is interested and is going there we can talk about it and other cad improvements :)

@JustasIngelevicius and me we have a presentation there

https://www.blender.org/conference/2015/presentations/199

I'm assisting to Blender Conference. So if anyone is interested and is going there we can talk about it and other cad improvements :) @JustasIngelevicius and me we have a presentation there https://www.blender.org/conference/2015/presentations/199

I've upload another video showing combination of snap and multiple transform feature.

https://vimeo.com/143426398

The presentation was not as good as expected as we had linux problems... for getting output to projector, so realtime demonstration during it was not possible.

I've upload another video showing combination of snap and multiple transform feature. https://vimeo.com/143426398 The presentation was not as good as expected as we had linux problems... for getting output to projector, so realtime demonstration during it was not possible.

Following our discussion in the diff thread, could you add the possibility to move the view to the whole process? At the moment, most user will zoom in to select snap point and will then be unable to select target because Blender blocks the view when grab/rotate/scale or duplicate starts. I know this is not due to your patch, but at the moment it can't work properly in real cases (relatively complex scene with lot of possible vertices to snap from/to).
Your patch is on a really good way :)

Following our discussion in the diff thread, could you add the possibility to move the view to the whole process? At the moment, most user will zoom in to select snap point and will then be unable to select target because Blender blocks the view when grab/rotate/scale or duplicate starts. I know this is not due to your patch, but at the moment it can't work properly in real cases (relatively complex scene with lot of possible vertices to snap from/to). Your patch is on a really good way :)

The availability to move the scene during point selection is done bypassing events and maybe some checks could be done there. As blender has especial mouse input during operation, I maintain as is when applying it because i do not want to change blender user inputs, so maybe and option should be having a flag enabled by user, allowing the transform use the mouse input as usual or moving around the scene. I think lots of user are missing this, and moreover is you want to place and object from one place to other with precision, or need to zoom in/out for selection, or if you use the multiple transform feature also added in the patch.

It should be good to know the opinion of @JulianEisel and as i think he is working over the UI

The problem of working on a patch, is maybe is difficult from some users to apply it, just to check it's functionality. Also the transform code is used in lots of places in blender, so changes on it can introduce a bug in other ares, i have only tested on 3D view. Maybe splitting the patch will be useful, although is a little difficult as the whole functionality of it is related. Also blender is changing relatively fast, so there can be changes that they break the applying of the patch as already happened, or the patch functionality.

The availability to move the scene during point selection is done bypassing events and maybe some checks could be done there. As blender has especial mouse input during operation, I maintain as is when applying it because i do not want to change blender user inputs, so maybe and option should be having a flag enabled by user, allowing the transform use the mouse input as usual or moving around the scene. I think lots of user are missing this, and moreover is you want to place and object from one place to other with precision, or need to zoom in/out for selection, or if you use the multiple transform feature also added in the patch. It should be good to know the opinion of @JulianEisel and as i think he is working over the UI The problem of working on a patch, is maybe is difficult from some users to apply it, just to check it's functionality. Also the transform code is used in lots of places in blender, so changes on it can introduce a bug in other ares, i have only tested on 3D view. Maybe splitting the patch will be useful, although is a little difficult as the whole functionality of it is related. Also blender is changing relatively fast, so there can be changes that they break the applying of the patch as already happened, or the patch functionality.

As I said, it's impossible to use it in large/complex scene at the moment because of the conflict between precision needed to select the snap element end the large view user need to move the object. Maybe you can add a key like you did with B to free the view position during grab?

As I said, it's impossible to use it in large/complex scene at the moment because of the conflict between precision needed to select the snap element end the large view user need to move the object. Maybe you can add a key like you did with B to free the view position during grab?

Removed subscriber: @NikoLeopold

Removed subscriber: @NikoLeopold
Member

Removed subscriber: @Blendify

Removed subscriber: @Blendify

As an architect using Blender for archviz and precision modeling frequently I can't really stress again how important of an improvement this is for Blender.

I have not tested it myself, but from the very thorough videos and step-by-step screenshots posted here I would argue that usability wise this seems very close to the workflow other CAD-like applications use, and probably very much in line with what most users seeking this functionality are most likely expecting to find.
I would dare say that a "hard to find feature" or "hidden" is better than no feature at all, and has it stands it doesn't seem any harder to find than the current XYZ axis constraints.
Bottom line I really hope Blender devs seriously consider this for inclusion as it currently stands, since this solves what is currently one of the most serious limitations of Blender for hard-edge or precision modeling in a very standard and non intrusive way.

As mentioned by @bliblubli the ability to manipulate view during operators would be really nice addition, not only during transforms but other operations too, though that would probably be deeper change with many potential complications and conflicts better suited for a more general revamp beyond the scope of this patch.

As an architect using Blender for archviz and precision modeling frequently I can't really stress again how important of an improvement this is for Blender. I have not tested it myself, but from the very thorough videos and step-by-step screenshots posted here I would argue that usability wise this seems very close to the workflow other CAD-like applications use, and probably very much in line with what most users seeking this functionality are most likely expecting to find. I would dare say that a "hard to find feature" or "hidden" is better than no feature at all, and has it stands it doesn't seem any harder to find than the current XYZ axis constraints. Bottom line I really hope Blender devs seriously consider this for inclusion as it currently stands, since this solves what is currently one of the most serious limitations of Blender for hard-edge or precision modeling in a very standard and non intrusive way. As mentioned by @bliblubli the ability to manipulate view during operators would be really nice addition, not only during transforms but other operations too, though that would probably be deeper change with many potential complications and conflicts better suited for a more general revamp beyond the scope of this patch.
Member

Added subscriber: @eroMoD

Added subscriber: @eroMoD
Member

I want this, how can I have it?

I want this, how can I have it?
Member

I want this, how can I have it?

I want this, how can I have it?

Removed subscriber: @Traverso

Removed subscriber: @Traverso

With #47032 in the tracker this work could really integrate with the new widgets as suggested by Jonathan Williamson
Just like the widgets draw the transform axis with the XYZ labels maybe the origin center, base points, and reference points could also have the corresponding hotkeys displayed as a label as well, allowing changing them either by clicking on them directly in viewport or by pressing corresponding hotkey, improving both usability and discoverability.

Forgive my insistence but I really appreciate Justa's work and think this is a very important improvement for Blender.

With #47032 in the tracker this work could really integrate with the new widgets as suggested by Jonathan Williamson Just like the widgets draw the transform axis with the XYZ labels maybe the origin center, base points, and reference points could also have the corresponding hotkeys displayed as a label as well, allowing changing them either by clicking on them directly in viewport or by pressing corresponding hotkey, improving both usability and discoverability. Forgive my insistence but I really appreciate Justa's work and think this is a very important improvement for Blender.

In my opinion as a cad user the place where the XYZ axis are drawn should be the origin of coordinates, and not a base point. So a user could expect / need to place something from one point to a specific coordinates that could be based on this origin. At the moment with the changes implemented this could be achieved using the 3D cursor.

Some time ago i tested the changes related to this task D1501 on the widget project branch as working, i'll check again, and also i'll follow the changes related to the project ;)

In my opinion as a cad user the place where the XYZ axis are drawn should be the origin of coordinates, and not a base point. So a user could expect / need to place something from one point to a specific coordinates that could be based on this origin. At the moment with the changes implemented this could be achieved using the 3D cursor. Some time ago i tested the changes related to this task [D1501](https://archive.blender.org/developer/D1501) on the widget project branch as working, i'll check again, and also i'll follow the changes related to the project ;)

It is great to see that the widget system is being reworked, but I think it might miss some of the glorious aspects of this proposal here:
Defining a start point, defining a mid point, then scaling/rotating to a target point.
Everybody that works in object design uses that in nearly every other application.

In terms of how well this feature is presented through the UI could easily be solved by adding something inside the pivot point menu and good it is.
For further information read the manual.

I am somewhat a little surprised to see the resistance here the proposed enhancements.
I am curious about how many of the the critics work in other CAD apps and not the workflow there?

Maybe you are not just comfortable with the proposal because it works different than you personally do work?
I am just genuinely curious.

It is great to see that the widget system is being reworked, but I think it might miss some of the glorious aspects of this proposal here: Defining a start point, defining a mid point, then scaling/rotating to a target point. Everybody that works in object design uses that in nearly every other application. In terms of how well this feature is presented through the UI could easily be solved by adding something inside the pivot point menu and good it is. For further information read the manual. I am somewhat a little surprised to see the resistance here the proposed enhancements. I am curious about how many of the the critics work in other CAD apps and not the workflow there? Maybe you are not just comfortable with the proposal because it works different than you personally do work? I am just genuinely curious.
Justas Ingelevičius was assigned by Julian Eisel 2016-01-15 16:31:13 +01:00
Member

@ClaasKuhnen, The reason we're not really keen about adding this feature as is, is basically that we think we can increase the potential by a better integration in UI and workflow. This might involve redesigning the entire snapping toolset, but IMHO it will totally be worth it (and has to be done at some point anyway).


This task has become another hard-to-follow-wall-of-text, so I suggest we try to bring discussion back to design itself, mainly based on Jonathan's comment (which is UI team feedback). @JustasIngelevicius maybe you could add a section to the task description that lists the currently open questions to discuss, and what general consensus is? Just so that people can get an overview of the discussion without having to read up on all comments (I for my part already lost track long ago already :S). Assigned the task to you, so you can edit the description.

@ClaasKuhnen, The reason we're not really keen about adding this feature as is, is basically that we think we can increase the potential by a better integration in UI and workflow. This might involve redesigning the entire snapping toolset, but IMHO it will totally be worth it (and has to be done at some point anyway). ---- This task has become another *hard-to-follow-wall-of-text*, so I suggest we try to bring discussion back to design itself, mainly based on [Jonathan's comment ](https://developer.blender.org/T45734#333171) (which is UI team feedback). @JustasIngelevicius maybe you could add a section to the task description that lists the currently open questions to discuss, and what general consensus is? Just so that people can get an overview of the discussion without having to read up on all comments (I for my part already lost track long ago already :S). Assigned the task to you, so you can edit the description.

@JustasIngelevicius maybe you could add a section to the task description that lists the currently open questions to discuss, and what general consensus is? Just so that people can get an overview of the discussion without having to read up on all comments (I for my part already lost track long ago already :S). Assigned the task to you, so you can edit the description.

Good idea. I will be away for some days. Could work on that next week.

@JustasIngelevicius maybe you could add a section to the task description that lists the currently open questions to discuss, and what general consensus is? Just so that people can get an overview of the discussion without having to read up on all comments (I for my part already lost track long ago already :S). Assigned the task to you, so you can edit the description. Good idea. I will be away for some days. Could work on that next week.

Removed subscriber: @mont29

Removed subscriber: @mont29

@JulianEisel

Well in case that is the goal, then I am all for it.

The proposed widget idea is good, making it movable like an object.
This should be true also for the 3D cursor. You still cannot move drag snap it in object mode.

But the value of Justas idea is less an improvement to the widget but providing really needed
translation options.

Start point, reference point, target point for scale and rotation.
Start point for object snapping.

Currently you can snap in Blender objects to objects but you have to perform man x y z commands to
snap it the way you want and not the what Blender can come up with a possible solution.

@JulianEisel Well in case that is the goal, then I am all for it. The proposed widget idea is good, making it movable like an object. This should be true also for the 3D cursor. You still cannot move drag snap it in object mode. But the value of Justas idea is less an improvement to the widget but providing really needed translation options. Start point, reference point, target point for scale and rotation. Start point for object snapping. Currently you can snap in Blender objects to objects but you have to perform man x y z commands to snap it the way you want and not the what Blender can come up with a possible solution.

Added subscriber: @DavidUllmann

Added subscriber: @DavidUllmann

Added subscriber: @kakachiex2

Added subscriber: @kakachiex2

Added subscriber: @JosephCharles

Added subscriber: @JosephCharles

Added subscriber: @iklsr

Added subscriber: @iklsr

Added subscriber: @Alex-9

Added subscriber: @Alex-9

I'm not sure if it's good place to post suggestion but couldn't find better.
In CAD objects are moved after selecting point not directly after command like in Blender. CAD simply waits for input after command.
I think that instead of selecting point via B and C user should press modifier key (alt maybe?) or "precise snap" key like suggested "B" to disable transform (make Blender wait for input) and turn on snapping. It would allow selection of multiple points regardless of transform and wouldn't require many keys that can conflict.
It is really similar to CAD way, as we are told there to select points one by one and we are doing it in certain order. It could be universal for all operations.
Here gifs from FreeCAD. To move I selected object, then press MV (move), selected first point and then second. Similar with rotation: select, RO, first point as base, second as reference, third as target.
move_base_point.gif
rotate_base_point.gif
Basepoint is defined when rotating and scaling. When moving there are only reference point and target point. If there is new transform widget in blender that widget also could be transformed using points, e.g. to rotate it or precisely move. What I mean, is that transforming using points is rather coordinate system extension using user defined coordinates that are stored to calculate required transformation. As you can see on gifs in FreeCAD there is additional "circle" inside cursor that snaps to objects during selection of base and target points. To me that coordinate extension is more 3d cursor then widget and 3d cursor would need to be "split to several cursors" to allow selection of multiple coordinates.
There is Enhanced 3d Cursor addon that allows realtime 3d cursor snapping when holding right click and dragging but idea is that we can select reference point (that second point I selected during rotate) and target point (third point), so we are able to pick length or angle between existing elements.

I'm not sure if it's good place to post suggestion but couldn't find better. In CAD objects are moved after selecting point not directly after command like in Blender. CAD simply waits for input after command. I think that instead of selecting point via B and C user should press modifier key (alt maybe?) or "precise snap" key like suggested "B" to disable transform (make Blender wait for input) and turn on snapping. It would allow selection of multiple points regardless of transform and wouldn't require many keys that can conflict. It is really similar to CAD way, as we are told there to select points one by one and we are doing it in certain order. It could be universal for all operations. Here gifs from FreeCAD. To move I selected object, then press MV (move), selected first point and then second. Similar with rotation: select, RO, first point as base, second as reference, third as target. ![move_base_point.gif](https://archive.blender.org/developer/F438743/move_base_point.gif) ![rotate_base_point.gif](https://archive.blender.org/developer/F438746/rotate_base_point.gif) Basepoint is defined when rotating and scaling. When moving there are only reference point and target point. If there is new transform widget in blender that widget also could be transformed using points, e.g. to rotate it or precisely move. What I mean, is that transforming using points is rather coordinate system extension using user defined coordinates that are stored to calculate required transformation. As you can see on gifs in FreeCAD there is additional "circle" inside cursor that snaps to objects during selection of base and target points. To me that coordinate extension is more 3d cursor then widget and 3d cursor would need to be "split to several cursors" to allow selection of multiple coordinates. There is Enhanced 3d Cursor addon that allows realtime 3d cursor snapping when holding right click and dragging but idea is that we can select reference point (that second point I selected during rotate) and target point (third point), so we are able to pick length or angle between existing elements.

Added subscriber: @MaciejMorgas

Added subscriber: @MaciejMorgas

Added subscriber: @NahuelBelich

Added subscriber: @NahuelBelich

Added subscriber: @DanPool

Added subscriber: @DanPool

As a Blender user who works fulltime doing ArchViz and Mechanical Engineering Visualization, I can say that this is a long absent feature that is absolutely needed for people in technical rendering fields. People doing this kind of work need features like this.

Blender is so incredibly close to being an industry leader. I truly believe this. Adding powerful snap and a few vital animation tools will put in the league with the most used Viz and CC software to the point that any minor improvements will be leading these industries. Excellent work keep it up.

As a Blender user who works fulltime doing ArchViz and Mechanical Engineering Visualization, I can say that this is a long absent feature that is absolutely needed for people in technical rendering fields. People doing this kind of work need features like this. Blender is so incredibly close to being an industry leader. I truly believe this. Adding powerful snap and a few vital animation tools will put in the league with the most used Viz and CC software to the point that any minor improvements will be leading these industries. Excellent work keep it up.

i still very much want this as well.
it seems like some of the changes to the 3d cursor in 2.8 might be used to make the base point more "blender" ish if it needs that....
maybe since they're messing with the 3d cursor in 2.8 they'll be willing to mess with snap targets too in order to improve them in 2.8 as well.
enabling something done quick and easy but precise like this enables you to do would be a good use case for improvements to the current system.

i still very much want this as well. it seems like some of the changes to the 3d cursor in 2.8 might be used to make the base point more "blender" ish if it needs that.... maybe since they're messing with the 3d cursor in 2.8 they'll be willing to mess with snap targets too in order to improve them in 2.8 as well. enabling something done quick and easy but precise like this enables you to do would be a good use case for improvements to the current system.

I think this was originally declined by the developers because it tampered too much with the transform code, which was said to be delicate already.
Wondering if something like this could somehow integrate with the new work being done on #54661 (Gizmo Design) instead.

I think this was originally declined by the developers because it tampered too much with the transform code, which was said to be delicate already. Wondering if something like this could somehow integrate with the new work being done on #54661 (Gizmo Design) instead.

Added subscriber: @1D_Inc

Added subscriber: @1D_Inc

A very nice tread about 2-point CAD snap!
But we should also remember, that all of this should work in both object and edit modes.

A very nice tread about 2-point CAD snap! But we should also remember, that all of this should work in both object and edit modes.

In 2013 I started research to discover tool, that will allow any kind of precise 3D transformation of selection, based on CAD snap system like this.
Here is my proposal for temporal widged that can expand this snap system.
It is based on behaviour of current ruler/protactor tool with ability to "hook" current object selection (like pose mode in armature) to bring precise CAD alignation.

With 2 point Key:

Key 2point transform.png

With 3 point Key:

Key 3point transform.png

This tool concept is based on series of research that was made in 1D_Scripts in mesh representation.
This tools are mostly [3DMatch ]], Sideshift , 3D Rotor/Scaler and [ https://youtu.be/ltedQ-x6nj0?t=99 | Aligner . Links will brought you to videos that explains that concepts on practical tasks.

Also here is our attempt to bring simple CAD snap system to 2.79 both in object and edit modes: 1D_NP

In 2013 I started research to discover tool, that will allow any kind of precise 3D transformation of selection, based on CAD snap system like this. Here is my proposal for temporal widged that can expand this snap system. It is based on behaviour of current ruler/protactor tool with ability to "hook" current object selection (like pose mode in armature) to bring precise CAD alignation. With 2 point Key: ![Key 2point transform.png](https://archive.blender.org/developer/F3521309/Key_2point_transform.png) With 3 point Key: ![Key 3point transform.png](https://archive.blender.org/developer/F3521311/Key_3point_transform.png) This tool concept is based on series of research that was made in [1D_Scripts ](https://github.com/Cfyzzz/Scripts/blob/master/1D_Scripts.py) in mesh representation. This tools are mostly [3DMatch ]], [[ https:*www.youtube.com/watch?v=KxMXGVmA1cE | Sideshift ]], 3D Rotor/Scaler and [[ https://youtu.be/ltedQ-x6nj0?t=99 | Aligner ](https:*www.youtube.com/watch?v=gfnX5MYXNfk). Links will brought you to videos that explains that concepts on practical tasks. Also here is our attempt to bring simple CAD snap system to 2.79 both in object and edit modes: [1D_NP ](https://github.com/Korchy/1d_np)

Current CAD snap is all about desperation.
Here is GIF about it. Don't know how it was missed.
SNAP.gif

Current CAD snap is all about desperation. Here is GIF about it. Don't know how it was missed. ![SNAP.gif](https://archive.blender.org/developer/F3595797/SNAP.gif)

In #45734#508020, @1D_Inc wrote:
Current CAD snap is all about desperation.
Here is GIF about it. Don't know how it could be missed.
SNAP.gif

This is hilarious! And a bit sadly very on point.

> In #45734#508020, @1D_Inc wrote: > Current CAD snap is all about desperation. > Here is GIF about it. Don't know how it could be missed. > ![SNAP.gif](https://archive.blender.org/developer/F3595797/SNAP.gif) This is hilarious! And a bit sadly very on point.

In #45734#508020, @1D_Inc wrote:
Here is GIF about it. Don't know how it could be missed.
SNAP.gif

yep. that GIF says it all.
i mean as blender users we've all adjusted to having to move the object into a position where snap will work so we can actually move with snap where we actually want it but if you have to move the object into position for the snap to work, then snap isn't actually working.

all those other programs in the GIF are being a great example of base points being chosen btw.

> In #45734#508020, @1D_Inc wrote: > Here is GIF about it. Don't know how it could be missed. > ![SNAP.gif](https://archive.blender.org/developer/F3595797/SNAP.gif) yep. that GIF says it all. i mean as blender users we've all adjusted to having to move the object into a position where snap will work so we can actually move with snap where we actually want it but if you have to move the object into position for the snap to work, then snap isn't actually working. all those other programs in the GIF are being a great example of base points being chosen btw.

Added subscriber: @ErickNyanduKabongo

Added subscriber: @ErickNyanduKabongo

In #45734#508020, @1D_Inc wrote:
Current CAD snap is all about desperation.
Here is GIF about it. Don't know how it was missed.
SNAP.gif

I don't what you are trying to achieve but the same thing you have achieved in other programs you can achieve that in Blender as well, just have to enter edit mode and set the snap accordingly like this -> clip0027.avi

> In #45734#508020, @1D_Inc wrote: > Current CAD snap is all about desperation. > Here is GIF about it. Don't know how it was missed. > ![SNAP.gif](https://archive.blender.org/developer/F3595797/SNAP.gif) I don't what you are trying to achieve but the same thing you have achieved in other programs you can achieve that in Blender as well, just have to enter edit mode and set the snap accordingly like this -> [clip0027.avi](https://archive.blender.org/developer/F3598733/clip0027.avi)

In #45734#508042, @ErickNyanduKabongo wrote:

In #45734#508020, @1D_Inc wrote:
Current CAD snap is all about desperation.
Here is GIF about it. Don't know how it was missed.
SNAP.gif

I don't what you are trying to achieve but the same thing you have achieved in other programs you can achieve that in Blender as well, just have to enter edit mode and set the snap accordingly like this -> clip0027.avi

Okay, it seems to be not clear yet, so I will explain what you need to do.
To perform CAD snap you have to follow conditions:
0) You have to move object with one particular point to another particular point.

  1. In object mode only
  2. With no origin manipulations (because of possible instances)
  3. With absolute minimum of manipulations. Click-click.

To realize the importance of such ability you have to work in massive architectural industry for years and do such operations thousands times per day every day.
And yes, we are using modeling tools for about decade, we all know about mesh snap, we know all your possible answers, and we already wrote tools that made such thing even faster than on your video, you can find it in my prevous post.

I'm 1D_Inc , please, don't try to teach me basics =)

> In #45734#508042, @ErickNyanduKabongo wrote: >> In #45734#508020, @1D_Inc wrote: >> Current CAD snap is all about desperation. >> Here is GIF about it. Don't know how it was missed. >> ![SNAP.gif](https://archive.blender.org/developer/F3595797/SNAP.gif) > > I don't what you are trying to achieve but the same thing you have achieved in other programs you can achieve that in Blender as well, just have to enter edit mode and set the snap accordingly like this -> [clip0027.avi](https://archive.blender.org/developer/F3598733/clip0027.avi) Okay, it seems to be not clear yet, so I will explain what you need to do. To perform CAD snap you have to follow conditions: 0) You have to move object with one particular point to another particular point. 1) In object mode only 2) With no origin manipulations (because of possible instances) 3) With absolute minimum of manipulations. Click-click. To realize the importance of such ability you have to work in massive architectural industry for years and do such operations thousands times per day every day. And yes, we are using modeling tools for about decade, we all know about mesh snap, we know all your possible answers, and we already wrote tools that made such thing even faster than on your video, you can find it in my prevous post. I'm [1D_Inc ](https://www.youtube.com/user/1DInciner/videos), please, don't try to teach me basics =)

I don't what you are trying to achieve but the same thing you have achieved in other programs you can achieve that in Blender as well, just have to enter edit mode and set the snap accordingly like this ->

It's not true, what are You doing on this movie clips is modifying whole geometry. Better way would be:

  • going to edit mode,
  • snapping 3DCursor to teapot vertex,
  • changing pivot center to 3DCursor
  • selecting "Snap to vertices" and "Snap center onto target"
    But this is not the case. This method is too tedious. We need special tool which is fast in use. If the new (2.8's) 3DCursor would eventually snap not only to faces but also to edges and vertices this method would be simpler (step 1 and 2 would be replaced by "drag and snap 3DCursor to vertex")

Ps. I think this task isn't right place to discuss this topic - it's already too long and nobody cares. I have created an idea on Right-Click Select. Please up vote it so we can gain some attention.

CadSnap2.gif

> I don't what you are trying to achieve but the same thing you have achieved in other programs you can achieve that in Blender as well, just have to enter edit mode and set the snap accordingly like this -> It's not true, what are You doing on this movie clips is modifying whole geometry. Better way would be: - going to edit mode, - snapping 3DCursor to teapot vertex, - changing pivot center to 3DCursor - selecting "Snap to vertices" and "Snap center onto target" But this is not the case. This method is too tedious. We need special tool which is fast in use. If the new (2.8's) 3DCursor would eventually snap not only to faces but also to edges and vertices this method would be simpler (step 1 and 2 would be replaced by "drag and snap 3DCursor to vertex") Ps. I think this task isn't right place to discuss this topic - it's already too long and nobody cares. I have created an [idea on Right-Click Select](https://blender.community/c/rightclickselect/3Dbbbc/cad-like-snapping-objects-by-basepoint). Please up vote it so we can gain some attention. ![CadSnap2.gif](https://archive.blender.org/developer/F3738292/CadSnap2.gif)

In #45734#508051, @1D_Inc wrote:

In #45734#508042, @ErickNyanduKabongo wrote:

In #45734#508020, @1D_Inc wrote:
Current CAD snap is all about desperation.
Here is GIF about it. Don't know how it was missed.
SNAP.gif

I don't what you are trying to achieve but the same thing you have achieved in other programs you can achieve that in Blender as well, just have to enter edit mode and set the snap accordingly like this -> clip0027.avi

Okay, it seems to be not clear yet, so I will explain what you need to do.
To perform CAD snap you have to follow conditions:
0) You have to move object with one particular point to another particular point.

  1. In object mode only
  2. With no origin manipulations (because of possible instances)
  3. With absolute minimum of manipulations. Click-click.

To realize the importance of such ability you have to work in massive architectural industry for years and do such operations thousands times per day every day.
And yes, we are using modeling tools for about decade, we all know about mesh snap, we know all your possible answers, and we already wrote tools that made such thing even faster than on your video, you can find it in my prevous post.

I'm 1D_Inc , please, don't try to teach me basics =)

I didn't try to teach the basic, i know that you know the basics (F2, ...) i just didn't understand what you wanted to show, now it is clear :)

> In #45734#508051, @1D_Inc wrote: >> In #45734#508042, @ErickNyanduKabongo wrote: >>> In #45734#508020, @1D_Inc wrote: >>> Current CAD snap is all about desperation. >>> Here is GIF about it. Don't know how it was missed. >>> ![SNAP.gif](https://archive.blender.org/developer/F3595797/SNAP.gif) >> >> I don't what you are trying to achieve but the same thing you have achieved in other programs you can achieve that in Blender as well, just have to enter edit mode and set the snap accordingly like this -> [clip0027.avi](https://archive.blender.org/developer/F3598733/clip0027.avi) > > Okay, it seems to be not clear yet, so I will explain what you need to do. > To perform CAD snap you have to follow conditions: > 0) You have to move object with one particular point to another particular point. > 1) In object mode only > 2) With no origin manipulations (because of possible instances) > 3) With absolute minimum of manipulations. Click-click. > > To realize the importance of such ability you have to work in massive architectural industry for years and do such operations thousands times per day every day. > And yes, we are using modeling tools for about decade, we all know about mesh snap, we know all your possible answers, and we already wrote tools that made such thing even faster than on your video, you can find it in my prevous post. > > I'm [1D_Inc ](https://www.youtube.com/user/1DInciner/videos), please, don't try to teach me basics =) I didn't try to teach the basic, i know that you know the basics (F2, ...) i just didn't understand what you wanted to show, now it is clear :)

Added subscriber: @Okavango

Added subscriber: @Okavango

Can i dump all of my tokens here?

Can i dump all of my tokens here?

Added subscriber: @ChristopheSwolfs

Added subscriber: @ChristopheSwolfs

Added subscriber: @michaelknubben

Added subscriber: @michaelknubben

Added subscriber: @nokipaike

Added subscriber: @nokipaike

In #45734#508020, @1D_Inc wrote:
Current CAD snap is all about desperation.
Here is GIF about it. Don't know how it was missed.
SNAP.gif

the susanna does not like the teapot on the ear
hahahaha

> In #45734#508020, @1D_Inc wrote: > Current CAD snap is all about desperation. > Here is GIF about it. Don't know how it was missed. > ![SNAP.gif](https://archive.blender.org/developer/F3595797/SNAP.gif) the susanna does not like the teapot on the ear hahahaha

In #45734#506696, @1D_Inc wrote:
In 2013 I started research to discover tool, that will allow any kind of precise 3D transformation of selection, based on CAD snap system like this.
Here is my proposal for temporal widged that can expand this snap system.
It is based on behaviour of current ruler/protactor tool with ability to "hook" current object selection (like pose mode in armature) to bring precise CAD alignation.

With 2 point Key:

Key 2point transform.png

With 3 point Key:

Key 3point transform.png

This tool concept is based on series of research that was made in 1D_Scripts in mesh representation.
This tools are mostly [3DMatch ]], Sideshift , 3D Rotor/Scaler and [ https://youtu.be/ltedQ-x6nj0?t=99 | Aligner . Links will brought you to videos that explains that concepts on practical tasks.

Also here is our attempt to bring simple CAD snap system to 2.79 both in object and edit modes: 1D_NP

I love this

> In #45734#506696, @1D_Inc wrote: > In 2013 I started research to discover tool, that will allow any kind of precise 3D transformation of selection, based on CAD snap system like this. > Here is my proposal for temporal widged that can expand this snap system. > It is based on behaviour of current ruler/protactor tool with ability to "hook" current object selection (like pose mode in armature) to bring precise CAD alignation. > > With 2 point Key: > > ![Key 2point transform.png](https://archive.blender.org/developer/F3521309/Key_2point_transform.png) > > With 3 point Key: > > ![Key 3point transform.png](https://archive.blender.org/developer/F3521311/Key_3point_transform.png) > > This tool concept is based on series of research that was made in [1D_Scripts ](https://github.com/Cfyzzz/Scripts/blob/master/1D_Scripts.py) in mesh representation. > This tools are mostly [3DMatch ]], [[ https:*www.youtube.com/watch?v=KxMXGVmA1cE | Sideshift ]], 3D Rotor/Scaler and [[ https://youtu.be/ltedQ-x6nj0?t=99 | Aligner ](https:*www.youtube.com/watch?v=gfnX5MYXNfk). Links will brought you to videos that explains that concepts on practical tasks. > > Also here is our attempt to bring simple CAD snap system to 2.79 both in object and edit modes: [1D_NP ](https://github.com/Korchy/1d_np) I love this

Added subscriber: @Coverty

Added subscriber: @Coverty

Hi guys i found some examples of how it can be from guys on bc who explains some actions with manipulators:

https://blender.community/c/rightclickselect/rHbbbc/free-move-and-rotation-of-pivot
https://blender.community/c/rightclickselect/vqbbbc/interactive-pivot

I think its very useful.

Hi guys i found some examples of how it can be from guys on bc who explains some actions with manipulators: https://blender.community/c/rightclickselect/rHbbbc/free-move-and-rotation-of-pivot https://blender.community/c/rightclickselect/vqbbbc/interactive-pivot I think its very useful.

In #45734#559425, @Coverty wrote:
Hi guys i found some examples of how it can be from guys on bc who explains some actions with manipulators:

https://blender.community/c/rightclickselect/rHbbbc/free-move-and-rotation-of-pivot
https://blender.community/c/rightclickselect/vqbbbc/interactive-pivot

I think its very useful.

There is mathematical problem. Origin in Blender is not the same thing, like pivot in maya. Blender's origin is true origin of mesh - it's base and zero. Maya's pivot - is local transformation point, that is counted from real origin that is never shown.

If you are familiar with maya you may know that decorated pivot is pure mess with instances and double origin recalculations.
Also, you can use addon with that functionality on your risk.
https://www.youtube.com/watch?v=VrYGXg5HjMA&feature=youtu.be&t=102

> In #45734#559425, @Coverty wrote: > Hi guys i found some examples of how it can be from guys on bc who explains some actions with manipulators: > > https://blender.community/c/rightclickselect/rHbbbc/free-move-and-rotation-of-pivot > https://blender.community/c/rightclickselect/vqbbbc/interactive-pivot > > I think its very useful. > > There is mathematical problem. Origin in Blender is not the same thing, like pivot in maya. Blender's origin is true origin of mesh - it's base and zero. Maya's pivot - is local transformation point, that is counted from real origin that is never shown. If you are familiar with maya you may know that decorated pivot is pure mess with instances and double origin recalculations. Also, you can use addon with that functionality on your risk. https://www.youtube.com/watch?v=VrYGXg5HjMA&feature=youtu.be&t=102

Added subscriber: @dodododorian

Added subscriber: @dodododorian

hello this idea could resolve the problem
51c1eb150a154030b8e37102adfc286e-l.jpg
https://devtalk.blender.org/t/3d-cursor-as-a-snap-target-more-precision/3707

for the move tool at least

hello this idea could resolve the problem ![51c1eb150a154030b8e37102adfc286e-l.jpg](https://archive.blender.org/developer/F5755029/51c1eb150a154030b8e37102adfc286e-l.jpg) https://devtalk.blender.org/t/3d-cursor-as-a-snap-target-more-precision/3707 for the move tool at least

https://devtalk.blender.org/t/3d-cursor-as-a-snap-target-more-precision/3707

That means, that 3D cursor have to be grabbed with selected objects, also any kind matching/alignation/sideshift/rotor tools reqiures at least two points.

> https://devtalk.blender.org/t/3d-cursor-as-a-snap-target-more-precision/3707 That means, that 3D cursor have to be grabbed with selected objects, also any kind matching/alignation/sideshift/rotor tools reqiures **at least** two points.

Added subscriber: @FDesimpel

Added subscriber: @FDesimpel

This seems to go somewhere related for editmode :

https://www.youtube.com/watch?v=2XCvYmMLf1M

This seems to go somewhere related for editmode : https://www.youtube.com/watch?v=2XCvYmMLf1M

In #45734#637886, @FDesimpel wrote:
This seems to go somewhere related for editmode :

https://www.youtube.com/watch?v=2XCvYmMLf1M

There is a lot of similar researches about object/edit mode of this kind around snaps/alignation.
Kind a good point to start from, it is nice to have such prototypes.

> In #45734#637886, @FDesimpel wrote: > This seems to go somewhere related for editmode : > > https://www.youtube.com/watch?v=2XCvYmMLf1M There is a lot of similar researches about object/edit mode of this kind around snaps/alignation. Kind a good point to start from, it is nice to have such prototypes.

In the cad applications, this operation is a standalone tool and often has the name "move" and is separated from the simple functions of grabbing to move objects ..

Having said that, now we have the active tools and an active tool specifically for these operations, would make many happy

This active tool should allow to select the start point of moving the active object/object's or mesh in edit mode, visually measure the distance during the movement (also set the parameter distance & radius from the start point), and with the mouse click to set the destination point. (the snapping obviously essential that work well)

In the cad applications, this operation is a standalone tool and often has the name "move" and is separated from the simple functions of grabbing to move objects .. Having said that, now we have the active tools and an active tool specifically for these operations, would make many happy This active tool should allow to select the start point of moving the active object/object's or mesh in edit mode, visually measure the distance during the movement (also set the parameter distance & radius from the start point), and with the mouse click to set the destination point. (the snapping obviously essential that work well)

In #45734#638782, @nokipaike wrote:
In the cad applications, this operation is a standalone tool and often has the name "move" and is separated from the simple functions of grabbing to move objects ..

Having said that, now we have the active tools and an active tool specifically for these operations, would make many happy

This active tool should allow to select the start point of moving the active object/object's or mesh in edit mode, visually measure the distance during the movement (also set the parameter distance & radius from the start point), and with the mouse click to set the destination point. (the snapping obviously essential that work well)

... and it is already written by us in python for about a year ago. Here is it https://github.com/Korchy/1d_np.
Enjoy!)

Having separate tool for moving with snap, rotatig with snap and scaling with snap is wrong solution, snap problem is problem of just a several lines in Blender's snapping code.
But someone has gone further, and made a special buid, that differs with couple python scripts, and called it "mechanical blender")
This is not the way we go.
We follow relevancy priority order.

> In #45734#638782, @nokipaike wrote: > In the cad applications, this operation is a standalone tool and often has the name "move" and is separated from the simple functions of grabbing to move objects .. > > Having said that, now we have the active tools and an active tool specifically for these operations, would make many happy > > This active tool should allow to select the start point of moving the active object/object's or mesh in edit mode, visually measure the distance during the movement (also set the parameter distance & radius from the start point), and with the mouse click to set the destination point. (the snapping obviously essential that work well) ... and it is already written by us in python for about a year ago. Here is it https://github.com/Korchy/1d_np. Enjoy!) Having separate tool for moving with snap, rotatig with snap and scaling with snap is wrong solution, snap problem is problem of just a several lines in Blender's snapping code. But someone has gone further, and made a special buid, that differs with couple python scripts, and called it "mechanical blender") This is not the way we go. We follow relevancy priority order.

... and it is already written by us in python for about a year ago. Here is it https://github.com/Korchy/1d_np.
Enjoy!)

Hi, nice script! Works well. I have some suggestions.

  1. When using CC Copy you select an object, select point, move a mouse, then original object disappears. After a mouse click, nothing happens. The final result is visible just after hitting "Enter". It would be more intuitive if the original object will stay visible and copy created immediately after mouseclick in a new location.

copy v2.png

  1. With ZZ Move it would be cool if after move original object "ghost" will stay in place with the possibility to snap to it. And disappear after finishing the operation.

move v2.png

  1. Is it possible to assign keyboard shortcuts to those operations?

  2. Ar you planning to add RR Rotate and SS Scale options? :) Also 2.8 support? Maybe I can join with further development of plugin?

> ... and it is already written by us in python for about a year ago. Here is it https://github.com/Korchy/1d_np. >Enjoy!) Hi, nice script! Works well. I have some suggestions. 1. When using CC Copy you select an object, select point, move a mouse, then original object disappears. After a mouse click, nothing happens. The final result is visible just after hitting "Enter". It would be more intuitive if the original object will stay visible and copy created immediately after mouseclick in a new location. ![copy v2.png](https://archive.blender.org/developer/F6815812/copy_v2.png) 2. With ZZ Move it would be cool if after move original object "ghost" will stay in place with the possibility to snap to it. And disappear after finishing the operation. ![move v2.png](https://archive.blender.org/developer/F6815815/move_v2.png) 3. Is it possible to assign keyboard shortcuts to those operations? 4. Ar you planning to add RR Rotate and SS Scale options? :) Also 2.8 support? Maybe I can join with further development of plugin?

@1D_Inc I was curious about mechanical blender and I went to try it, I also found the post on blendernation that then links this proposal ...
I read on the site of mechanical blender who chose to create a self build because it was not implemented in blender ...
here obviously my curiosity emerges, why hasn't this patch set been implemented?
I looked around the tool, and it doesn't seem to work badly ...
too bad that has been proposed since the end of 2015

I followed the videos here, and I did the tests and methods used, using "b" and "c" key for point-to-point snap and rotation around a point ... and they're brilliant!

the combo "g + b + ctrl-shift-tab" to change snapping mode on the fly .. it's very powerful!
https://vimeo.com/mechanicalblender

@1D_Inc I was curious about mechanical blender and I went to try it, I also found the post on blendernation that then links this proposal ... I read on the site of mechanical blender who chose to create a self build because it was not implemented in blender ... here obviously my curiosity emerges, why hasn't this patch set been implemented? I looked around the tool, and it doesn't seem to work badly ... too bad that has been proposed since the end of 2015 I followed the videos here, and I did the tests and methods used, using "b" and "c" key for point-to-point snap and rotation around a point ... and they're brilliant! the combo "g + b + ctrl-shift-tab" to change snapping mode on the fly .. it's very powerful! https://vimeo.com/mechanicalblender

In #45734#639573, @JustasIngelevicius wrote:

... and it is already written by us in python for about a year ago. Here is it https://github.com/Korchy/1d_np.
Enjoy!)

Hi, nice script! Works well. I have some suggestions.

Hi.
No, we stopped this research, because such thing need to be available in Blender by default, at least, as far as it already have any kind of 3D software for decades.
Otherwise such tools will spread exponentially like any other crutches and bikes in programming.
Snap system should be updated at least for that tiny bit.

> In #45734#639573, @JustasIngelevicius wrote: >> ... and it is already written by us in python for about a year ago. Here is it https://github.com/Korchy/1d_np. >>Enjoy!) > > Hi, nice script! Works well. I have some suggestions. Hi. No, we stopped this research, because such thing need to be available in Blender by default, at least, as far as it already have any kind of 3D software for **decades**. Otherwise such tools will spread exponentially like any other crutches and bikes in programming. Snap system should be updated at least for that tiny bit.

In #45734#639781, @nokipaike wrote:
@1D_Inc I was curious about mechanical blender and I went to try it, I also found the post on blendernation that then links this proposal ...

the combo "g + b + ctrl-shift-tab" to change snapping mode on the fly .. it's very powerful!
https://vimeo.com/mechanicalblender

Yes, I know, there is a lot of researches about snaps modifications around Blender, for both object and edit mode
(Snap Utilities, for example)
https://youtu.be/2XCvYmMLf1M

I contacted developers, they are busy with stable 2.8 at the moment, so snapping update is in the planning stage of the next step.

> In #45734#639781, @nokipaike wrote: > @1D_Inc I was curious about mechanical blender and I went to try it, I also found the post on blendernation that then links this proposal ... > the combo "g + b + ctrl-shift-tab" to change snapping mode on the fly .. it's very powerful! > https://vimeo.com/mechanicalblender Yes, I know, there is a lot of researches about snaps modifications around Blender, for both object and edit mode (Snap Utilities, for example) https://youtu.be/2XCvYmMLf1M I contacted developers, they are busy with stable 2.8 at the moment, so snapping update is in the planning stage of the next step.

Removed subscriber: @MadMinstrel

Removed subscriber: @MadMinstrel

A very nice example of CAD/snap toolset
NP Station

A very nice example of CAD/snap toolset [NP Station ](https://blenderartists.org/t/np-station/686462/191)

Added subscriber: @0o00o0oo

Added subscriber: @0o00o0oo

Added subscriber: @anonym

Added subscriber: @anonym

Added subscriber: @fikrillah

Added subscriber: @fikrillah

how about universal toggle button for basepoint mode, so we don't have to press b every time we want to use grab/rotate/scale with basepoint. just toggle that button, and everyone got what they need without hassle...

how about universal toggle button for basepoint mode, so we don't have to press b every time we want to use grab/rotate/scale with basepoint. just toggle that button, and everyone got what they need without hassle...

In #45734#804380, @fikrillah wrote:
how about universal toggle button for basepoint mode, so we don't have to press b every time we want to use grab/rotate/scale with basepoint. just toggle that button, and everyone got what they need without hassle...

Because of B.A.S.E. proposal, that extends default toolset not only to 1-point, but also to 2 and 3-points alignments.
https://youtu.be/w_zJAlN6vqc

> In #45734#804380, @fikrillah wrote: > how about universal toggle button for basepoint mode, so we don't have to press b every time we want to use grab/rotate/scale with basepoint. just toggle that button, and everyone got what they need without hassle... Because of B.A.S.E. proposal, that extends default toolset not only to 1-point, but also to 2 and 3-points alignments. https://youtu.be/w_zJAlN6vqc

Added subscriber: @rajq123

Added subscriber: @rajq123

Added subscriber: @GeRo

Added subscriber: @GeRo

Added subscriber: @Dogway

Added subscriber: @Dogway

Added subscriber: @AxelMening-4

Added subscriber: @AxelMening-4

It would be great if the new snap system could move, rotate and scale an object with several basepoint. To align the object with points on another object.
snapmultipoints.gif
snapmultipoints.blend

It would be great if the new snap system could move, rotate and scale an object with several basepoint. To align the object with points on another object. ![snapmultipoints.gif](https://archive.blender.org/developer/F8299019/snapmultipoints.gif) [snapmultipoints.blend](https://archive.blender.org/developer/F8299025/snapmultipoints.blend)

In #45734#857346, @AxelMening-4 wrote:
It would be great if the new snap system could move, rotate and scale an object with several basepoint. To align the object with points on another object.

Do you mean, like in B.A.S.E. proposal?
It is already requested then.
https://youtu.be/w_zJAlN6vqc

> In #45734#857346, @AxelMening-4 wrote: > It would be great if the new snap system could move, rotate and scale an object with several basepoint. To align the object with points on another object. Do you mean, like in B.A.S.E. proposal? It is already requested then. https://youtu.be/w_zJAlN6vqc

Added subscriber: @SSVimes

Added subscriber: @SSVimes

Added subscriber: @kvick

Added subscriber: @kvick

Removed subscriber: @kvick

Removed subscriber: @kvick

Added subscriber: @kvick

Added subscriber: @kvick

Added subscriber: @Moult

Added subscriber: @Moult

Added subscriber: @ckohl_art

Added subscriber: @ckohl_art

Added subscriber: @jojopotato

Added subscriber: @jojopotato

This video shows the quickest workflow I have found so far:

https://www.youtube.com/watch?v=-CiWNcPB1CY

This video shows the quickest workflow I have found so far: https://www.youtube.com/watch?v=-CiWNcPB1CY

In #45734#1166105, @jojopotato wrote:
This video shows the quickest workflow I have found so far:

https://www.youtube.com/watch?v=-CiWNcPB1CY

Hi.
This method works similar to 3dsmax/maya way (which uses pivot paradigm instead of origin paradigm), so it have problems with instances (linked data objects), is ineffective for working with complex assemblies and is not suitable for frequent actions.

> In #45734#1166105, @jojopotato wrote: > This video shows the quickest workflow I have found so far: > > https://www.youtube.com/watch?v=-CiWNcPB1CY Hi. This method works similar to 3dsmax/maya way (which uses pivot paradigm instead of origin paradigm), so it have problems with instances (linked data objects), is ineffective for working with complex assemblies and is not suitable for frequent actions.

Added subscriber: @KloWorks

Added subscriber: @KloWorks

In #45734#1166168, @1D_Inc wrote:

In #45734#1166105, @jojopotato wrote:
This video shows the quickest workflow I have found so far:

https://www.youtube.com/watch?v=-CiWNcPB1CY

Hi.
This method works similar to 3dsmax/maya way (which uses pivot paradigm instead of origin paradigm), so it have problems with instances (linked data objects), is ineffective for working with complex assemblies and is not suitable for frequent actions.

but in edit mode you cant control it, if they able to do this in edit mode its gonna be great and it will solve most of the issues.

> In #45734#1166168, @1D_Inc wrote: >> In #45734#1166105, @jojopotato wrote: >> This video shows the quickest workflow I have found so far: >> >> https://www.youtube.com/watch?v=-CiWNcPB1CY > > Hi. > This method works similar to 3dsmax/maya way (which uses pivot paradigm instead of origin paradigm), so it have problems with instances (linked data objects), is ineffective for working with complex assemblies and is not suitable for frequent actions. but in edit mode you cant control it, if they able to do this in edit mode its gonna be great and it will solve most of the issues.

In #45734#1285321, @KloWorks wrote:

In #45734#1166168, @1D_Inc wrote:

In #45734#1166105, @jojopotato wrote:
This video shows the quickest workflow I have found so far:

https://www.youtube.com/watch?v=-CiWNcPB1CY

Hi.
This method works similar to 3dsmax/maya way (which uses pivot paradigm instead of origin paradigm), so it have problems with instances (linked data objects), is ineffective for working with complex assemblies and is not suitable for frequent actions.

but in edit mode you cant control it, if they able to do this in edit mode its gonna be great and it will solve most of the issues.

In the attempts to simulate pivot point behavior, it was decided to move origin instead.
Since origin influence mesh, we has got an origin tweaking tool, that corrupts linked data objects (instances) placement, their modifiers (like mirror), dupligroups and so one.

As a result such a solution fits only limited cases - like a scene with no instances, modifiers and so one, which are very primitive by their nature so doesnot meet production requirements.

Origin tweak tool is a nice tool to accidently corrupt any complex scene with a chance to discover damage right before deadline, so the only solution to make sure scene is safe is to never use it.

> In #45734#1285321, @KloWorks wrote: >> In #45734#1166168, @1D_Inc wrote: >>> In #45734#1166105, @jojopotato wrote: >>> This video shows the quickest workflow I have found so far: >>> >>> https://www.youtube.com/watch?v=-CiWNcPB1CY >> >> Hi. >> This method works similar to 3dsmax/maya way (which uses pivot paradigm instead of origin paradigm), so it have problems with instances (linked data objects), is ineffective for working with complex assemblies and is not suitable for frequent actions. > > but in edit mode you cant control it, if they able to do this in edit mode its gonna be great and it will solve most of the issues. In the attempts to simulate pivot point behavior, it was decided to move origin instead. Since origin influence mesh, we has got an origin tweaking tool, that corrupts linked data objects (instances) placement, their modifiers (like mirror), dupligroups and so one. As a result such a solution fits only limited cases - like a scene with no instances, modifiers and so one, which are very primitive by their nature so doesnot meet production requirements. Origin tweak tool is a nice tool to accidently corrupt any complex scene with a chance to discover damage right before deadline, so the only solution to make sure scene is safe is to never use it.

Added subscriber: @Hologram

Added subscriber: @Hologram

Added subscriber: @Michael-Drake

Added subscriber: @Michael-Drake

Added subscriber: @Yuro

Added subscriber: @Yuro

Added subscriber: @lasgcx

Added subscriber: @lasgcx
Philipp Oeser removed the
Interest
User Interface
label 2023-02-10 09:26:28 +01:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
62 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#45734
No description provided.