View Issue Details

IDProjectCategoryView StatusLast Update
0000481FreeCADBugpublic2011-11-12 11:13
Reportercstrachan1 Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionno change required 
Product Version0.11 
Fixed in Version0.12 
Summary0000481: Possible bug when moving multiple selected components
DescriptionIf more then one component is selected in the object tree and the placement of one of the components is changed, the other components move as expected but take up the rotation angle of the changed component which over rides their original orientation.

I am unsure if this is a real bug or simply operator error; (although this type of operation is useful when assembling parts).
Additional InformationTo reproduce:

With the attached file,
Select "3mm Socket 004" and "3mm nut 004"
With the selection in place and the two parts highlighted, navigate down the object tree to get to the X placement of the object shown in the object tree
Change this from -31.5 to 31.5
The result is that both nut and bolt move, but the nut then gets rotated 90 degrees which matches the bolts rotation (I think).

Please see attached screenshot for before and after.

Ubuntu 11.10 Linux, FreeCAD compiled from svn: updated and compiled 10th Nov 2011.
TagsNo tags attached.
FreeCAD Information

Activities

2011-11-11 10:43

 

RotateTest.fcstd (Attachment missing)

2011-11-11 10:44

 

RotationBefore.png (Attachment missing)

2011-11-11 10:44

 

RotationAfter.png (Attachment missing)

cstrachan1

2011-11-11 10:48

reporter   ~0001274

Moving the parts through the draft workbench move icon works as expected, although not so convenient.

cstrachan1

2011-11-11 11:00

reporter   ~0001275

Sorry this issue may just be noise, the more I think about it FreeCAD is probably doing the right thing, just not what intuitively it maybe should do. From the console it is obvious that FreeCAD is applying to all the selected parts the placement I asked it to, (the placement of the part I edited) which is over riding the placement of the second part. I expected that only the parameter I changed (X position) would be applied not the entire placement which is probably an incorrect assumption.

FreeCAD.getDocument("RotateTest").getObject("NORDEX_DLS_B3_001").Placement = App.Placement(App.Vector(31.5,99,73.5),App.Rotation(0.5,-0.5,-0.5,0.5))
>>> FreeCAD.getDocument("RotateTest").getObject("NORDEX_DJS_Q1_001").Placement = App.Placement(App.Vector(31.5,99,73.5),App.Rotation(0.5,-0.5,-0.5,0.5))

wmayer

2011-11-11 11:22

administrator   ~0001276

The right way to achieve what you want:
1. Select the object you want to place
2. Go to Edit > Placement
3. Set the check-mark to apply changes incrementally (!!!)
4. Enter the values

cstrachan1

2011-11-11 11:57

reporter   ~0001277

I must have spent 100+ hours working with FreeCAD and have never been in that menu !. I think that says something about my working patterns. It works perfectly as you describe. Thanks for looking into this and apologies for the noise.

Issue History

Date Modified Username Field Change
2011-11-11 10:43 cstrachan1 New Issue
2011-11-11 10:43 cstrachan1 File Added: RotateTest.fcstd
2011-11-11 10:44 cstrachan1 File Added: RotationBefore.png
2011-11-11 10:44 cstrachan1 File Added: RotationAfter.png
2011-11-11 10:48 cstrachan1 Note Added: 0001274
2011-11-11 11:00 cstrachan1 Note Added: 0001275
2011-11-11 11:22 wmayer Note Added: 0001276
2011-11-11 11:57 cstrachan1 Note Added: 0001277
2011-11-12 11:13 wmayer Status new => closed
2011-11-12 11:13 wmayer Resolution open => no change required
2011-11-12 11:13 wmayer Fixed in Version => 0.12