Command Line Syntax
mb [options] CmdFile [OutFile]
CAD program mb.exe finds multiple bent plane shapes to constuct a boat
Output is given in postscript format to OutFile
-?: This help
-a: Plot all options except stability analysis
-A: Plot all options
-b|B: Plot only sheathing templates for Hull(b) or Deck(B)
-c|C: Plot only bulkhead templates w/o fabric(c) or with fabric(C)
-H: Advanced syntax for CmdFile
-I: Output command file information only
-n|N: Plot hull/deck torsional characteristics for bent planes
-p|P: Plot hull/deck profiles toward bow for Hull(r) or Deck(R)
-q|Q: Plot hull/deck profiles toward stern for Hull(q) or Deck(Q)
-r: Plot stability analysis over x-range of variable load (CPU intensive)
-R: Console debug bulkhead Template data, (x, y, X, Y)
-s: Console analysis of load, draft, pitch, and roll data
-S: Console hull payload capacity versus draft
-t|T: Console debug Template overlay & adjoining angle for Hull(t) or Deck(T)
-u|U: Console debug Analyze Contour data (x, y, z) for Hull(u) or Deck(U)
-v|V: Console debug Template Marker endpoint data for Hull(v) or Deck(V)
-w|W: Console debug Contour data, (x, y, z) for Hull(w) or Deck(W)
-x|X: Console debug Template data, (x, y, X, Y) for Hull(x) or Deck(X)
-y|Y: Console debug Stitch location data, (x,y) for Hull(y) or Deck(Y)
-z|Z: Console debug hull/deck torsional characteristics for bent planes
Ver. 0.22
Copyright 2004, Analycom Engineering
Command File Syntax
Program mb (makeboat) finds the shapes of multiple bent planes (aka thin
plywood fabric) to construct a boat. Provided are shapes for a top view
Contour, hull & deck side view profiles, and hull & deck bent plane fabric
shapes. Results from the program are in Postscript which can be displayed on
screen or hard copy printed. Normal output includes A-size (scaled) drawings
of general information such as the command file input and various statistics,
and plots of top view, side view, and front view. Optional output for true
size Hull, Deck, and Bulkhead templates are available.
makeboat CmdFile syntax:
The vertical bar '|' is the comment delimiter. White space is generally
ignored. Other delimiters must be as indicated. Upper/lower case letters are
equivalent. The first few parameters of the CmdFile are miscellaneous
information, followed by descriptions for the top view Contour, Hull & Deck
shape profiles, Hull & Deck bent plane fabric, and finally terminated with End.
If no fabric description is given for Hull or Deck then no analysis will be
generated for it.
Many kinds of shape description are used to describe the boat: (1) The Contour
describes the top view shape of the boat, (2 & 3) the HullProfile & DeckProfile
describe the side view profiles of the boat hull and deck, (4 & 5) the
HullCenter & DeckCenter are optional shapes used when the complete control over
last Hull/Deck fabric plane is desired (such as when there is only 1 deck
fabric plane), (6 & 7) the HullFabric & DeckFabric describe the bent plane
shapes, and (8 & 9 & 10 & 11) the HullBowLine & HullSternLine & DeckBowLine &
DeckSternLine describe the bent plane fabric shapes immediately at the bow and
stern. The first five types only have shape descriptions. The fabric
shapes have additional parameters including: (a) Name identifier, (b)
ProfileUsage which is a percentage of the hull/deck profile perimeter used to
calculate the bent fabric plane angle, and (c) Rotation which is used as the
desired angle of the fabric plane when the Hull/Deck profile shapes are not
provided. Entry of bent fabric planes must be orderd from the top view Contour
to the boat centerline. With the exception of the final fabric shape for
Hull/Deck (or when Hull/DeckCenter is used), they describe the edge shape of
the bent fabric plane nearer to the hull and deck junction, whereas the last
shape entry is that of the centerline of the boat (such as keel-line). There
must be at least 2 bent fabric planes unless the optional Hull/DeckCenter shape
is specified. The Hull/Deck Bow/Stern line shapes have additonal parameters:
(a) To lock the shape at the junction between two fabric planes, and (b) to
identify the taper percentage which is used to apply the lateral bending of the
fabric planes for the bow/stern lines over the length of the boat.
Units for sin() and cos() functions are degrees, and units for distance is
inches.
Syntax for Shape definitions is somewhat free format with both x raised to a
power and cosine or sine raised to a power allowed. The general form is:
F(x) = Ax + Bx^m + C(x+D)^n+ ... + Ecos(Gx)^p * ... + Hsin(Jx+K)^r + ...
and the specific entry is of the sum of several shapes of 3 types, while
various redundant information may be omitted and white space added:
Shape[x0:x1]=C(x+A)^Exp | Quadradic shape
Shape[x0:x1]=Ccos(Dx+P)^Exp | Cosine shape
Shape[x0:x1]=Csin(Dx+P)^Exp | Sine shape
where:
[x0:x1] is valid range of shape
C=constant multiplier, if not supplied defaults to 1
Exp=exponent, e.g. 0.5 is sqrt or 2 is square, if blank defaults to:
0 for quadradic if no 'x', e.g. Shape[] = C
1 for quadradic if includes 'x', e.g. Shape[] = Cx
1 for cos or sin, e.g. Shape[] = Ccos()
A=offset for x, if not supplied defaults to 0
D=phase multiplier (in degrees/unit x), if not supplied defaults to 1
P=phase offset (in degrees), if not supplied defaults to 0
x=x-axis position delimiter
^=exponent delimiter
Note that the net x-axis shape equation xMin/xMax range for TopContour, Hull
planes, and Deck planes should all be identical. If not, some side effects may
occur near the bow and/or stern ends.
Overall command file usage:
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NumPoints=# | Number points (>=10) along x-axis, default=101
StitchInc=# | Distance between panel stitch points, default=1"
StitchInset=# | Inset from panel edge of stitch point, default=1/4"
Material=#w,#t,name | Weight (oz/sq-ft), thickness (in), descriptive name
HullPlywood=#w,#t,name | Weight (oz/sq-ft), thick (in), hull plywood name
HullInFinish=#w,#t,name| Weight (oz/sq-ft), thick (in), hull interior name
HullExFinish=#w,#t,name| Weight (oz/sq-ft), thick (in), hull exterior name
DeckPlywood=#w,#t,name | Weight (oz/sq-ft), thick (in), deck plywood name
DeckInFinish=#w,#t,name| Weight (oz/sq-ft), thick (in), deck interior name
DeckExFinish=#w,#t,name| Weight (oz/sq-ft), thick (in), deck exterior name
BulkPlywood=#w,#t,name | Weight (oz/sq-ft), thick (in), bulkhead plywood name
BulkFinish=#w,#t,name | Weight (oz/sq-ft), thick (in), bulkhead finish name
WaterDensity=#w,name | Density (#/ft^3), descriptive name
Cockpit=#fwd,#aft | Cockpit position (in), forward/aft, default=0" each
| The Cockpit positions are used to identify where the forward and aft deck
| material terminates.
BulkheadFwd=#x,#Ang | Forward bulkhead (in lieu of contour)
BulkheadAft=#x,#Ang | Aft bulkhead (in lieu of contour)
Bulkhead=#x,#Ang,name | Bulkhead at x=#, rotation=Ang, descriptive name
Marker=#x,#Ang,name | Marker at x=#, rotation=Ang, descriptive name
| There may be any quantity of general bulkheads, but at most one forward
| and/or aft. Angle range: 0 <= Ang <= 180, where 90 is up and down, less
| than 90 tilts toward the bow, and greater than 90 tilts towards the stern.
| Position x and angle must ensure the entire bulkhead is within the boat,
| otherwise a warning is given and the bulkhead is ignored. Bulkhead plane
| origin is at (x,y=0,z=0). Forward and/or Aft bulkheads identify the the
| extemity of the boat where contours are not desired (but note that to keep
| the program happy, the top shape contour must still be defined across the
| x-axis). Markers are similar to bulkheads except they are used only to
| identify locations on various plots, and they have payload weight.
Payload=# @(x,y,z) name| Point load (lb) at (x,y,z) and descriptive name
| A payload with a negitive value for weight (#) is used solely for the
| calculations of the boat's stability analysis, whereas on with a positive
| value is also used to establish the statitic for the boat's gross weight and
| center of gravity.
Vload=# @(x0:x1:xinc, y0:y1:yinc, z0:z1:zinc) name | variable position load
| A variable position load of weight # (lb) is allowed to move in 3 directions
| (x,y,z) in inch units. For each (x,y,z) the initial position (i.e. x0,y0,z0)
| must be provided, and an optional end position (i.e. x1,y1,z1) may be
| provided, and if the end position is provided then an optional increment
| value (i.e. xinc,yinc,zinc) may be provided. A descriptive name may also be
| provided. The load is used for with various analysis.
TemplateSheet=#x,#y | Sheetsize of template in inches (x,y)
TemplateScale=# | Scale percentage (defaults to 100%)
TemplateGrid=# | Grid spacing (default = 1"x1")
TemplateBanner=[T|F],# | Multi-sheet banner mode, #" printer correction offset
| Because economical printers can not handle the likely size of template plots
| (e.g. 15 inches wide by 16 feet long), a banner mode is provided. When
| enabled, it is envoked if the plot can not fit on a sheet, and with a
| compatible printer it allows consecutive sheets to be plotted without any
| gap, thus providing a means to create a very long slice of the template. If
| the template slice is wider than the sheet x-axis size, then multiple long
| slices are generated.
Contour | top view contour of boat
Shape[x0:x1]=... | shape description
Shape[x0:x1]=...more | additional (optional) shape description
| Shape definitions for the top view Contour is a function z(x) over the range
| x=x0 to x=x1. The shape describes only half of a symetric top view boat
| contour. If the Forward and/or Aft ends of the boat are identifed by
| Fwd/AftBulkhead, the top view Contour must still be fully defined across the
| x-axis.
HullProfile
Shape[z0:z1]=... | shape description
Shape[z0:z1]=...more | additional (optional) shape description
| One of two methods to describe the shape of the hull or deck profile (at x=0)
| is through Hull/DeckProfile definitions, the other method uses ProfileUsage
| plus Rotation data in the Hull/DeckFabric specifications. If a
| Hull/DeckProfile is not given than the latter method is used.
| If the latter method is used, then a 'unity' set of shape equations are
| generated over the range (X0=0,Y0=0,Z0=0) to (X1=0,Y1=1,Z1=1) to satisfy the
| ProfileUsage and Rotation of each plane. Note that this unity set of
| equations is ultimately stretched to fit the TopContourShape(x=0) and the
| centerline of the boat as described below, so the resulting ProfileUsage and
| Rotation angles will be different if the aspect ratio of the depth and width
| of the hull/deck is not unity. If either ProfileUsage or Rotation is not
| given, they are assumed to be uniformly distributed, thus for 4 planes a
| uniform ProfileUsage is 25% and the uniform Rotation values are
| ((1/2)*90/4)=) 11-1/4, 33-3/4, 56-1/4, and 78-3/4 degrees; OR if only some
| ProfileUsage is omitted then it is uniformly distributed with the remaining,
| while if only some Rotation angles are given then the uniform value is the
| medium angle between specified rotation angles.
| If the former method is used, Shape definitions for the Hull/DeckProfile
| is a function y(z) over the range z=z0 to z=z1. Normally z0=0 and z1={top
| contour shape width at x=0}, but these can take on any value because the
| profile shape function over the range [z0:z1] is mapped (i.e. scaled) to fit
| between the two points (X0=0,Y0,Z0=0) and (X1=0,Y1,Z1), where
| Z1 = TopContourShape(x=0)
| Y1 = FabricShape[FirstPlane](x=0)
| Y0 = FabricShape[LastPlane](x=0) if Centerline is true, otherwise
| Y0 = value scaled if Centerline is not true
| Analysis of the profile shape is done by apportioning the hull/deck fabric
| ProfileUsage percentages over the length of the profile path that is between
| the two end points, and then finding the angles created by a straight line
| (or cord) drawn across the apportioned segments. If ProfileUsage for a
| particular hull/deck fabric plane is not given OR if its entry is 0, then the
| percentage assigned to these planes is uniformly distributed. Also note that
| when the last plane of a hull/deck fabric shape is not identified as
| Centerline, then there is no easily attainable value for Y0, and thus the
| y-axis hull/shape profile is used as given, i.e. unscaled, although it is
| y-axis shifted to cross through (X1,Y1,Z1).
HullFabric
Name=any name | optional name
ProfileUsage=x | percentage of plane to hull profile
Rotation=x | desired angle of plane
Shape[x0:x1]=... | shape description
Shape[x0:x1]=...more | additional (optional) shape description
| Shape definitions for Hull (or Deck) bent plane fabric are functions y(x)
| over the range from x=x0 to x=x1, that is a side view profile. Although a
| wide variety of shapes are allowed, normally fabric descriptions are rather
| flat. The first bent plane fabric describes the fabric nearest the hull/deck
| intercept of the boat and is the same for both hull and deck, thus an
| explicit shape entry for the deck is not used. The remaining shape entries
| describe the intermediate bent plane fabrics extending towards the
| centerline. Each Hull/Deck fabric entry may have an optional Name, and may
| be assigned a percentage value for ProfileUsage (described above in Hull/Deck
| Profile). The shape of the final Hull/Deck Fabric entry is that at the
| centerline (rather than at the intersection with the previous bent plane
| fabric).
HullFabric
Name=another name | optional name
ProfileUsage=x | percentage of plane to hull profile
Shape[x0:x1]=... | shape description
Shape[x0:x1]=...more | additional (optional) shape description
HullCenter | optional
Shape[x0:x1]=... | shape description
Shape[x0:x1]=...more | additional (optional) shape description
| When the optional HullCenter is provided, then the shape of last HullFabric
| plane is identified by this shape at the centerline (i.e. z=0) and also by
| the shape of the last HullFabric entry. This option may generate some
| lateral torsion. This option must be used when only a single fabric plane is
| specified (such as the case may be for a deck with one plane).
| A similar set of definitions may be provided for the Deck as follows. If not
| given, no analysis will be done.
DeckProfile
Shape[z0:z1]=... | shape description
Shape[z0:z1]=...more | additional (optional) shape description
DeckFabric
Name=any name | optional name
ProfileUsage=x | percentage of plane to hull profile
| Shape[x0:x1]=... | 1st shape is copied from Hull's 1st shape
DeckFabric
Name=another name | optional name
ProfileUsage=x | percentage of plane to hull profile
Shape[x0:x1]=... | shape description
Shape[x0:x1]=...more | additional (optional) shape description
HullBowLine
Taper=# | apply lateral bending over #% of boat
PlaneLock=# | use junction of plane # as end of bow line
Shape[x0:x1]=... | shape description
| The HullBowLine identifies the shape of the bow where it intersects the keel
| line allowing the multiple bent fabric planes to line up at the bow. To
| accomplish this, a tortional bend is applied to the bent fabric planes over
| the Taper percentage distance of the boat length. The shape is stretched as
| much as can be done, that is, the (x,y) point at the hull/deck interface is
| one extremity, while the other extremity is determined by PlaneLock.
| Furthermore, the slope of the bow line shape and the slope of the
| intersecting PlaneLock fabric plane are made the same (if possible), to both
| minimize the lateral torsion needed to apply the bow line requirement and to
| keep the aesthetic lines clean. The PlaneLock value identifies the
| location of the second extremity point, that is it terminates at the juction
| tip of the given plane. Entry of HullBowLine is optional. Taper
| defaults to 50% and PlaneLock defaults to the last plane. Similar rules
| apply for HullSternLine & DeckBowLine & DeckSternLine. Note that for
| convergence of slopes, the shape equations must be monotonic.
HullSternLine
Taper=# | apply lateral bending over #% of boat
PlaneLock=# | use junction of plane # as end of bow line
Shape[x0:x1]=... | shape description
DeckBowLine
Taper=# | apply lateral bending over #% of boat
PlaneLock=# | use junction of plane # as end of bow line
Shape[x0:x1]=... | shape description
DeckSternLine
Taper=# | apply lateral bending over #% of boat
PlaneLock=# | use junction of plane # as end of bow line
Shape[x0:x1]=... | shape description
DeckCenter | optional
Shape[x0:x1]=... | shape description
Shape[x0:x1]=...more | additional (optional) shape description
End | the keyword End terminates CmdFile
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ver. 0.22
Copyright 2004, Analycom Engineering
|