MultiSurf Faster and Better

This set of guidelines is meant to help you design faster and better in MultiSurf. We envision it as a reference you would read several (or numerous?) times over the course of learning to use MultiSurf, absorbing more of it each time (please don’t ask yourself to absorb it all at one sitting!!!). As with any tool, we are convinced that practicing good MultiSurf habits from the start will shorten your learning curve as well as increase your creativity and productivity later on.

1 Do the tutorials!
2 Use, use, use – there is no substitute for experience using MultiSurf. In addition, all these hints will become self-evident and second-nature with experience using MultiSurf.
3 To get started, make a quick, initial sketch of what you want your model to look like and make a few speculations about some major relationships you would establish, then get going -- make what you know has to be there. At this beginning stage, keep your rough plan hovering but don’t try to fill in all the details before you get started (or you’ll never get started!).

Example

I want to design a 35-ft planing powerboat with a spray chine and a relatively complex cabin plus an open flying bridge, to be constructed of aluminum. I make my rough sketch of the hull, deck, and cabin shapes, noting leading dimensions and important curves. I know the cabin will be independent of the hull (it will attach to the deck), so I can work on the hull and not worry about the cabin.

The important curves on the hull are the sheer, the outer and inner spray chine edges, the keel profile, and the bow profile, so I’ll start by designing them. I’ll try to make all the longitudinal curves from the same kind of entity, e.g. all type-3 CCurves. For the bow profile, I’ll use a BCurve (I’d also use BCurves if I were making transverse master curves). Then I’ll use the curves to define DevSurfs and/or RuledSurfs for the hull panels.

Some relationships I know I’ll include are:

The outer chine curve will be shared by the topsides and the spray chine surfaces.

The inner chine curve will be shared by the spray chine and hull bottom surfaces.

The sheerline curve will be the top edge of the topsides and the outer edge of the deck.

That’s enough to get started.

4 There always is a balance to strike between the design modes of "stopping and thinking about things" and "plowing ahead." The big picture can be overwhelming if you try to capture all its details all at once -- on the other hand, if you pay no heed to the overall design, you can easily work yourself into a corner or a tangle. You’ll probably find you’ll use both modes, more than once, at different times during your design cycle.
5 Simple is almost always better – try to use as few objects as possible. Using lots of control points rarely (if ever) gives you the exact curve shape you seek; in fact it can cause unfairness.

Example

Situation: I want the shapes of 2 BCurves to be similar. I find my self making the first BCurve with 14 control points; then making RelPoints off all those control points, and using those RelPoints as control points for my second BCurve.

Is there another way?: Yes, I could try a BCurve and a RelCurve off that BCurve – I’ll just need 2 RelPoints, not 14.

6 Use layers and clear object naming conventions to make your model more accessible to yourself and others. A little time spent at this task can save you and others hours of time later on. If everyone in your office uses the same set of conventions, everyone will know how to understand models which are passed around and worked on by several people.

Examples

Use names that help you associate points and curves with the surface they support; e.g. if you are making a cabintop surface you will call ‘cabin_top’, you might name the supporting points ‘cabin_top@p0’, ‘cabin_top@p1’, etc.

Put different parts of a model (e.g. deck, rudder) on different layers and keep to the same convention for all your models. For instance, always put hulls on Layer 1, decks on Layer 2, keels on Layer 3, etc. If a particular model doesn’t have one of these elements (e.g. a separate keel), leave that layer blank.

7 Use filters, layers, toolbar and keyboard shortcuts, and object names to help you streamline selecting, editing, and manipulating objects.

Examples

If you will be selecting points which are overlapped by curves and/or surfaces, you can avoid ambiguous selections (which require that you answer the Select Object dialog) by filtering for points only. If all filters are on, you can quickly filter for points only by clicking the Points Filter toolbar button off, then clicking the Invert Filters button (the result being that only the Points Filter will be on).

There are time-saving keyboard and button shortcuts for many menu items, e.g:

<F9> and the "Autozoom" palette button for View/ Autozoom

<o> and <p> keys to switch between View/ Orthographic and View/ Perspective

<Ctrl>+F to Select/ Reset All Filters

palette "S" and "H" buttons for show and hide.

8 For lofted surfaces, design all the edges first.

Example: For a CloftSurf hull, design the first and last master curves plus the sheer and bottom profile. Then plan where the intermediate master curves can go, to make the surface have those edges.

The need to begin with the first and last master curves is probably quite apparent. Less apparent is the fact that designing the sheer line and bottom profile (the other two edges) will help immensely when you begin to locate the internal master curves.

9 If you are designing a surface with a complex boundary, first make a fair basis surface (using whichever kind of surface gives you the overall fair shape), then trim out the surface you want with a SubSurf or a TrimSurf. Note: SubSurfs are much more efficient and robust.

Example applications: topside surface above a chine with steps; broken or stepped sheer.

10

 

Divisions – the issues here are speed (of display and evaluation) and accuracy:

Number of divisions: For speed, choose numbers of divisions keeping in mind that you want enough to be accurate but not too many – estimate low, then use the Divisions Multiplier if you need to go higher.

For display and working drawings, look at the DEMO hull as an excellent example of good divisions: 10x1, 20x1. Occasionally, where there is tight curvature, we might go higher.

