Thursday, May 29, 2008

STS#2f - Assembly Cut



Due to the sheer number of posts on this subject, here's a handy guide to all of them.
#1 - Associative Copy/I-DEAS Baseline
#2 - Derive Component Part
#3 - Top-Down Design
#4 - Blocks
#5 - Design Library
#6 - Assembly Cut
#7 - Part Configurations



It normally doesn't pay to over think a problem. So, let's take a step back, reflect on what is actually needed, and try again. I want to represent the machining operations on a raw casting or extrusion. So I need something I can make a drawing of, something I can place into assemblies, and robust relationships I can easily track. But does that 'something' need to be a part? Maybe not. Enter assembly cuts.

Assembly Cut is an operation we have been able to do in I-DEAS for a very long time, but have historically shied away from. An Assembly Cut is performed on the assembly instance of the part, not the actual part itself. So the information is stored only in the assembly, and does not affect the raw part. It actually is the easiest solution to the problem I've been trying to solve, but in I-DEAS it is very quirky, very flaky, and has some (artificially imposed, I think) restrictions. We try to use it as a last resort, opting to do Associative Copies as much as possible. Let's see if SolidWorks can improve the situation.

ASSEMBLY CUT



We again return to our familiar source part.



I will create a new assembly from this part. In previous examples, I've been naming assemblies "context". But in this case, I don't intend to make an additional part; I'll be using the assembly directly. So I'll name this assembly "target".



The key thing to note is that the assembly has its own set of datum planes that are independent of any part planes. This characteristic alone gives me a lot of confidence in this method. I suspect that I-DEAS is doing something pretty similar behinds the scenes - a sort of "assembly sketch pad" if you will - but it is not very elegant. I will sketch on the front plane of the assembly in order to cut this part to the appropriate length. I need to be careful with an open file system, because SolidWorks opens all of the component parts with write permissions by default, and I do not want to mess with my source part.



Once my sketch is complete, I choose the Extruded Cut command from the Assembly Features icon.



Note that this cut is stored at the same (indented) level of the assembly as the source part. Just for grins, I'll sketch on a different plane and do another assembly cut.



Let's take a quick peek at the source part.



Just as we left it. As usual, Find References does not report the target assembly. However, this is a basic where-used scenario that I'm positive Enterprise will do.

CONCLUSION



I like this approach a lot. It is identical to a concept we are already familiar with, without the obvious pitfalls. I didn't have to worry about rolling back the part, or switching on the old Focus command like I would have in I-DEAS. Because I'm drawing on the assembly's planes, I don't have to worry about getting caught up in the "this part is referenced, so you can't change this dimension; oh, but this is an assembly cut, so you can change it after all" loop that I-DEAS enjoys. This is an approach I can explain easily, and at least in the data managed environment, should answer all of the where-used/came-from questions I would want to ask.

The only real curiosity I've noticed is that when I place this target assembly into another assembly, and then do a Zoom To Fit (Zoom All), it includes the length of the original source part, even though it is not displayed. The target assembly by itself does not react this way, centering nicely around the displayed part as expected, so I'm not sure what the difference is. I'll call this a minor inconvenience.

I-DEAS has some additional quirks when it comes to assembly constraints with Assembly Cut geometry, but with a quick test I don't see those same restrictions here in SolidWorks. So I'm seeing a whole lot of positives, and no significant negatives. I think we have a winner.

No comments: