Currently I am trying to build some assemblies that are the parts to a window frame. These parts are used in varying size windows and I need to be able to take the part and modify its length to fit into the required window size. The end goal is to be able to use these models in Rulestream for automation of the final assembly process. I am looking for suggestions on how to drive the length of the assembly or parts as I have hit a bit of a dead end. The individual parts of the assembly are all part copies of their respective master die so it's not as easy as just changing the extrusion length. To get around the part copy being a fixed length I am using a face move. I have tried to use adjustable parts but I am unable to do a boolean add/subtract for cutting the part where needed in an assembly. Currently I am messing with peer variables but that edits the original part and the only way around that I see is to make a copy of the part without a link as needed. I will include the files I am working with in this post.
Like I mentioned before I am looking for suggestions on ways to drive the length of the parts in the assemblies. I will be happy to answer any questions you might have about my process to make more sense of it.
P.S. all of the coordinate points on the assembly are put in as insertion points for other parts down the road and can be ignored for now.
Solved! Go to Solution.
can you use the Fames environment? IF so you could save each extrusing as a frame member and lets frames drive the lengths and Copings!!!
@KennyG are you able to comment on this post?
Are you able to drive your assembly off of sketches, to determine the sizes?
I do something like this, where the end result of the assembly is just a few different sketches. Many of my parts are linked to those sketches, and adjust as needed. For my situation, all the parts are unique to that assembly, so when I copy that assembly to make a similar one, all the parts are new, and adjust to the new dimensioned sketches.
Just took a stab at using the frame environment and this is a really good idea however it will not work as I am working with a part copy. It looks like the frame environment needs either a closed sketch in synchronous or ordered and a part copy has neither of those.
Just to explain the reasoning behind the part copy, we wanted to have a master die profile that we could make edits to if needed that would then push through and update the actual parts that are being used in the assemblies.
IMHO the structure frame definition is associative to the profile part.
You only have to consider, that there is only one single sketch/profile/protrusion witihn that part.
Using a traditional part IMHO is better than a sync one.
And for the defintion of Your design YOu will have a master ASM with a master sketch or better and preferable would be a master part with a volume to use as definition for Your frame lines.
I realized I completely forgot to mention the master profile and how it it set up.
You make a good point about the master part with a volume to use as a definition for the frame but I did not mention how I have a master profile and the part copy I am trying to use is actually an edit of the master already. I put pictures below to show it but the master profile is how the extrusion looks after it is processed. Then when that extrusion is put together with it's repective parts, part of the extrusion gets crimped around a strut.
If it was not for the crimp and being able to use the master profile, I would deffinately go your route.
Instead of using Family of Parts for various lenths of parts, I would just Insert Part Copy the master profile into a part file and then generate your length from that. This will give you your dynamic length part which I assume RuleStream will need when it generates the ETO assemblies. Basically a Save As from that dynamic part will happen for every length needed but shape will still be controlled via the Part Copy of the master profile that was inserted (and you can do a where used from the profile to find all length parts).
Alternatively if not driving the parts via spreadsheet or configurator (RuleStream), you could make the length part an Adjustable Part and then you can specify the length each time it is placed in an assembly between other parts. If you are just driving the confining parts by position, that may work for the configurator...
Make use the part copy, then do a move face on both ends. Make it ridiculously long, so long you'll never actually need one that long. Do it this way so that the cutouts you are about to tie to the higher level will never fail. Bring these parts into the assembly and mate them USING NO PART FACES, only reference planes or coordinate system mates. If possible use a master part file, in the master part file, use surfaces to draw your outside face rectangle, this would be the extent of the window size. Draw it as an extruded surface. Then in a seperate feature, draw using extruded surfaces the places where they will be split. I'd think these would be 45° angles at all four corners. Bring this master part file into the assembly, should be the first thing in this new assembly. It will ground that part automatically. Then show it's surfaces. Now, bring in the individual parts, the one's you made as part copies. Remember not to use the Faces of the objects, or use those faces as little as possible. After each is placed, edit part in place, do an interpart copy FROM THE MASTER PART file of the spot you want it cut at, then do a cutout tie the cutout sketch to those interpart copies. It's important to ONLY do interpart copies from the master part, never from another part in the assembly. Basically everything is tied to the master part, and and the master part is tied to nothing so you don't end up with circular dependencies. Then after all is done from within the assembly use peer variables and select the master part, change the dimensions from there, and then update the assembly. If done right you should have a resizable assembly that will update to pretty much any size you need without problems.
After playing with all of these ideas for the past 2 weeks it looks like the peer variable method will still work best and the save as method you suggested @KennyG fixed the issue we were having. The Frame environment was also a great suggestion but will not be able to do what we want it to do in the end game with how our preps are handled.
Thank you all for your suggestions!