3D arrows when using transform

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
User avatar
HtRabbit
Posts: 12
Joined: Sat Apr 10, 2021 2:33 am
Location: BC Canada

3D arrows when using transform

Post by HtRabbit »

i am trying to transform an imported step file position to align in my body. the issue i have is the step file object origin is not center to the object so unless i zoom out, i can not see the transform arrows this makes it almost impossible to place the object. i cannot seem to move the objects origin to the center of the object either
freecad origin transform.png
freecad origin transform.png (180.91 KiB) Viewed 2321 times
freecad origin transform2.png
freecad origin transform2.png (166.73 KiB) Viewed 2321 times
OS: Windows 10 Version 1909
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.24276 (Git)
Build type: Release
Branch: releases/FreeCAD-0-19
Hash: a88db11e0a908f6e38f92bfc5187b13ebe470438
Python version: 3.8.6+
Qt version: 5.15.1
Coin version: 4.0.1
OCC version: 7.5.0
Locale: English/United States (en_US)
There is no Gravity....Taxes Suck!
chrisb
Veteran
Posts: 53786
Joined: Tue Mar 17, 2015 9:14 am

Re: 3D arrows when using transform

Post by chrisb »

This is a known issue. I recommend:
- hover over the objects edges/vertices and note the coordinates in the status bar at the bottom
- edit the Placement property in the Data tab.
- change the values to the inverse of the coordinates seen before.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
drmacro
Veteran
Posts: 8806
Joined: Sun Mar 02, 2014 4:35 pm

Re: 3D arrows when using transform

Post by drmacro »

chrisb wrote: Mon Jun 07, 2021 4:45 am This is a known issue. I recommend:
- hover over the objects edges/vertices and note the coordinates in the status bar at the bottom
- edit the Placement property in the Data tab.
- change the values to the inverse of the coordinates seen before.
I'd like to discuss this a bit.

I just opened a Step file with the following:
Snip macro screenshot-26ac9e.png
Snip macro screenshot-26ac9e.png (134.53 KiB) Viewed 2242 times
Note: it has 4 components. Deleting the 2 components that form the motor housing reveals the envolutes are not at global 0,0,0.
Snip macro screenshot-be01d2.png
Snip macro screenshot-be01d2.png (78.02 KiB) Viewed 2242 times
If I now select one of the envolutes and open the Edit>Placement dialog it is seen the the X,Y,Z values, as expected, not 0.
Snip macro screenshot-ce9964.png
Snip macro screenshot-ce9964.png (159.74 KiB) Viewed 2242 times
The point of this is to get them at 0,0,0, I simply set these value to 0 and click Ok.
And the component is now at 0,0,0 (The Placement property confirms this.)
Snip macro screenshot-77a38d.png
Snip macro screenshot-77a38d.png (76.84 KiB) Viewed 2242 times
Is there a special situation here that means the inverse of the values aren't required to move it to global 0,0,0.

Side note: Can't drag the component directly to a Body. It needs to be dragged out of the Std_Part, then into the Body to get a BaseFeature.
Snip macro screenshot-417515.png
Snip macro screenshot-417515.png (83.19 KiB) Viewed 2242 times

THe STEP file: C38-81.STEP here: https://www.thingiverse.com/thing:4073910/files
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
edwilliams16
Veteran
Posts: 3080
Joined: Thu Sep 24, 2020 10:31 pm
Location: Hawaii
Contact:

Re: 3D arrows when using transform

Post by edwilliams16 »

drmacro wrote: Mon Jun 07, 2021 1:35 pm
The point of this is to get them at 0,0,0, I simply set these value to 0 and click Ok.
And the component is now at 0,0,0 (The Placement property confirms this.)

Is there a special situation here that means the inverse of the values aren't required to move it to global 0,0,0.

Yes.

The global coordinate system is that of the document. Inside this document you have C38-81. If you look at C38-81's placement within the document it has displacement zero and rotation zero - that is its coordinate system is coincident with the global one. The placement is the identity transformation.

Inside C38-81 you have the envlouts - their placements are relative to their container, which is C38-81, which in this case is the same as the global system.

