variable length components

A wizard interface like smart components that asks you to pick the features to drive. And stores them in a node in the tree for later editing.

So say I pick an extrude feature, it should show the end condition which I should be able to set “Up to (Flexible)”

Here’s an example of a rod…no configuration. The Length is controlled by a plane with an Up to surface condition.

image.png
Insert into assembly and toggle flexible, select the new assembly plane. Works with pattern instances as well.
image.png

[quote=jcapriotti post_id=21249 time=1656445131 user_id=91]
SolidWorks has what’s called a “Flexible Part”. You build the rod length “in context”. Then insert it into other assemblies and toggle it “Flexible” which prompts to select an assembly reference to control it length.



https://www.youtube.com/watch?v=sB_1AZIuhic&t=45s
[/quote]
This worked! I struggled with it for a while, before I got it to work, and I’m still not entirely sure what I did. Also, when I opened a different configuration of the assembly, the planes used to define the length were suppressed, so I had to unsuppress them in each config. Strange. Anyway…



Now the pin changes length with the size of the assembly, and I don’t have to deal with setting up configurations in the pin model. The only downside to be aware of is that every time I open the pin model, its length matches whatever it was last, in the assembly. That’s not a problem in this case, because I’m not using a model of a production part - I set it up specially for this situation.



Thanks, J!

Going to the configuration properties before adding the planes and de-selecting this option would have fixed that. (I know it’s too late, but it might help next time.)

image.png

Yeah, that looks like it. Um… where do I find that? I did a search for configuration properties in Solidworks, and nothing come ups.

Click on the configurations tab, and then right click on a given configuration.
image.png

Ah! It was hidden under an “Advanced” button. Thank you!

Is the pin a purchased part?
Do you need a drawing to show the cut length of the pin?
If it’s a pin you buy in 8ft. lengths, I’d make a weldment profile of the pin, and put the description and part number in the profile.
Then use weldments and make it whatever length you need.

Or,
Draw the pin at the 8ft. length, and create a cut.
Create configurations for different cut lengths, and configure the cut dimension.
Then you just reference that particular configuration of the part in the assembly.

20 years of CAD experience, and I’ve always had assembly-based, or in-context definitions of parts bite me at some point…

The pin model is not for a production drawing. It’s just for visuals, to make pictures of the assemblies to use for whatever purposes we need them for.

For this model, I ended up with 50 configurations, and more are possible. That’s a lot of configurations to create in the pin, and then set in the assemblies, and chance for error. I would use this same pin in other models, with a similar number of possible lengths, but given the requirement for in-context, I’m not sure this is possible. Anyway, even with the time I spent trying to figure out how to make this work, I think I saved myself a lot of time.

You have been presented several good options but before I answer I’d like to have answer first.

How is the part managed and recorded in your CAD BOM, manufacturing BOM or shop floor? This answer should really drive how you manage your part in the other systems.

The part is not managed in a BOM. It doesn’t go to the shop floor since this is just for making pretty pictures for literature. The pin model isn’t even connected to a real-world part.

I don’t want to create hundreds of configurations for the pin, or create a new config for the pin every time I create a new config for the assembly, I just want to put the pin into the assembly and not have to think about it again.

Not sure if it was mentioned, but making it “virtual” is another option, then you can edit the copy inside the assembly. Same as copying the file over and over, you just have to store the file if its virtual.