Modeling Assemblies In Context
Hi folks - After spending several months learning Solidworks (on-line courses and experience modeling my Chipmunk), I started modeling a new design. I've made very few decisions, so wanted to ensure EVERYTHING could be changed without it blowing up. I modeled all the basic parts as an assembly, and tested as I went along. Lengthen the fuselage: vertical tail slides aft with it. Widen or completely change the shape of an aft fuselage bulkhead: the forward fuselage changes to match, and the canopy and tail fairings all reshape themselves to fit the new fuselage. The wing and stab are mated at the centerline but I can freely slide them vertically or horizontally. Lengthen the span or thickness of the the stabilizer and the elevators adjust to fit. No commitments! Magic!
Later on, after a few iterations of conceptual design and lots of decisions, I'll model the internal structure. All the major parts are saved externally but join at the top level of assembly. My plan is to convert each of the current parts (left wing, rudder, aft fuselage, etc) to an assembly then model each of them down to the level where parts would actually be fabricated.
So far so good. Then I got ambitious and broke the In-Place mates between the stab and elevator, thinking I'd hinge them. Floated the elevator and mated the hinge axes. As soon as I moved it, Bam! They blew up.
Everything back there went red. The elevator was modeled in context, so once you lose the context you're done. Now I wonder: will I have this problem with every part?
When the time comes, is there some sequence I can use to retire in-place mates and break links between parts? Better yet, can I keep the context between parts, but still be able to test their movement? I really want to be able to modify one part and have the change ripple to every other other part it affects, with no explosions!
You probably have lots of sketches pointing to external references. The mate was holding everything in place and keeping those external references happy. As soon as you move the elevator you get broken references and other issues. You have to go to each part and look for external reference arrows, then delete them in each sketch and add other relations to fully define the sketches. It takes time. I tend to do this a little at a time and only get a KABLAMO! if I miss something. I try to remember to save the assembly so I can go back to a good model after the cloud of red.
You can use equations to drive changes without the problems you are seeing. Master sketches can work too but both of these will leave external references in your part files. No free lunch.
How do I do it? Manually -- once a design is close to real......Bill
SOLIDWORKS Support Volunteer
I would quite strongly advise against using in-context design techniques - for the simple reason that every time you make even the smallest change in the component or assembly, the software goes back and updates all the references. KIS - model the parts individually and then mate them into the assembly. Worst comes to the worst, part changes may (or may not) require you to re-mate them into the assembly.The same applies to multi-configuration parts that have a bigger problem, viz every change to every configuration updates ALL the other configurations. As your design advances in detail the updates can take long minutes - and I mean LONG minutes. There are some tricks you can play here that slightly improve the situation - but in the long run KIS.BTW think of the following hypothetical situation: You've modelled a whole aircraft in context (aka top-down-design) and you want to use the left main-wheel design in another aircraft. The P&G (Pack-and-Go) of the wheel will include the whole aircraft!
Yep, you nailed it Bill. It was intentionally built with all those references, so I should have anticipated the result if I moved anything. I save CONSTANTLY though so had a ready spare before it blew up. Reverted back and went about my business. Now I know what's ahead though, so can start weening off the external refs as the design gets closer.
Jeff, Bill, I spent a long time before starting to learn SolidWorks buried in a spreadsheet, doing calcs and comparing specs on various airplanes with characteristics I want. All well and good, but the aesthetics of the design is a major objective so I was running out of steam and satisfying ways to make tradeoff decisions. Need to see it! So my thought is to go back to the spreadsheet now, and start tweaking an actual airplane model into various configurations. I also have various airplane 3-view drawings (correctly sized) so I can hide and unhide them, see how my design compares to interesting and successful airplanes. Change a top level measurement or drag a line and it all hangs together via the in-context links. I'm a major fan of Convert Entities. Draw even a complex shape at one known spot, then hang other parts on it by just repeating those curves (and splitting them if you only need a piece). I was amazed I could make the canopy reshape with every new fuselage by using intersection curves. Ditto for wingtips - they change with the airfoil and planform.
It's all basically built at this point, and it didn't even take very long. Especially compared to the months I spent on my Chipmunk. If I dump the links before doing any detail design, then model each part individually, is this approach totally crazy?
I have had to deal with models started by other people a lot in my career and sometimes it's just best to start over. This is also true of my own models that have seen too much 'development' during the design process. What I often do is start a new assembly and insert the old model into that assembly with the origin in a good spot (often the origin of the original file is way off in space somewhere because it was done in the context of the original assembly). Once the old model is where I want it in terms of the origin and the orientation is set so the top of the part faces up and the front faces the way I want it to I create a brand new part file on top of the old one. Yes, I convert entities but I immediately remove the 'On Edge' relations and dimension the sketch as is best for that part. If I create planes they are defined within the new part file, not to anything in the old part file or the assembly.
Having two parts occupying the same space in an assembly takes some getting used to but making them different colors gives you a visual tool to highlight areas that are not the same from one part to the other. You can hide the old part when it's in the way and show it when you need to.
The above procedure does several things -- it gets rid of old feature history and it breaks all the old external references. I find the feature tree often shrinks to less than half the length of the one in the original file. I also find I can better capture design intent when I start over. There's very little designing being done at this point, you're just modelling in the most efficient way so each part is easy to understand and maintain. FWIW.....
Last edited by cwilliamrose; 02-15-2017 at 08:22 AM.
Bill, So the first assembly becomes a prototype to make all the mistakes and do all the figurin'...then start over using the dimensions and the shapes, and lock everything down properly. That makes good sense to me.
Originally Posted by cwilliamrose
When I was working on the Chipmunk and had particular difficulty figuring out how to model something and didn't like the result, I would sometimes hang onto the first attempt but hide it, try a different tactic right on top, and if it worked better, go back and delete the first one. I did this quite often so I didn't lose any work while I tried out other stuff. Sounds a bit like what you're saying about keeping two parts on top of each other.
To remove the "On Edge" relations you just delete the little cube, right? Then it becomes a stand alone curve, no more relations. Then completely define the sketch.
Models tend to collect 'baggage' over time, especially when you're not sure where the design is going. So yes, you could consider the first models as prototypes. That isn't always the case but if you cut your losses and start over you will often end up with a better set of models to work with.
Configuations tend to collect too so when you're ready to clean things up those old ones can be discarded (as long as they are not in use in an open assembly). This is another case where saving a copy of the original file may be helpful later.
If you use a temporary assembly to create the new and cleaned up version, the old original could be stored away in an 'Obsolete' folder where you can retrieve it if you lose your way or just want to check something. And having the two versions as separate files allows for the visual comparison I described above.
If you want to delete the relations one at a time you can just click and delete the little cube icon. If there are dozens of them you may want to delete them all at once. Use the Display/Delete Relations tool to display/select the relations and delete them all at once.