Is there any possible way in Solidworks, EPDM, Toolbox, ect that i can somehow save a part so that it can be inserted into an assembly and have a variable length?
This is the solution I came up with. the first question to answer is if geometry matters and if it doesn't then then Kevin's answer works nicely. If your doing a top down design approach you can directly link components to the assembly.
The best solution i have come up with is creating configurations and equating your items in the design table.
To give a descriptive solution
In the property manager I defined the my quantity as QTY on the Configuration specific tab and then under BOM quantity I selected it to use as my bill quantity
Then when I created the design I made the description an equation so that i can just click and to create the configurations and i defined the QYT property ($PRP@QTY) as well so that the BOM quantity will update with change in length.
Setting it up this way allows for secondary users of the part to easily apply the part into there models and also use the part multiple times in an assembly and sub-assemblies at varying lengths and get an accurate quantity.
Can you save your part with various lengths using configurations for each length? If so then you can insert this part in the assembly and use which ever configuration you prefer.
Thats the way it is set up right know but that involves a lot of configuration rooting through and then we have to make assembly cuts to make the model look nice or expediently increasing the configuration tree and im trying to see if i can create a simpler way to do it for the end user. i was playing around with using a weldment profile feature but the requires the end user to create a virtual part in the assembly which is more time consuming than the rooting through hundresds of configurations.
I would create a Global Variables in Assembly and Library Part and link Global Variables as shown:
It works nicely in SW2014. Latest SW versions have some issues with this technique.
Is there a way to use that with undefined top level assemblys
Not sure if I understand what it means "undefined top level assembly". Equations in SW must always be defined and evaluated by system. All we can do is change definitions (numbers or equations).
this is a hardware part and gets put into thousands of applications so i cant define a definition to just one assembly
You can link Global Variables Assembly/part both ways top -> down and bottom ->up.
If the “flexible” library part will be used in different assemblies I would link Assembly ->Library Part, see sample:
"Flexible" Library Part must be opened with assembly only. Otherwise link in equation in part will be turned red.
I am still failing to see how with this method works for more than one assembly if your calling a hardwired code. the Global veriable in both examples explicitly calls out a singe top level assembly.
Dimension in a part may be linked to any assembly:
If you wont I can Pack&Go this sample and send it to you.
Yea that would help if i see it done in an assembly structure where you have an assembly consisting of the part and a sub-assembly and the sub-assembly consisting of the part at a different length
This thread (How to modify a part's quantity in an assembly without changing the library part? ) suggests using component references which can be changed on a per-instance basis within the assembly without modifying the root part/assy file.
You can also view component references in the tree to see which instance is at a particular value,
Balloons can reference component references too (instead of the QTY column).
But instead of having a mixture of CR & QTY balloons, create a custom QTY BOM column and reference this in your balloons.
For parts/assys with variable amounts, add a custom property (like "IsAR") and set it to "1".
For non-AR files, don't add this property.
In your BOM, add an equation column that looks for IsAR=1 and if so, display the component reference (you'll need to add this column to the BOM too), else display the regular QTY column's value.
Hide the regular QTY and the CR columns and use the equation column as your QTY column.
Additionally, you can use the IsAR property in a BOM equation column (=if(IsAK="1";"A/R";"-")) to indicate which items are A/R.
If needed, you can add an "IsARUOM" property as well to indicate units of measure.
Unit of measure column: =if("IsARUOM"<>"";"IsARUOM";"EA")
You'll have to add then hide the "IsARUOM" column in the BOM
Retrieving data ...