GetAllLatest/updateAllReferences ignores derives

GetAllLatest/updateAllReferences ignores derives

jonrbloom
Advocate Advocate
701 Views
11 Replies
Message 1 of 12

GetAllLatest/updateAllReferences ignores derives

jonrbloom
Advocate
Advocate

I have a complex design that makes heavy uses Derive, and Inserted components.

 

When I do a GetLatest from the root of my design, Derived components are not evaluated. This leaves my root component apparently 'up to date' when in fact it is not because some of the Derived components are out of date.

 

For small designs I guess it's not a killer. But in my case I have over a hundred individual components, so it's extremely cumbersome / time consuming even to verify that my design is clean, let alone update if it is not. This design predates Configurations, and so uses a master 'Parameters' Derived component to drive all the subcomponents. So it is a common occurrence to change a parameter, and need to ripple that change through all of the sub-components.

 

I eventually resorted to writing an Add-In to recursively descend a design to determine cleanliness. But Fusion balked me there too because the API has no comprehension of Derives. Following the timeline to detect Derives looked promising, for a while, until I discovered that Derive timeline features are not always correctly named (I have a few instances in my design where a Derived source document was renamed, but the timeline entry in the deriver continues to use the old name - oddly with the updated version). This makes it impossible to locate the corresponding design file to check for cleanliness.

 

Is this limitation intended? It feels wrong for a component to be flagged as clean in the Browser if there is a Derived sub-component that is out of date.

 

0 Likes
702 Views
11 Replies
Replies (11)
Message 2 of 12

TrippyLighting
Consultant
Consultant

I can't say that I've experienced this. It would certainly not work as intended.

However, without a model to examine, it is impossible to determine a root cause 😉


EESignature

0 Likes
Message 3 of 12

jonrbloom
Advocate
Advocate

It's a fair challenge 🙂

 

https://a360.co/3Z6MEY6

 

You need TWO nested Derives to show the problem...

 

Base

DeriverA -> Derives 'Base'

DeriverB -> Derives 'DeriverA'

 

Now change Base. DeriverA shows as needing update, but not DeriverB

0 Likes
Message 4 of 12

jonrbloom
Advocate
Advocate

Just to make sure, I tried the same thing with Inserted components instead. In this case the both InserterA and InserterB show as out of date when I update the Base:

 

https://a360.co/3AKMqLZ

 

 

0 Likes
Message 5 of 12

billbedford
Advocate
Advocate

If you have a chain of imported data and change the last in the chain, you have to save each member to ensure that the change is correctly recorded. The same situation applies to nested configurations. 

0 Likes
Message 6 of 12

TrippyLighting
Consultant
Consultant

Aha, I see what you mean. I believe this is a current limitation of derive, but I am not sure!

I am going to tag ... hmmmm ... @karina.harper to comment on this.

 

Do you need hierarchical derives?

 

That is only needed if you need to make modifications to the derived geometry in both DeriveA and DeriveB.

If that isn't needed, you are better off using linked rather than derived components, which also uses fewer computational resources. 


EESignature

0 Likes
Message 7 of 12

TrippyLighting
Consultant
Consultant

@billbedford wrote:

If you have a chain of imported data and change the last in the chain, you have to save each member to ensure that the change is correctly recorded. The same situation applies to nested configurations. 


That is not the case of you use linked (inserted) components.


EESignature

0 Likes
Message 8 of 12

jeff_strater
Community Manager
Community Manager

"Is this limitation intended?"

 

Intended?  No.  This is more like "not yet implemented".  I'm pretty sure that this is intended to work as you expect it should, once this rises to the top of the priority list.


Jeff Strater
Engineering Director
Message 9 of 12

jonrbloom
Advocate
Advocate

> Do you need hierarchical derives?

Yes, unfortunately the hierarchical Derives are needed - At least 2 levels because the lowest level is the Parameters 'Design', which must be Derived to propagate the parameters into the higher levels. The second level of Derive allows me to avoid maintaining multiple small variants of different lengths, or orientation (mirrors). Like I say, this design predates Configuration, which would be the obvious way to do this today. Re-implementing isn't realistic due to the number of components that would need to be reworked.

 

 

Message 10 of 12

jonrbloom
Advocate
Advocate

> I'm pretty sure that this is intended to work as you expect it should, once this rises to the top of the priority list.

What I was fearing then 🙂

 

It's just frustrating that Fusion is baulking me in multiple directions with no direct support, and the API not allowing me to automate a brute force approach because it hides Derive away.

0 Likes
Message 11 of 12

karina.harper
Autodesk Support
Autodesk Support

Thanks for bringing this up @jonrbloom - we did some work recently on Deep Update with XREF and Configurations - so it's true we should be supporting this for Derive. I didn't see a ticket in our backlog for this, so I brought it up with the team and logged it. FUS-169434

 

And @jeff_strater - aren't you on Sabbatical?! Get to the beach! 😉

 

Cheers,


Karina

 

Message 12 of 12

jonrbloom
Advocate
Advocate

@karina.harper - Thank you, that's good news.

0 Likes