How to properly create a mirrored component?

How to properly create a mirrored component?

kristofpucejdl
Contributor Contributor
7,810 Views
13 Replies
Message 1 of 14

How to properly create a mirrored component?

kristofpucejdl
Contributor
Contributor

Hello,

 

what is the best way to create a standalone component which is a mirror of another component and retains the link to the original in the timeline?

 

So far the best solution I found was to create a new component, insert a derive (or 'Insert into current design') of the original component, create a mirror of it, and then turn off the visibility of the original. Which felt like a dumb way to do it but worked for me until I needed to care about the weights and moments of inertia of my assembly. Now the invisible 'dummy' component throws off these measures.

 

I did not find a way to remove or delete the original component after the mirror command. For 'Insert Derive' the delete option is simply not there and if I start by 'Inserting of the original into the new Design', I can delete it but not 'remove' it after the mirror command in the timeline, hence I lose my mirror and break all the further timeline dependencies if I do so.

 

I tried the same with just the bodies of the component that I want to create a mirror of - same deal. Can't get rid of the original unless I break the link.

 

Any help would be much appreciated 🙂 I feel like I am missing something rather obvious here.

 

PS: @TrippyLighting  would you possibly have a clue, sir? I read your comments on similar topics and it seems to me you know the good practices. So just to clarify, I am not trying to mirror some assembly or anything complex. No joints, just a pretty basic component, one or two solid bodies. I do want to retain the link to the original one such that when I modify the bodies, I have the way to update the mirrored version as well.

Accepted solutions (1)
7,811 Views
13 Replies
Replies (13)
Message 2 of 14

g-andresen
Consultant
Consultant

Hi,

Can you explain this?


@kristofpucejdl wrote:

 

 create a standalone component which is a mirror of another component and retains the link to the original in the timeline?

 


Independent and yet dependent?

After mirroring you can still go back in the timeline and then edit the original component. Then the change will also take effect on the mirrored part.

If this is not what you want to achieve, take a look at the "Remove" tool.

 

günther

Message 3 of 14

kristofpucejdl
Contributor
Contributor

Hi Guenther,

 

thanks for the super prompt response.

 

What I mean by 'standalone' is that the mirrored component would be its own 'design file' in my project folder. Previously, I always used the 'mirror' tool within larger assemblies - I created a mirror of a component which was already part of the larger design file (i.e. it was in the design tree) and I immediately used (jointed, modified etc) this new mirrored version in that same design file.

 

But now, I would like to simply have the mirrored version of the component 'standalone', so I can import it into different larger assemblies down the road.

kristofpucejdl_1-1599382678824.png

 

Like this - I have a simple component called Lower Leg Right, which I conventionally designed from sketches and solid body features:

kristofpucejdl_2-1599383224442.png

 

and I need it's 'Lefty' version too 🙂 In fact, what I really want is to just mirror the bodies from the Right Leg into the Left Leg so I have the corresponding structure in both of these.

 

You are mentioning the 'remove' tool, but I seem to not have this accessible when I 'Insert derives' of the bodies from Right Leg into the Left Leg. I can not remove these derived bodies other than deleting the 'derive' feature from the timeline, but that obviously kills my consequent mirror 🙂

 

I can remove the original bodies if I first 'break the link' and turn the derives into base features, but that prevents me from updating the mirrored component (Left Leg) according to any new changes in the original component (Right Leg).

 

Apologies for the messy explanation, I hope I am at least somewhat clear.

Message 4 of 14

TrippyLighting
Consultant
Consultant
Accepted solution

There is a workaround possible. Probably the weirdest one in Fusion 360 😉

Derive the bodies from your original design into a new component.

 

In that new component create a user parameter, say, "scaling_factor". Make it unitless and set it to "1".

Now scale the 2 bodies non-uniformly and use the user paramer to st the scaling factor in the mirror direction.

 

Now in the user parameter dialogue change the value of "scaling_factor" to "-1".

Voilá. Mirrored geometry in a new external component and nothing to remove.

This will update properly if you change the component in the originating assembly design.

 

I can create a screencast later if this isn't clear.


EESignature

Message 5 of 14

kristofpucejdl
Contributor
Contributor

I did not see that coming!! 😄

Works like charm, no problems following that explanation. Thank you very much!

 

(I almost feel stupid not to think of non-uniform scale as an option. It does make sense now that you enlighted me)

 

Much to learn... 🙂 Thx again!

0 Likes
Message 6 of 14

TrippyLighting
Consultant
Consultant

Please don't feel stupid!

 

Even if you had thought of it, the real stumbling block is that the scaling tool does not accept negative values either when typed into the field when creating or editing the scaling factor.

If you start this process by setting the "scaling_Factor" user parameter to -1, the scaling UI does not accept that either. You'll have to set it to a positive value first, then scale and then change the user parameter to the negative value.

 

 

 


EESignature

Message 7 of 14

kristofpucejdl
Contributor
Contributor

Oh, ok. Well, the more kudos to you knowing about it. I had my hopes right when I tagged you 😉

I am no one to judge how difficult would it be to unlock the negative scaling options through the dialogue, but it seems like it would make the transform much more useful. Anyway, this allowed me to move forward so I am more than happy 😄

0 Likes
Message 8 of 14

johnTMLEN
Community Visitor
Community Visitor

What is entered into the expression box to link the two together?  Thanks!

0 Likes
Message 9 of 14

TrippyLighting
Consultant
Consultant

I don't understand your question.


EESignature

0 Likes
Message 10 of 14

johnTMLEN
Community Visitor
Community Visitor
I am trying to create the same idea: create a separate mirror component. I
just don't understand what is required in each box of the user parameter to
make this happen.
0 Likes
Message 11 of 14

TrippyLighting
Consultant
Consultant

I described the workflow in detail in post 4.


EESignature

0 Likes
Message 12 of 14

John_Wright
Advocate
Advocate

Just to jump on this with "weird work arounds"........this might well work for what you want, or just a different thought process.

 

If you want to "remove" a derived body from a file you do the with the steps detailed below. 

 

derive the component into a new file

Extrude a piece of geometry as a "NEW BODY" that is enveloped by the derived part

"Combine" the new body as a "join" with the "Target" being your new body and the "tool bodies" being the derived part. - Do not click keep tools.

You can then mirror that body

The old body can then be removed without the issue of "cannot removed derived bodies"

Message 13 of 14

SA_01
Observer
Observer

Had the same issue and used the scaling factor solution to solve it. Still works!

0 Likes
Message 14 of 14

agmlauncher
Participant
Participant

Same here. You don't have to apply the scaling factor before deriving. Scaling of the derived component is an operation that has no backwards link to the original component.

So what I did was this:

1. Create the reference component as normal

2. Perform "Create Derive" to create the derived component

3. In the derived component, create a user param called "scale_factor" and give it a unitless value of "1" as described above

4. Apply a non-uniform scale to the component, and for the direction you want to mirror, enter the "scale_factor" param

5. Go into the user parameters again, and change the value to -1

 

It will now be mirrored, the link to the original component is preserved, and any feature changes you make to the original component will apply to the derived component.

 

I hope Autodesk never classifies this as a bug. The user param workaround shouldn't be necessary because the scale factor input box seems to validate negative inputs, but it will clearly compute the geometry with negative inputs just fine as long as you "backdoor" them with a parameter change. It should really just allow negative inputs so the param backdoor isn't required.