Then, for full-scale lofting and NC cutting, we generally double (or triple; occasionally quadruple) the divisions using the Divisions Multiplier (see "How Much Accuracy Is Enough?").

Coordinating divisions: For accuracy, coordinate divisions. The easiest way to coordinate divisions between surfaces and their supporting curves is to match their divisions x subdivisions.

Tip: You can set same divisions for a whole group of curves (or surfaces) by using the multiple edit feature (when the selection set is a group of curves (or surfaces), Edit/ Attributes does a multiple object edit that includes the divisions attribute).

11 Use Fast mode rather than Accurate mode. Fast mode plus judicious use of the Divisions Multiplier is much faster and actually can be much more accurate than Accurate mode in almost all cases (see  "How Much Accuracy Is Enough?").
12 If you’re zooming in to drag a point and trying to match something very exactly (e.g. to put the point on top of another point), STOP for a moment and consider: how could I do this in a durable and exact way?

Example 1

Situation: I have designed one curve and now I am designing a second one that I want to end at the same place as the first one. I’m trying to put my new endpoint exactly on top of the first curve’s endpoint.

Is there a better way?: Yes, use the same point as the endpoint for both curves (don’t make a new endpoint for the second curve).

Example 2

Situation: I have roughed out my sheerline as a CCurve and now I want to ensure that it is planar. I have created a plane for the sheer to lie in and switched to a profile viewpoint from which my plane appears as a line. Now I have zoomed way in and I’m trying to exactly line the sheer control points up on the plane.

Is there a better way?: Yes, I could create a flat TranSurf in the plane that I want for the sheer, then project each of my current sheer control points onto the TranSurf, then edit my sheer CCurve to use the ProjPoints for control points. Or better yet, I could create the flat TranSurf, then design my sheer directly on it with magnets then edit my sheer CCurve to use the magnets for control points.

Example 3

Situation: I am beginning the placement, on my deck surface, of the outer corner of the cabin which I want at 10’ aft of the point of the stem and 3’ off the centerline. So, I’m trying to drag an AbsMagnet on the deck to exactly X=10, Y=3.

Is there a better way?: Use a ProjMagnet – For the basis point, create an AbsPoint at X=10,Y=3, Z=whatever (say 0); and for the mirror, use the predefined ‘*Z=0’ plane via View/Selection Set.

13 Take advantage of components. If you find yourself repeating constructions, either within a single model or from one model to the next, save a component of the repetitive element.

Examples

If you make lots of boats with chine flats, save a chine-flat component and use it to speed making new models.

If you want to put a series of frames (or stringers, etc) in a hull, make one and save it as a component, then insert it successively into this (or another) model.

14 Complex, multi-level dependencies are not necessarily bad – sometimes you really need them; but they can certainly complicate editing and maintaining a model. If you find yourself deep into a dependency tree, consider: can I do this task differently?

This is a good point to step back and look at the big picture.

15 Expect to make changes. While it’s important to look at the whole picture and plan ahead, none of us ever gets it all right the first time around (unless the project is very simple, and still often not even then!).

Example 1

Situation: I have a lofted surface for which all the master curves are based on AbsPoints. I discover I want to move one master curve forward and another one aft, to better control the shape (and I imagine the scenario of not getting them in exactly the right position the first time). I realize that if each master curve were defined by one AbsPoint and the rest RelPoints, all I’d need to do to move a master curve would be to drag the one AbsPoint.

Solution: I can use Edit/ Transmute to change all but one control point for each master curve to a RelPoint.

Example 2

Situation: I have a model in which I’ve used a BlendSurf for the deck and I’ve built a fairly complex superstructure off that deck surface. Now I realize using an ALoftSurf for my deck would be better, but I don’t want to have to make my entire superstructure all over again.

Solution: To keep my deck’s dependents, I can save them as a component. That done, I can delete the deck and its dependents from my model. To make my new deck, I create any new support objects necessary, create my new deck surface, then File/ Component/ Load my superstructure component file.

16 Clean up your model: When you are getting near completion or when you replace one or more objects, get rid of the old unused ones -- if they have no further function, they’ll just get in the way and confuse you (or others). Here are steps you can follow:

Turn all layers on (Settings/ Layers/ <Set All>).

Display only the surfaces and contours you want to keep.

Select/ Visible to set the visible only filter.

Select/ All.

Select/ Supports/ All Generations.

Select/ Invert Selection Set.

View/ Selection Set to review the contents (these are the proposed extraneous objects; edit the list if need be).

Edit/ Delete Selection Set (if the selection set includes any objects that have dependents, MultiSurf will tell you and it will not perform the delete; to finish, you’ll need to remove these objects from the selection set, recheck it, then delete again).

17 For speed and reliability, avoid using surface-surface intersections. If you need two surfaces to join precisely, create one surface, construct a snake on it where you want the second surface to join it accurately, then build the second surface off the snake. Whenever possible make IntSnakes using plane or Line (or rarely point) mirrors rather than intersecting surfaces.

Example 1

Keel-hull join -- use a ProjSnake on the hull. This will durably attach the keel to the hull, but will leave the shape of the keel unaffected should you change the shape of the hull.

Example 2

Cylindrical transom – use a Line mirror, not a surface.