Originally published in 2009
I’ve written prior articles about the power of Envelope Parts in an assembly. And about ways to leverage the ability to build multiple solid Bodies in a part file. But now lets talk about a way that you can combine these two ideas, to work “Outside-In”. That is, to build detailed design work on welded tanks, sheet metal enclosures, furniture, cabinets, architectural, etc. – in a single part file. It’s a technique I’ve been using and teaching for about 4 years, but never could come up with a good name to describe it.
Then last night I was watching the pilot of Joss Whedon’s new series, “Doll House”. (Not as good as “Firefly”, but hey, that’s just me). And I remembered back to the very first time I ever proposed this technique to a customer. The user, Charles Ro, is the owner of a famous line of hobby supplies and model railroading kits. He was trying see if CAD could help him build kits for doll-houses, and for scale model scenery, buildings, etc.
Charles would roam the country looking for unique buildings, barns, wharehouses, anything with genuine character. He would sketch it on a pad, then return to the shop to build a computer model. Then – how to break the design up into kit parts? Where to put the joints, dowels, tenons, or bevels to ensure high-quality fit-up? This is where 3D CAD came in. The “DollHouse technique” will show you how to have a very simple, outline model in 3D, drive the creation of the walls, or plates, or interior structural details, etc. Eventually these detail parts were laid out and cut on a CNC laser. This allowed Charles to market, and to create-on-demand, kits for hobbyists, architects, that are truly one-of-a-kind. I love it when people can fold new technologies into a passion for their work. I’ve since applied the Dollhouse technique to welded tanks, marine architecture, furniture, cabinetry, sheet metal, and remodelling my own house. You’ll find other applications, I’m sure.
Overview of the Dollhouse Method
We will be building up the design of a fabricated assembly, not by creating SolidWorks part files in an assembly, but by creating each detail as a Body within a single part file. This reduces the number of files you have to handle in the early phases of the design. It also makes top-down relations between the detail elements, easier to create, easier to manage, and faster to update. The method has drawbacks as well, of course. Without the benefit of assembly Mates, you will not be able to create dynamic motion in your design, nor will you be able to created exploded views. Also, all bodies within a part file will assume the same material, so it is only within an Assembly that you would be able to get mass properties computed for mixed materials. This is why we will conclude this discussion with a method for exporting the bodies back out to dedicated part files within an assembly.
I’ll illustrate the method using the wheel-house of a small coastal ferry boat. First, we will create a simple envelope solid that captures the main form. This first solid body will be how we drive major design changes. Then, we will create a new solid body (within the same part file) for each piece of plate (steel or aluminum) that will comprise the structure. These plates will be sketched directly on the faces of the envelope model, re-using model edges and vertices wherever possible. Details of how plates dovetail, or abut, are similarly worked out by re-referencing existing geometry. The standard SolidWorks “Weldments” tools will be used to frame and reinforce the structure internals. Finally, we will create a drawing that depicts the completed structure, as well as detail views for each piece of plate and cut-stock for tube, angle iron, channel, etc.
Build a simple master body
The Master solid body wants to describe the envelope of the fabricated product. And by “envelope”, I mean the outermost shell, or appearance. (In a SolidWorks assembly, the term “Envelope Component”, means something rather else). Since I want to begin oriented and in-scale, I begin by importing a simple model of the ferry hull/main deck. And on this I sketch the plan form of the wheelhouse, (figure 1).
KAP’s Tip: The Dollhouse construction is equally about building from the outside-in, as well as top-down.
The details of construction at this stage are not that important to the method. I will mention at this point, however, that the deck is not flat, so most of the plates and structural elements will abut the deck on an edge, or will require beveled faces. Thus, the first Extrude will need a 2nd, downward, end-condition of “Up to Surface”. Also, we do NOT want our wheelhouse solid to fuse together with the hull model, when we Extrude this first sketch, so we clear the check box option for Merge Result. After adding features for a funnel fairing, life-jacket lockers, and curved, overhanging roof, our envelope solid looks like figure 2. In each Solid operation, I have selected the Feature Scope such that the new feature bonds only to the wheel-house body, and not to the main hull. The most important dimensions of the wheelhouse are now established, but do NOT devote any effort to fabrication details at this stage. I have laid out some of the sketches for windows or hatches, but have not CUT them into the solid model yet.
Setting the Stage for detail design
We would like to keep a simplified configuration of the Wheelhouse while working with the overall ferry model. So here is when I create a new configuration, which I called Detail Design, to carry the fabrication features. In the original, “default” configuration, you do not want any of the new detail design features to appear. New features should add to the Feature Manager in a “suppressed” state. To ensure this, check the properties of the Default configuration, the Advanced Options check-box for Suppress Features should be checked. The same setting should not be checked, however, for the Detail Design configuration, because if I decide to go back to the master body and add more features, I do want those features to appear, unsuppressed, in the Detail Design configuration at the same time. From here on out, you will be working with multiple solid bodies, and you want them to NOT merge with each other. The default, of course, is that SolidWorks WILL merge each new solid body. To override this default, use Insert – Weldments – “Weldment”. This will add a Weldment icon to the top of the feature history, and this icon tells SolidWorks that from now on, you actually want disjoint solid bodies. Now it is time to think about wall thicknesses. Most of the structure will be ½” plate, and some will be ¼” plate. Figure 3 shows how you can get most (although seldom all) of your wall thicknesses by using the Shell command. Here I am using the Multi-Thickness setting to tell the funnel shroud and lifejacket lockers to use the thinner walls. And, of course, I have hidden the body of the hull.
KAP’s Tip: The Weldment icon prevents solid bodies from merging by default. You can add it for this purpose, even if you use no other weldment features.
The last things to do before getting into fabrication details, are to cut thru the window and door outlines, and to make the entire body translucent, (I use a light color like yellow, or sky-blue, and a transparency of 85%). That way we can see to work on and reference the master body, but have most of our attention upon the (opaque) fabrication details as they take shape. In the images that follow, I have set my wall thickness quite a bit larger – 1” thick usually – only so that it will be easier to show you pictures of the details how plates overlap or abut.
Here is where the heavy lifting begins. I’ll start with some of the plates with easy, right-angled junctions, and then we’ll dial-in more complexity later. Rolling the model over to look underneath, (and at the inside walls), I’ll first sketch on one of the small, aft walls of the lifejacket locker. I use the edges of the inside face, because I’ve decided that all other plates adjoining it on convex corners should overlap its thickness. Extrude this sketch, “Up to Vertex”, and select one of the points on the outside rear corner. Doing the same thing on the other side means that we now have 4 bodies in the Feature Manager: The imported hull, the master model of the Wheelhouse, and two detail plate bodies.
Now we will add the main side plates. As you can see in the figure below, most neighboring plates abut this plate on convex, (outside) corners. So we should sketch on, and Convert, the edges of the outside face. But, at the forward edge of this plate, it abuts one of the angled plates containing the secondary windows, and at this junction you want the plates to abut on the inside edge, (the corner will thus be ‘open’ for welding from the outside). So, we will also Convert this one interior edge, and trim the net profile up to this line, before extruding the plate. Again, extrude “up to Face” or “up to Vertex”, re-using selections from the master solid body.
The forward, slanted walls form acute, convex corners everywhere except up at the junction with the roof. So, to put the weld bead on the outside, we should sketch on, and Convert, the inside faces of these three walls – except that we should convert, and trim in, the one outside edge along the junction with the roof plate. The figure below shows the 7 detail bodies we should have after that step.
Next, let’s get a separate solid body for the roof. You can see from the image above that the funnel shroud and the roof intersect such that there is a ‘C’ shaped notch at the back center of the roof. In the actual boat, that does not really happen. Most of the funnel shroud is cosmetic, and the roof in fact is unbroken along the aft edge. But our simplified master-solid Merged these two features – how do we get back to a clean, unbroken roof line?
KAP’s Tip: To select all the edges of interior ‘holes’ – like the window and door apertures – for the Convert command? Right-Mouse-Click over an interior edge, and use Select Loop
I will use an alternate way of lifting a face that uses a couple of simple Surfacing tricks. First, select the top (outside face) of the roof. Use INSERT – SURFACE – OFFSET, but enter an offset value of zero. Notice that this changes the Offset command into a Surface Copy command, and we have just stolen an associative copy of that face from the solid – (sort of like the Convert command, but for faces, instead of for edges). HIDE all the solid bodies to make the next selection and operation clearer. Then use INSERT – SURFACE – UN TRIM, and select the ‘C’ shaped edges that have been nibbled out of the aft portion of the roof. You will now have a face with a clean back edge. Finally, use INSERT – BOSS – THICKEN, to grow a solid from this face, back downward the desired 0.5”.
We’ll continue on to inner structure, and so for clarity, I will leave the Roof detail we just made, hidden. Another face that needs to be enlarged is the aft wall, (which appears to be bisected by the funnel). Like the roof, this wall is not really encroached upon by the funnel. Also, the wall extends all the way to the deck, even though in our master solid, it appears to stop where it is joined by the lifejacket lockers. In fact the lifejacket lockers are a separate compartment. Notice that the aft wall is overlapped by the roof and the side walls. So, we will sketch on and convert from the inside, and extrude outward. (Sketch on either panel, port or starboard, but use Convert on both of them). Then, we will convert any edge from the bottom of the wheelhouse master solid. Finally, copious use of the Trim tool, (both to trim some lines, and extend others) will get us to a single, simple back panel, (see next figure).
KAP’s Tip: When using Un Trim, select edges, not faces, else you will accidentally un-trim all edges of the entire face.
While we’re at it, the large doorway (on the Port-side only), is for passengers fo go down stairs, so this is actually walled-off from the bridge. We could create this wall by first locating a point halfway between the larger and the smaller doorways, and then build a transverse plane thru this point. And then, finally sketch on this plane – and then convert a copy of all the lines for the aft wall, forward onto this new plane. But that would be too easy. (!) Instead, I want to emphasize that all your other body-to-body operations in SolidWorks, are fair game for use in the Dollhouse method. So I copied the aft wall forward using INSERT – PATTERN – LINEAR PATTERN. Do not fill in the “Features To Pattern” dialog box – instead, select the “Bodies To Pattern” box, and identify the back wall. I shifted the copy forward 65”, (yeah, I just had that number in my head. The desired gangway width is what actually locates the doors, not the other way around). OK, now on to the funnel shroud itself. We will lift a copy of the funnel faces similar to how we built the roof detail. First, Right-Mouse-Click over one of the outside faces of the funnel, (outside so that we get the correct lapping of plates), and use Select Tangency. Viola – you have gotten all of the needed faces selected at once. Now use INSERT – SURFACE – OFFSET, with a zero value, to copy these faces. For visually clarity, HIDE all your solid bodies again so that we see just the funnel surfaces, as in the 2nd image below.
Next use INSERT – SURFACE – UNTRIM. Why? Because we actually want the two life vest lockers to be closed-off from the funnel uptake. So we have to recover some of the faces that were ‘buried’ inside the original, simple master solid. If you only select one of the trimmed edges, as shown in the 3rd image above, then the recovered area will actually be too large. But, if you carefully select all 3 segments of the edges (shown in blue, above), the programmers become quite clever, and will fill-in the trimmed area to the last known intersection of the as-yet-unselected edges – perfect for us! Later on, we can use Sheet Metal capability to flatten out the pattern for the rolled plates that make up this body.
Linear Structural Elements
Now it is time to reinforce the wheelhouse with angle iron, steel tube, channel, gussets, etc. This is a fairly straight-forward use of the functions in the Weldments toolbar. Except, of course, if you are not actually welding anything. If, for example, you are using this method to do architectural work, then you should spend an hour or two expanding your library of structural cross-sections, to include lumber like 2×4’s, 2×8’s, milled goods like chair-rail and mop board, etc.
On the boat I’ve chosen to model, a great deal of the reinforcing was done with Z-channel. Since the default library of structural sections shipped with SolidWorks does not include Z-channel, I had to add some sections of my own. Expanding your Weldment Profiles library is pretty easy. First, go to TOOLS – OPTIONS, and look under the System Options tab, FILE LOCATIONS. In the pull-down list, select “Weldment Profiles”. This is the current location of your profile library files. Use FILE – OPEN, and set your choice of “File Type” to be “All Files”, so that you can browse to, and open, one of your existing weldment sections, (it will have the file extension .SLDLFP). Then simply use FILE – SAVE AS to save a copy off with a new name. Once this is done, edit the sketch to reflect your new desired shape. Remember also to create a SKETCH POINT along each edge in your shape that you would want to use as a start-point for aligning the cross-section when it is being deployed. Next we need to create the sketches that serve as the centerlines of our Z-channel, and this presents an interesting question. Should we sketch these lines on the faces of the plates we’ve just lifted? Or should we sketch them on the faces of the original Master Body of the wheelhouse? If you have a majority of simple, right-angled junctions of plates and structural elements, it will be slightly easier and faster to sketch on, (and to use the trimmed outer boundaries of), the plate bodies. However, our Wheelhouse example has enough curved plates, and obtuse miter junctions, that we are going to find ourselves using the TRIM/EXTEND command quite a bit anyway. And, since we will build-in fewer dependencies, and get faster rebuilds, by keeping the structural elements as independent as possible, this suggests to me that we should HIDE most of the plates, and usually sketch on the original Master body.
KAP’s Tip: When creating new Weldment structural sections, it is easiest to begin by copying and editing one of the existing shapes
First, I sketched the vertical centerlines for the Bridge Divider wall’s reinforcing studs, as show in the figure above. I used sketch symmetry, plus some horizontal construction lines (with EQUAL length relations), to enforce a desired 24” spacing on-centers. This wall is bounded by a curved roof plate, so I’ll let the studs go all the way to the edge of the plate for now, (easier to sketch), but they will be trimmed later. I am also using this sketch to plan ahead, however. You’ll see that I’ve created two reference angle dimensions. The 5.76-degree angle (at the left-most frame centerline) measures the roll angle of the roof at that point. The 2.31-degree angle measures the relative roll of the roof between any two frames. I’ll need this info later, when orienting the frame elements against the roof. For the moment, though, all I need from this sketch is the vertical lines, which locate the 6 framing Z-studs. Pictured below is the result of INSERT – WELDMENTS – STRUCTURAL MEMBER, and placing my custom Z section.
Framing the roof will be less straight-forward because of its curvature. The positioning sketch here could be a 3D sketch. In that case, you would sketch the first rafter centerline with an “ALONG Z” relation, and then you would relate it to the roof face via a TANGENT restraint. Finally, to get it to pass thru the top-center of the vertical stringer, I created a sketch point coincident with the rafter line, and then related it to also be coincident with the vertical line. You have to create the sketch point as a transitive element, because you cannot relate a line from a 2D sketch, to intersect a line within a 3D sketch, directly. Having done all that, I then realized later there was an easier way. I probably should have just created a new PLANE parallel to the boat’s fore-and-aft plane, and passing thru the first vertical centerline. If you take this approach, you can then get the rafter centerline by using TOOLS – SKETCH TOOLS – INTERSECTION CURVE and computing where inside roof face intersects the new plane. Either way you obtain the first rafter line, I recommend dragging the forward end so that it lies short of the forward walls. Why? The roof meets the forward wall on a compound angle, and the roof is curved. The initial creation of the Structural Element will have right-angled ends. This means we will have to do one of two things: Either make the rafter over-size, and then cut off the excess; or, make it a little short, and then EXTEND up to the desired face. I have found out (the hard way) that the EXTEND method works better.
Why? When we position and align the structural section, if there is any portion of it that peeks outside the edges of the trimming face, the TRIM tool will get confused by that, and will partially notch the rafter, instead of cleanly cutting it. Remember the way we built the forward faces of the wheel house? – extruded from the inside faces, outward – but trimmed so that they would contact the roof plate on the outside edge. So the inside edge of the forward wall plates are beveled away from the roof. Not a clean joint. Now, if we were to carefully miter an angle on these plates to exactly seal against the roof, then the rafter TRIMming operation would always work perfectly. But we seldom shoot for ‘perfect’ topology in welded structures, and besides, we don’t want to make elements any more order-dependant than we have to.
This gives rise to a good 80-20 rule for Dollhouse Construction; you generally develop the plates and skins from the outside-in, but you generally develop the structural (framing) elements from the inside-out. If you TRIM a structural element to another body, the junction has to be perfect. But if you EXTEND a structural element to a face, the theoretical extension of the face will suffice, so a sloppy junction is O.K. And welding is sloppy.
KAP’s Tip: Usually, you develop internal framing from the inside-out. Sketch your centerlines short, because EXTEND often works better than TRIM
Now I can take advantage of the 5.76-degree reference angle that I measured a while back, in the sketch for the back wall stringers. Using INSERT – WELDMENTS – STRUCTURAL MEMBER to lay a single Z-channel along our roof rafter centerline, we will have to roll the section to orient it parallel to the roof curvature. Note that the dialog to Locate and Align the section, (shown below), would also allow us to select geometry instead of typing a number. For tighter design updates, I probably should go back to the first layout sketch and create a construction line, tangent to the roof at this point, that I could reference now. But, I’ll push onward with the hard number.
Again, using the 2.31-degree angle measured from sketching the prior stringers, we create the pattern of 6 rafters along the inside of the roof. None of these rafters extend far enough forward yet. This is where we use INSERT – WELDMENTS – TRIM/EXTEND, to extend pairs of rafter channel up to the inside face of the forward cabin plates. In the image below, note that we have selected “Allow Extension”, and also that our target selection is a Face or Plane, not a body.
Using the same Trim/Extend command, we now trim the tops of all the wall stringers so that they terminate on the underside of the rafters we’ve just made, (middle image, below). Then we can use INSERT – FEATURES – INDENT, to cut a hole thru the wall plate, by using the rafter as a “Tool Body”, and checking ON the “CUT” option. In the third image, below, I’ve created .25” clearance for the rafter to pass thru, and be welded into, the wall.
Edge Joining Details
Now it is time to model finishing details, like the weld preps where plates come together. I’ve purposely done none of this on any of our plates until now. There is a good reason for this. Usually, the first 20% of your model captures the lion’s share of the design intent, and our wheelhouse model is a good example. Our first 20 features determined the overall shape and size of the structure. Although I did not really complete pulling off all the individual plates, you can see I’m mostly done here, and that only added 15 more features. We’ve clearly only just started to add structural members. Because of all the trimming, extending, and CAD constructs to assure fit-up, our first 12 pieces of Z_bar have already required 15 features. Finishing the plate edges will be similarly feature-intensive, and although this will add a lot of DETAIL, it does not really add a lot of INFORMATION. And, the rebuild of these features will be order-dependant – their reliability will be strongly influenced by any topology edits we might make in the early stages of the design. So you want to leave this work for last. This is the same advice we give students when building a ‘generic’ solid model, that you leave small details like break-edge chamfers, and tool-nose radii on interior pockets, for last.
The only trick to adding weld-preps to the edges of your plates is this: The fillet and chamfer commands, or any CUT-SWEEP you might create, is going to want to act on one or more bodies, not on particular plate junctions. It is natural for you to go around the model now looking at joints, and trying to prep the edges of both plates on each joint. But instead you will have to apply features, one Body at a time; else you get the error message pictured below; So, I would work one plate at-a-time, traversing your structure in something like a logical progression of plates, making sure each plate was finished before moving on to another.
I’m going to depart for a minute from my example of a welded wheel-house, because I said earlier that this method also worked well for architectural design, cabinetry and furniture, etc. So instead of weld bead, we may be joining bodies on a mitre, or with dowels, or tenons. Here’s another technique that works well in these cases. I’ll return to the first plate we made, at the back wall of the life vest locker, and sketch the tongue of a tenon on the edge. Then, pattern a bunch more down the edge. These should now interfere with the side-plate, which we built such that it would overlap the end of the first plate, (see figure below).
KAP’s Tip: Use a Curve-Driven Pattern, using the remaining plate edge as the ‘curve’, to distribute the teeth evenly without needing to write any equations.
We can now use INSERT – FEATURES – INDENT to use the plate on the right as a tool to cut holes for itself in the plate on the left. The Indent command has other uses as well, but for the way we are using it here, you should turn ON the check-box for a CUT result, and then other dialog options become unnecessary. The last option, Clearance, allows you to specify how loose the tenons should fit, (the default of zero means a size-to-size fit). This function is more convenient than it would be to use the COMBINE command to cut one body with another, because in Combine, the argument tools disappear, and we clearly want to keep both plates around after they have been custom-fit. Now look at one of the junctions where the sloping front plates joint – we have purposely left this junction open from the outside, to facilitate welding. We will probably even have to bevel the plate edges to open that weld prep up wider. But what if this job were a cabinetry project, or some architectural detail that called for a precise miter?
KAP’s Tip: This series of steps to extend bodies to a closed miter, are a favorite trick of mine, but are by no means the only, (or maybe even the best) way to do this.
First, hide all your solid bodies except for the original wheel-house Master body. Zooming up on this edge, we see that the inside and outside edges of this junction will allow us to easily create a reference PLANE thru one edge and one point, (Figure below left). Then, Sketch on that plane. CONVERT to re-use a copy of both the inner and outer intersection lines. Add two more lines across the thickness, (top and bottom), so that you now have a closed rectangle describing the desired plate intersection.
Now use INSERT – SURFACES – PLANAR SURFACE, to turn this sketch into a filled-in area. In the figure, (below center), I have hidden the master Wheelhouse body, and Shown the two adjacent plates back again.
Now for the magic. Use INSERT – FACE – REPLACE FACE. Identify the groove face of either plate in the first dialog box, and your new ‘Tweener surface in the second dialog, and hit GO. As I was prepping this example for this article, I discovered that the ‘Tweener face does not even get consumed by this operation, (I never noticed that before – is that new?), so we can use it again to edit the other plate. The result – a perfectly air-tight miter. (Well, almost perfect. You can tell from the image above-right, that I have not trimmed the plates to the downward-curving deck yet).
We began by creating a simple concept model of a structure that will be used as the top-down Master for controlling design change. Then, we resolved to leave that body undisturbed in the Feature Manager, and build all the detail elements (plates, structural members, dowels, dovetails, etc) on the faces and edges of the Master body. In this fashion, the detail design can proceed quickly while staying within a single Part file. This process is similar to the idea of the “Master Model” technique, (often employed by Industrial Designers for styled multi-part enclosures, for example). But in that method, the Master Model is usually “sliced up” into separate bodies by a combination of CUT-EXTRUDE, CUT WITH SURFACE, or SPLIT commands. You can tell when you are finished SPLITting in the Master Model technique, because the master model gets completely consumed into the detail bodies. In the Dollhouse method, the master model never gets used-up; it instead gets used over and over again. In fact, the more often you reference the master, instead of referencing neighboring detail elements, the more robust your rebuilds will be.
Tell your friends, if they work in Outside-In on packaging projects as well as Top-Down, and so they really can’t work “Outside-The-Box”, then maybe they need to start working “Inside the Dollhouse!”