Multiple Inheritance won't update

Multiple Inheritance won't update

giladk
Enthusiast Enthusiast
832 Views
13 Replies
Message 1 of 14

Multiple Inheritance won't update

giladk
Enthusiast
Enthusiast

Assume 3 components.

A - Master

B - Inherited from A.

C - Inherited from B.

 

A -> B -> C

 

If I change component A and open  component B, I get a small yellow triangle stating that I should re-compute component B as component A was changed. When I click the yellow triangle, component B gets updated.

 

But.

 

If instead of opening component B I open component C, I do not see the yellow triangle stating that a parent component was changed and I continue editing without updating the component which is bad practice.

 

Of course component B must be updated before component C can be updated and this is fine but I should see a the yellow triangle telling me that there is a change in ANY of the parent components a component have and not just father component (also grand-father, grand-grand-father and so on).

 

Can this be fixed?

 

 

0 Likes
833 Views
13 Replies
Replies (13)
Message 2 of 14

jhackney1972
Consultant
Consultant

Please attach your test model.  If you do not know how to attach your Fusion 360 model follow these easy steps. Open the model in Fusion 360, select the File menu, then Export and save as a F3D or F3Z file to your hard drive. Then use the Attachments section, of a forum post, to attach it.

John Hackney, Retired
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature

0 Likes
Message 3 of 14

John_Wright
Advocate
Advocate

In my experience, the behaviour you're outlining is what happens. Its like a link of chains, until you update B, C will not be aware of the change. There doesn't appear to be any transparency in B that will allow C to know that A has changed.

 

Not ideal, but I don't think this can be avoided. 

0 Likes
Message 4 of 14

jeff_strater
Community Manager
Community Manager

This works fine on a simple test.  In the video below, I have 3 levels of assembly:

  • top assy
    • sub-assy
      • cylinder

In the video, I edit "cylinder" to add a fillet, and save it.  I then activate "top assy" (without activating "sub-assy").  It shows a component is out of date, and clicking the icon (or using Get All Latest from the context menu) will propagate the update all the way through the assembly.

 

sample file attached

 


Jeff Strater
Engineering Director
0 Likes
Message 5 of 14

TrippyLighting
Consultant
Consultant

@John_Wright wrote:

In my experience, the behaviour you're outlining is what happens. Its like a link of chains, until you update B, C will not be aware of the change. There doesn't appear to be any transparency in B that will allow C to know that A has changed.

 

Not ideal, but I don't think this can be avoided. 


This issue was addressed a long time ago with a new Fusion 360 version that included the "deep update" functionality. As @jeff_strater writes, usually it works and not only in simple test. I often work in models with several levels of linked components and regularly exceed a component count of 1000.

 

I've also have seen this fail, but only very, very rarely and I 've not been able to reproduce it.


EESignature

0 Likes
Message 6 of 14

John_Wright
Advocate
Advocate

Hi All, 

 

I think I may have got my wires crossed with what I have experienced. Try it with 3 derived files in a chain; C does not update until B is updated with a modification from A. Hopefully the video attached with show you what I was referring too. 

 

Whilst I realise this may be an odd workflow, I use it for creating different levels in toolmaking. Example: A is the main plastic part model(s), B is tool layout with derived instances of the plastic parts laid out flat, and C can be the individual plates of the die-set derived out for CAM and designing of electrodes, wire eroding etc. 

 

I am not sure if I am highlighting a fault, but with my particular workflow I need to remember to update everything in order. 

0 Likes
Message 7 of 14

jeff_strater
Community Manager
Community Manager

Aha!  "Try it with 3 derived files in a chain".  Sorry, it was not apparent to me in your original message that you were using Derive instead of Insert.  Yes, that is correct, Derive does not yet participate in deep update.  I believe that project is on the books for this year, but I have not kept close tabs on that to say for certain.  So, until that gets done, yes, you will need to update bottom-up in the assembly hierarchy.

 

Why are you using Derive?  Do you need to modify the derived component in the assembly?  That is the main reason for using Derive.  Unless you have a specific need for Derive, Insert is more efficient.  And does participate in deep update.

 


Jeff Strater
Engineering Director
Message 8 of 14

giladk
Enthusiast
Enthusiast

Hi John,

 

This can be solved by keeping a reference to all parent objects and their version in the derived object.

So, when deriving a new object from an existing object we copy the list of all the parent components, and their version, to the new object. When opening an object in Fusion360 go over the list of parent objects and compare their versions in the list to the existing version of the objects. If  an object is found with a newer version I know I should go over the chain and update it. I'm not looking for some automatic processes to update the chain but a notification that an update is needed.

 

This can be avoided, it is just a matter of how much effort this fix will take.

 

BR

 

Gilad.

0 Likes
Message 9 of 14

giladk
Enthusiast
Enthusiast

Plz see attached video.

I also added the objects files.

 

0 Likes
Message 10 of 14

HughesTooling
Consultant
Consultant

@jeff_strater wrote:

 

 

Why are you using Derive?  Do you need to modify the derived component in the assembly?  

 


I use a similar workflow to @John_Wright , apart from being able to edit the inserted part you can also just derive the parts you're going to machine rather than the whole design. I've found Fusion start to run slow if there's too much information in a single design, that can be a combination of CAD and CAM data.

 

Mark

Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


Message 11 of 14

giladk
Enthusiast
Enthusiast

Derive is a great function when you want to make many different parts that looks that might look the same and have similar functionality but are somewhat different with one another.

 

For instance, I would like tot start a project of something similar to LEGO blocks where all the parts should connect with one another and have same height and 'connecting pins' but are different in shape and size.

The derive function can be very handy s if I want to change a very basic parameter I do it only once and don't have to go over all the different block.

 

BR

 

Gilad.

0 Likes
Message 12 of 14

TrippyLighting
Consultant
Consultant

@giladk wrote:

Derive is a great function when you want to make many different parts that looks that might look the same and have similar functionality but are somewhat different with one another.

 

 


I would argue that "Configurations" are a better workflow for that. They are in beta testing AFAIK.


EESignature

0 Likes
Message 13 of 14

TrippyLighting
Consultant
Consultant

@jeff_strater wrote:

...

Why are you using Derive?  ...

 


If you have a multi stage manufacturing process of which each needs to be documented with manufacturing drawings, then derive is a very good way to do that!


EESignature

Message 14 of 14

John_Wright
Advocate
Advocate

@jeff_strater wrote:

 

Why are you using Derive?  Do you need to modify the derived component in the assembly?  That is the main reason for using Derive.  Unless you have a specific need for Derive, Insert is more efficient.  And does participate in deep update.

 


Thanks for the feedback. 


In a nutshell:

 

  • Derive allows me to remove the parts for a tool from the main assembly (imagine a TV remote in one file, I only want the plastic parts bringing into the tool design)
  • The parts need scaling up by the shrinkage rate (minimum modification) 
  • Each of the die-set plates really needs their own file for CAM machining as different cutters (Tools) are usually needed.
  • Electrode design for each half of the tool is usually easily done in an individual file.

In other words, I breakup the work into many files for a specific task. 

 

John