I have an assembly/model of features being controlled by layer rules and feature parameters to manipulate their visibility during different family table instances. The assembly/model itself functions as intended when each instance is opened. My goal is to make a top level assembly using multiple family table instances from the previously mentioned assembly/model. I would like those family table instances to function independently as if they are not joined with other instances from the same assembly/model (do as the family table instance does by itself, as its own assembly/model, in the top level assembly). My issue is the top level assembly seems to be overwriting what the intentions are for the sub assembly instances. The features become placed on multiple layers, which I assume it is due to the same assembly/model being used multiple times and it can't distinguish the different instances. Is there a way to only use the top level assembly as a way to just view the multiple joined instances as they are intended (independent), and not control/overwrite the sub assemblies? Or does the problem seem to be with how the programing is written for the feature parameters?
as far as I know, individual sub-assembly family table instances assembled into top assembly "work" the same way as when opened in separate window. I think the problem you described is related to your specific data. Please upload example data for testing purposes and also pictures that describe the problem.
The ASSIGN_XX_9 is a feature annotation. The YES/NO parameters for FOR_INSTANCE:FID_ASSIGN_XX_9 and FOR_MODEL:FID_ASSIGN_XX_9 are in the feature annotation parameters the user toggles. The MODEL and INSTANCE:FID_ASSIGN_XX_9 are reading a part parameter.
The problem is below:
I hope this clarifies my problem.
unfortunately I still do not understand your situation.
I just can tell that your CONDITION (see below) is too complicated for me:
MODEL=="01" & FOR_MODEL_01:FID_ASSIGN_XX_9==YES & INSTANCE:FID_ASSIGN_XX_9=="01" & FOR_INSTANCE_01:FID_ASSIGN_XX_9==YES
MODEL=="01" & FOR_MODEL_01:FID_ASSIGN_XX_9==YES & INSTANCE:FID_ASSIGN_XX_9=="02" & FOR_INSTANCE_02:FID_ASSIGN_XX_9==YES
MODEL=="01" & FOR_MODEL_01:FID_ASSIGN_XX_9==YES & INSTANCE:FID_ASSIGN_XX_9=="03" & FOR_INSTANCE_03:FID_ASSIGN_XX_9==YES
MODEL=="01" & FOR_MODEL_01:FID_ASSIGN_XX_9==YES & INSTANCE:FID_ASSIGN_XX_9=="04" & FOR_INSTANCE_04:FID_ASSIGN_XX_9==YES
I would prefer following relations:
IF MODEL=="01" & FOR_MODEL_01:FID_ASSIGN_XX_9==YES
IF INSTANCE:FID_ASSIGN_XX_9=="01" & FOR_INSTANCE_01:FID_ASSIGN_XX_9==YES
IF INSTANCE:FID_ASSIGN_XX_9=="02" & FOR_INSTANCE_02:FID_ASSIGN_XX_9==YES
IF INSTANCE:FID_ASSIGN_XX_9=="03" & FOR_INSTANCE_03:FID_ASSIGN_XX_9==YES
IF INSTANCE:FID_ASSIGN_XX_9=="04" & FOR_INSTANCE_04:FID_ASSIGN_XX_9==YES
Thank you giving me a better code practice for the future.
Unfortunately, I am still getting the double layer issue when placing all 4 instances (of the same model) in the same top assembly. Each instance has a different combination of the same set of features that need to turn on (TURN_ON) and off (TURN_OFF) based on a similar type of relation as described above. The reason for the layers is so the user can hide an unwanted layer from view for a future process.
It needs to know what model to look for as well as the instance within that model. I have feature parameters (in the ASSIGN_XX_9) that can toggle YES/NO as to whether the user wants the feature to show up (TURN_ON) in the specific model, and on the specific instance in that model. When looking at the features in the top assembly, all parameters are set correctly even the layers they are supposed to be placed on by having a parameter to read the layer name.
The model tree shows they are going on two different layers:
1.] Are YES_NO feature parameters included in family table (this means do they have their columns in it) ?
2.] How did you display list of layers in model tree for Sketch 65 ?
3.] Can you upload your data ? If you cannot do this it is difficult to understand what is going on...
1.] They are not listed in the family table. Each feature that needs to go onto a specific layer has it's own unique set of the same YES/NO parameters. This feature gets inserted (UDF) into the assembly multiple times carrying in the YES/NO parameters. It might not be feasible to add them to the family table as there could be up to 50+ features to add at any one time.
It is something to explore and see if it solves our issue.
2.] I went to , tree columns, layers from the "type" drop down, and inserted layer name. I was then able to view it was on both the TURN_ON and TURN_OFF layers. Within the feature parameters themselves, with the rules set as described above, the layer name gets correctly displayed.
3.] I cannot really upload any further data, but I will try to describe the situation better:
A. There are UDFs being inserted into an assembly/model carrying the YES/NO feature parameters.
i. The relations described above are within each feature I would need to change the layers of, based on the instance.
B. The user changes the YES/NO parameters for each feature based on which instance they want to see it (hiding or displaying layers) after being placed in the master.
i. The layers are used to be an easy way to toggle the visibility of the large number of certain features.
C. Instances are created for the assembly/model so the features can change.
i. Everything works as intended when each instance is opened within its own assembly, i.e. goes on the correct layers at the correct time.
D. After the assembly/model is created, I would like to make another higher level assembly using only instances joined together from part C..
E. The problem occurs when I start adding the multiple instances together (from the same assembly/model) as a way to just view them all together.
i. The features get placed on both of the layers described in the relation above.
ii. The instances do not display correctly in the higher level assembly when I regenerate.
iii. If I open up the specific instance and regenerate that instance, the instance corrects itself.
iv. Then, if I just activate the higher level assembly, the instances are displayed correctly and are as intended.
v. Regenerating the higher level assembly restarts the incorrect instances
My original hope is to be able to place just the instances, even though they are from the same model, in one larger assembly and view all of them at one as they are intended (independent).
If the features have some logical grouping, one can create a Group in the model and place the Group into the family table. This way, even if the Group has thousands of features it is controlled by one entry in the table.
The table type for adding a group is Feature, not Group.
The problem it seems like you are having is the desire to have different behavior from the same features in the instances. That is, for one feature of an instance can not be exclusively on one layer or another in two places at the same time.
Have you looked at By Rule Simplified Reps? It is often a better means of controlling visibility than layers.