View Issue Details

IDProjectCategoryView StatusLast Update
0003789FreeCADBugpublic2019-10-30 14:16
Reporteryorik Assigned Toyorik  
PrioritynormalSeverityminorReproducibilityhave not tried
Status assignedResolutionopen 
PlatformPCOSDebianOS VersionTesting 64bit
Product Version0.19 
Target VersionFixed in Version 
Summary0003789: Fix movement of children of Arch objects
DescriptionWhen rotating an Arch object that has additions, the result is not correct (the additions get disaligned), and if removing the addition, moving it to the right place and re-add it, the result is not correct either. So:

- The code that moves children (ArchComponent.onChanged) is buggy
- The code that constructs the final object (ArchComponent.processSubShapes) is buggy too

Below is an alternative snippet I tested but doesn't work either. Seems a better base to start with, though
Additional Informationhttps://forum.freecadweb.org/viewtopic.php?f=23&t=33669&p=281903#p281903

Snippet for ArchComponent.py, L330 - different method to calculate child movement

# TODO - Implement/test this method instead - calculate additional movement caused by the rotation
diff = child.Placement.Base.sub(self.oldPlacement.Base)
if diff.Length:
    diff = self.oldPlacement.inverse().multVec(diff) # move back to origin
    diff = obj.Placement.multVec(diff) # move to the new location
    npos = obj.Placement.Base.add(diff) # new position of the child placement
    child.Placement.Base = npos
TagsNo tags attached.
FreeCAD Information

Activities

yorik

2019-01-23 21:57

administrator  

test structures.FCStd (11,837 bytes)

mickele

2019-10-30 14:16

reporter   ~0013795

Any news about this bug?

Issue History

Date Modified Username Field Change
2019-01-23 21:57 yorik New Issue
2019-01-23 21:57 yorik Status new => assigned
2019-01-23 21:57 yorik Assigned To => yorik
2019-01-23 21:57 yorik File Added: test structures.FCStd
2019-10-30 14:16 mickele Note Added: 0013795