So setting the placement of the envlouts to the identity, in this case, is the same as applying the inverse of the global placement, because their container object's coordinate system happens to be the same as the global one.
If C38-81's placement had not been the identity, this would not have worked.

https://wiki.freecadweb.org/Sandbox:Edw ... #Placement attempts to clarify all this.
drmacro
Veteran
Posts: 8806
Joined: Sun Mar 02, 2014 4:35 pm

Re: 3D arrows when using transform

Post by drmacro »

So, you are saying the placement of the container of the step file in the OP was NOT at the global identity?
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
edwilliams16
Veteran
Posts: 3080
Joined: Thu Sep 24, 2020 10:31 pm
Location: Hawaii
Contact:

Re: 3D arrows when using transform

Post by edwilliams16 »

drmacro wrote: Mon Jun 07, 2021 6:44 pm So, you are saying the placement of the container of the step file in the OP was NOT at the global identity?
No, I said the opposite. You asked if there was a special situation that made your method work. I replied yes - because the global placement of the container of the STEP file WAS the identity. If this hadn't been the case, it wouldn't have worked.
drmacro
Veteran
Posts: 8806
Joined: Sun Mar 02, 2014 4:35 pm

Re: 3D arrows when using transform

Post by drmacro »

edwilliams16 wrote: Mon Jun 07, 2021 7:14 pm
drmacro wrote: Mon Jun 07, 2021 6:44 pm So, you are saying the placement of the container of the step file in the OP was NOT at the global identity?
No, I said the opposite. You asked if there was a special situation that made your method work. I replied yes - because the global placement of the container of the STEP file WAS the identity. If this hadn't been the case, it wouldn't have worked.
Maybe I phrased this whole discussion wrong. (And, I'll state I need to read your sandbox again, slowly...)

My quandary is, I don't think "use the inverse" is a blanket cure all and needs some further explanation.

Or maybe I'm just slow on the uptake... :mrgreen:
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
edwilliams16
Veteran
Posts: 3080
Joined: Thu Sep 24, 2020 10:31 pm
Location: Hawaii
Contact:

Re: 3D arrows when using transform

Post by edwilliams16 »

drmacro wrote: Mon Jun 07, 2021 7:39 pm
My quandary is, I don't think "use the inverse" is a blanket cure all and needs some further explanation.
Agreed. I think we have wandered away from the OP to a more generic issue. The global position and orientation of the origin of some object depends on the entire chain of coordinate transformations between it and the global system of the document. Changing any one of those placements, attachments or attachment offsets changes the positions of all the objects below it in the tree. The choice of which placement to adjust to achieve some desired result depends at what level in the tree you would like to maintain the relative position of other objects. Part containers and their placements give you an explicit way of grouping objects for this purpose.

It's all computable from the placements and perhaps their inverses once you know exactly what you are trying to achieve. In my sandbox, I consider the example of making a given change in the global placement of an object by adjusting any one of the placements in the chain from the object to the root document. There seemed to be a number of questions in the Forum that boiled down to that.

This may or may not address your question, and likely tells you what you already knew.
User avatar
HtRabbit
Posts: 12
Joined: Sat Apr 10, 2021 2:33 am
Location: BC Canada

Re: 3D arrows when using transform

Post by HtRabbit »

As a new to freecad user , your answers have gone way past me.
i will try to ask using photo trickery. lol

this is what i see when i select a step for transform
freecad origin transform3.png
freecad origin transform3.png (22.06 KiB) Viewed 1988 times
this is what i want to see
freecad origin transform4.png
freecad origin transform4.png (16.95 KiB) Viewed 1988 times
This is the file
https://grabcad.com/library/2-way-banana-plug-jack-1
There is no Gravity....Taxes Suck!
chrisb
Veteran
Posts: 53786
Joined: Tue Mar 17, 2015 9:14 am

Re: 3D arrows when using transform

Post by chrisb »

HtRabbit wrote: Thu Jun 10, 2021 2:22 am this is what i want to see
This is not possible at the moment. The reason is, that the transform tool is always placed in the center of the object, which obviously is not the center of mass.

Think of it like a sketch, where you draw a rectangle far of the center and pad it. Then the Transform tool would still be placed in the center of the sketch.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Post Reply