Do not loose intrinsic information:
No beads on snakes - use rings. The entity type indicates the type of the host entity. A bead can reside on a curve or a snake. And when you select a bead, you do not automatically know whether its host is a snake or a curve.
No C-spline Curve or B-spline Curve with two supports - use Line. Line implies straightness; with C-spline Curve/ B-spline Curve this property is rather the exception. So you have more information.
No lofted surface with two supports - use a RuledSurf. The entity RuledSurf implies straightness in v-parameter direction. With C-spline Curve/ B-spline Curves this property is rather the exception.
Give entities meaningful names that really carry information. For example, for surfaces do not use s0, s1, but hull_0, hull_final etc.
Use reasonable divisions; mainly use default ones; use the divisons multiplier in Tools/ Performance Model to increase and decrease model-wide the divisions of curves and surfaces.
Do not use densely divided children from coarsely divided parents - regard division coordination.
Use Entity List (container for a list of entities) for easy retrieval of selection sets, for example for render view, editing a certain part of the model, hydrostatics, etc.
Tools/Graph Profile: use the interactive (key-drag) control-point values editing for Graphs (BGraph, Relabel).
Do not just pass a curve through magnets - it will not be a snake.
Use the Entities manager to select entities, show-hide entities, rename entities, view dependencies.
Avoid curves on top of each other. For example, do not start buttock contours at Y = 0 and at the same time show the surface boundaries.
Get rid of the *.bu* files when a project is finished.
With Intersection Entities make staple models by naming a ring or magnet rather than a snake or surface. The point entity performs 3 functions:
it designates the snake or surface being cut
it designates which one of multiple intersections you want
it helps the program find the intersection by giving it a good starting point to begin its search
Give the ring/ magnet a name, which identifies its host; for example magnet id_deck_0 on surface deck_0.
To check fairness of prominent curves, vertex curves, waterlines, buttocks etc. use display in 3D view; small anomalies will be noticible when looked along under small angle.
Use the dragging constraint of the Point entity. For example, if the control points of a transverse mc is draggable in y and z, its x location will not change when moved in 3D view.
If the curvature distribution of a B-spline Curve is not harmonious, use Tools/ Special/ B-spline Curve Fit to create a close fitting B-spline Curve and compare the position of its control points with yours.
Use the function B-spline Curve Fit (Tools/ Special/ B-spline Curve Fit) to fit a B-spline Curve to any selected curve and Wireframe entity.
Use the Command SelectForComponent, a convenience for collecting together the set of entities to be included in a component (MC2) file. This is especially convenient when the component is a complex one with many entities, or when you are refining the component and need to repeatedly save revised and improved versions.
Build the part in a Frame, using points based on it. When you relocate or reorient the frame, anything built from these points will go with it.
Colors: Use the same color for the same kind of entity. There are 15 colors each for points, curves/snakes, surfaces.
Signal raw or finished state by "_0"; "deck_0" is the raw deck, "deck" is the finished surface.
Layers: use layer names that really carry information. For example, Bridge_Deck, Main_Deck, Fly_Deck etc.
Put final surfaces on separate layers; for example, Main_Deck_finished.