Mirror a sub-assembly in Assembly3 WB

Discussion about the development of the Assembly workbench.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
User avatar
jpg87
Posts: 809
Joined: Thu Mar 16, 2017 7:16 am
Location: Limoges - France
Contact:

Mirror a sub-assembly in Assembly3 WB

Post by jpg87 »

PartMirror of a subassembly does not work directly.

BUT ...
you can do PartMirror of the components of the subassembly.
01mirrorAss.jpg
01mirrorAss.jpg (56.57 KiB) Viewed 2017 times
02mirrorAss.jpg
02mirrorAss.jpg (68.92 KiB) Viewed 2017 times

The PartMirror of these components are independent but in a correct relative position: just drag them into a new Ass_mirror assembly container and this container will behave like a block, i.e. like its original symmetric, even if there are no assembly constraints between its components.

After hiding the original sub-assembly, don't forget to define the constraint elements you will need.

03mirrorAss.jpg
03mirrorAss.jpg (61.65 KiB) Viewed 2017 times

Fix a component of the original sub-assembly then define an Attachment constraint between the 2 blocks and adjust the distance.
04mirrorAss.jpg
04mirrorAss.jpg (96.67 KiB) Viewed 2017 times
Attachments
test_ass_pieces_sym3.FCStd
(82.13 KiB) Downloaded 30 times
My website : http://help-freecad-jpg87.fr updated 2023/11/06
User avatar
bambuko
Veteran
Posts: 2160
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

Re: Mirror a sub-assembly in Assembly3 WB

Post by bambuko »

jpg87 wrote: Sun May 02, 2021 5:56 pm ... just drag them into a new Ass_mirror assembly container and this container will behave like a block, i.e. like its original symmetric, even if there are no assembly constraints between its components...
Thank you!
I had a good look at the model and:
if you try to transform orginal (non-mirrored) assembly everything behaves as it should, but...
try transforming parts of the mirrored assembly and soon everything goes pear shaped :oops:
Either there is something not quite correct with constraints or the behaviour is related to the problems of mirrored parts?
Don't know - will have to do more experimenting.

BTW you are confirming what I have suspected that you cannot mirror assemblies :oops: Pity - this will mean a lot more work...
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
User avatar
jpg87
Posts: 809
Joined: Thu Mar 16, 2017 7:16 am
Location: Limoges - France
Contact:

Re: Mirror a sub-assembly in Assembly3 WB

Post by jpg87 »

bambuko wrote: Mon May 03, 2021 8:47 am try transforming parts of the mirrored assembly and soon everything goes pear shaped
I am not sure I fully understand. Can you attach an example please?
My website : http://help-freecad-jpg87.fr updated 2023/11/06
User avatar
bambuko
Veteran
Posts: 2160
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

Re: Mirror a sub-assembly in Assembly3 WB

Post by bambuko »

jpg87 wrote: Mon May 03, 2021 11:46 am ...Can you attach an example please?
sorry, should have done it in the first place...
here we go:
01.jpg
01.jpg (180.91 KiB) Viewed 1855 times
02.jpg
02.jpg (316.82 KiB) Viewed 1855 times
03.jpg
03.jpg (328.75 KiB) Viewed 1855 times
04.jpg
04.jpg (336.09 KiB) Viewed 1855 times
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
User avatar
jpg87
Posts: 809
Joined: Thu Mar 16, 2017 7:16 am
Location: Limoges - France
Contact:

Re: Mirror a sub-assembly in Assembly3 WB

Post by jpg87 »

bambuko wrote: Mon May 03, 2021 12:43 pm sorry, should have done it in the first place...
here we go:
This is all perfectly normal : As I said before, the Ass_mirror subassembly behaves like a solid block if we try to move it entirely :

AssMirrorTransform.jpg
AssMirrorTransform.jpg (43.19 KiB) Viewed 1831 times

On the other hand, if one tries to move only one of its components, this one having no constraints with its team-mates will move alone and will not find its starting position.

What I have suggested saves time, as long as you don't "break" the mirror subassembly. If you don't want this, you need to constrain the components of this sub-assembly to each other, just like any sub-assembly.
My website : http://help-freecad-jpg87.fr updated 2023/11/06
User avatar
bambuko
Veteran
Posts: 2160
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

Re: Mirror a sub-assembly in Assembly3 WB

Post by bambuko »

jpg87 wrote: Mon May 03, 2021 5:15 pm ... saves time, as long as you don't "break" the mirror subassembly. If you don't want this, you need to constrain the components of this sub-assembly to each other, just like any sub-assembly...
Understand, thank you!
I was concerned that this behaviour was peculiar to the use of link parts in mirroring, rather than just simply lack of constraints.

In summary - as far as I understand it - there are no shortcuts if I want to do a design with many mirrored parts, subassemblies etc.
I will have to do everything twice :oops:

I will try the file you have created with everything constrained to make sure I understand it completely and the behaviour is correct as I expect ;)
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
Post Reply