-
Notifications
You must be signed in to change notification settings - Fork 76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Variant Part cannot use chained LCS reference as with Linked Part #505
Comments
yes this is the expected behavior. The explanation is the following: a normal Link is a link to an object in a document (file) on the hard-disk. For a variantLink , the object is first copied into a new hidden temporary document, then modified as per variant variables, and then linked into the assembly. This means that a variantLink is a normal link to a temporary object that is re-built at each re-opening, therefore the document is different at each session. Thus, references to this temporary object would change at each re-openening, and that defies the current logic of Asm4. |
Thanks, Maybe this could be resolved in another way by the ASM4 WB. My current alternative, If I want to work less manually with the positioning is to use the Linked Part, but then every single profile has to have its own file, so as to avoid the variants. Otherwise, when a single dimension is edited in one instance, all others are changed. This is very expensive in memory. |
think again : the assembly knows the variables of the variantLink – since it's the assembly that assigns them – therefore you should be able to calculate the position of the target LCS in the variantLink directly from within the assembly. For example if the variantLink is for a custom length of a an extruded beam, you can create an LCS in the assembly, offset by the same value as the variable of the variantLink. And from the coding point of view it's far from trivial, the current behavior is a best compromise |
I have created an assembly with 2 LCSs on a first file.
On a separate file, I have an assembly, to reference multiple instances of my file.
When I use the function "Insert Part" which creates a Linked Part, or when I use the function "Create a Variant Part" the procedure is practically the same. Both work well for my part.
Yet, in the dialog box "Place Linked Part" when I insert a Linked Part, in the combo box "Attach to" the options include "Parent Assembly" as well as any other Linked Parts that have been inserted before.
So I can insert a Link1 with LCS1 and LCS2. Then insert Link2 (same source part) and place a constraint to match LCS1 of Link1 with LCS2 of Link2, and so on. Thus, creating a chained reference.
This is not the same case when using a Variant. When inserting a second variant, the first one doesn't appear in the combo box "Place Linked Part".
In case of first inserting a Link and then a Variant, the variant CAN be chained to the Link but not viceversa.
Given that the original part in the first file is the same, I don't understand why this is. I've tried creating assemblies where the LCS is subortinated to a Part inside an Assembly and Assembly with and without Part. What can be the explanation? Is this a problem with me knowing the right building procedure or is it a programming issue?
Thanks
The text was updated successfully, but these errors were encountered: