Avondale_Steel_Processing2

Steel Processing for LPD 17
Steel Processing for LPD 17
1 Overview
Figure 1 below illustrates steel processing for LPD 17 developed by NGSS-Avondale and
Intergraph. ISDP is an Intergraph shipbuilding CAD system used for design, production
planning and lofting. SPADES is an Avondale proprietary system used for nesting, creating NC
tapes, and material management. An XML file is used to interface ISDP and SPADES.
SPADES also interfaces to the MRP system for steel ordering and delivery. Profile sketches are
used to manually drive profile-cutting machines.
An XML snapshot of the 3d geometry and production information can be created at any time
from ISDP.
ISDP
Design
SPADES
Production
Planning
XML
Snapshot
Lofting
XML
Snapshot
XML
Snapshot
Staging Tree
XML
SMS
XML
Profile
Sketch
Profile
NC
Nesting
Plate
NC
Material
Management
MRP
Figure 1. Steel Processing for LPD 17
ISDP is file based. Each workgroup owns and has write access to a set of files. Other work
groups access these files by attaching them as read only reference files. For example, Production
Planning uses the structural modeling files and the Loft uses both production planning and
structural modeling files. ISDP is associative so that updates propagate across files.
2 Structural Design
The main ship structure is divided into approximately 200 units. Each unit is built individually
and then joined with other units for final assembly. The entire planning process is unit based.
The Hull Section generates a 3d model for each unit. The model consists of plates and beams
known as pieces. A unique identifier is assigned to each piece. Each piece knows it material,
shape (i.e. T or I beam) as well as its geometry. In the case of plates, geometry is formed by
creating a surface representing the outline of the plate. For beams, a trace line is placed on the
1
Steel Processing for LPD 17
supporting plate. Features (holes, cutouts, end cuts) are then placed using intelligent entities
called macros. The final geometry is then generated by processing the macros and turning the
results into solids.
3 XML Snapshot File
At any point during the process, ISDP piece information can be extracted to an XML file. The
file contains all the attributes for each piece as well as the geometry. The 3d geometry is
represented using basic bsplines curves and surfaces.
For planar plates, an outline curve is generated along with a vector indicating the direction of
material thickness. The original solid can be regenerated by imposing the outline on a planar
surface then extruding the resulting surface in the material direction. For non-planar plates (hull
plates) the bspline surface is stored. The original solid can be regenerated by extruding the
surface in the direction of the normal.
Feature geometry is also stored along with the original unprocessed geometry. This makes it
possible to fully recreate the plate starting from a raw neat plate.
Beams are stored as built-up plates i.e. a T beam will have two plates, one representing the
flange and one representing the web which can be stored as two outline curves and a vector,
assuming a straight beam.
4 Production Planning
Once the Hull Section is finished (or mostly finished) then the file is passed off to production
planning. Production planning creates a new ISDP file that attaches the structure file along with
any other files containing foundations or other steel pieces. The new file contains all the steel for
a given unit.
4.1 Staging Tree
Production planning creates a staging tree that is used to group individual pieces into units of
production. For example, a unit will generally consist of several sub-assemblies, which in turn
will contain partial sub-assemblies. A typical partial sub-assembly is a panel - several plates
welded edge to edge with attached stiffeners (beams). Each stage has various user attributes
(painting requirements etc) as well as calculated attributes such as center of gravity and weight.
The staging tree can be exported as a separate XML file.
4.2 Piece Marks
Production planning assigns piece marks to each individual piece. Piece marks are numbers.
There are three kinds of piece marks: standard, like and unique.
A standard piece is identical across the entire ship. Standard pieces are usually chocks or
collars. A given ship may have hundreds (or even thousands) of identical standard pieces. ISDP
2
Steel Processing for LPD 17
automatically assigns standard piece marks by comparing the plate geometry to a central
database of standard pieces.
Like parts are identical but only within a given unit. Like parts are often bigger than standard
pieces. It is worth noting that like parts must not only identical geometry but must also have
identical markings and bevels. In practice, we usually only consider pieces without marking
lines or bevels to be candidates. ISDP detects like parts by comparing the geometry of each
individual piece in the unit.
The remaining pieces each receive their own unique (within an unit) piece mark.
Piece marks are important to the downstream processes because it eliminates the need to process
each piece individually. For example, it is only necessary to loft one sample of a like part, which
can then be fed to the nesting package along with a quantity.
4.3 Marking Lines
Production planning adds marking lines. A marking is some geometry showing where two
pieces intersect at an angle. For example, each beam welded to a plate would generate a marking
line showing where the web is to be placed. Marking lines are intelligent in that a lofted
(unfolded) plate will also show the marking line along with a label for each beam welded to it.
These lines are actually drawn by the torch when the plate is cut and are then used to align the
beam properly during assembly.
Marking lines are similar in concept to welds. ISDP has some robust welding objects but
Avondale found that it did not need them. Instead, Avondale produces a drawing called the Unit
Control Manual (UCM), which shows welding information. Default welds are used for most of
the joints as indicated by a comment on the drawing. Non-default weld symbols are then
attached to the marking lines. Avondale does not currently use welding robots (at least for the
LPD ships) and thus did not need full welding information to be modeled.
4.4 Bevels
Bevel information is added to plate edges. Bevels are feature based. Avondale has a set of
standard bevels so they only specify a type, e.g. “2A”. Downstream software knows that “2A”
means to cut angles at certain degrees usually based on plate thickness.
In some cases, such as when a deck plate intersects a hull plate, a variable bevel is used. In this
case the variable bevel is represented as a set of curves showing what the top and bottom edges
of the plate need to look like. Variable bevels are cut manually by someone following the curves
drawn on the plate.
3
Steel Processing for LPD 17
4.5 Fit-up
Production planning adds stock to certain pieces usually along the edge of the units to give some
protection against fit up problems. In this case, an additional inch or so of material my be added
to a given plate.
5 Lofting
When production planning is complete, the file is handed off to the Mold Loft. Another set of
ISDP files are created which attaches the production planning, structure, and foundation files.
There are a number of work groups within Mold Loft each with their own product.
5.1 Unit Control Manual (UCM)
The Unit Control Manual Group generates a 3d drawing showing details of the assembly
process. Typically, each panel line will receive its own sketch as well as the various sub
assemblies. Welding information is also called out on these drawings.
5.2 Profile Sketch
The profile group generates a profile sketch for each beam. The sketch shows end cut details and
(for curved beams) inverse bending lines. The operators of the profile cutting machines use this
sketch.
5.3 Production Aids
Drawings for production aids such as plate jigs and templates are generated.
5.4 Unwraps
The main product of interest are the unwraps. An unwrap is a 2d sketch of a flattened plate
showing all the details needed to fabricate the plate. Details include marking lines, cutouts,
bevels, stock, datum lines and orientation labels.
5.5 Weld Shrinkage
The unwrap process also compensates for shrinkage due to welding. Each time a beam is welded
onto a plate the plate will shrink (usually) by a small amount. The unwrap process predicts the
direction and amount of shrinkage and added extra material as required.
6 SPADES Interface – SMS XML File
The unwrap information is exported as an XML file and then sent to the SPADES processing
system. Technically, we send a binary file to SPADES, but it is really just a compressed XML
file.
4
Steel Processing for LPD 17
The XML format is an Intergraph standard known the Steel Manufacturing System(SMS). The
Intergraph IntelliShip project also uses XML to pass lofted data between modules.
Geometry within a SMS file is strictly 2d, although the file includes the transformation matrix
used to move the flat plate back to its original 3d location and orientation. The transformation
matrix was included because the legacy SPADES system allows the user to select the flat plates
in their 3d location and orientation.
The actual curve geometry is represented by simple lines and arcs, which drive the actual torch.
Smoothing out this geometry to avoid the torch jittering was a critical part of the process. Keep
in mind, that by the time a plate undergoes a set of Boolean operations, feature processing,
unfolding and what not, the edge may look smooth but it really quite jagged on the millimeter
scale.
Circular, oval, and flattened oval features are recognized and represented parametrically as well
as explicitly with lines and arcs.
See Appendix A for an example of an SMS XML file.
7 SPADES
The SPADES system is used to manually nest the plates. An operator manually copies the
geometry sent via the SPADES XML file - the nester does not have to touch up the final
geometry. The SPADES XML files are processed by unit since Avondale nests by unit.
As the SPADES exporter was being developed, we also looked into the possibility of supporting
other nesting packages. We have utilities that can convert the SPADES file into DXF files that
in turn can be used by nesting packages such as Optimaton.
The SMS XML file also contains the staging tree information, which in turn is used for steel
ordering and delivery.
5
Steel Processing for LPD 17
Appendix A: Example SMS XML File
This document shows some fabrication examples taken from the LPD 17 ship.
Piece 123 (see Figure 2) is a typical bulkhead plate with cutouts for a door as well as several
other penetrations. It has several stiffeners welded to it. You can also see the various datum
lines (water line and frames) as well as additional stock added to two of the edges.
The SMS data file contains all of the extracted production data needed to cut and mark the plate.
At Avondale, the SMS data file is transformed (very slightly) to produce a SPADES specific file.
The SMS data file contains three namespaces:

SMS – Steel Manufacturing System
High-level elements and attributes for processing steel. Intergraph’s IntelliShip uses the
same format to pass manufacturing data within its system.

PDF – Production or Planning Data File
Contains elements used to represent the steel staging tree. This tree is used to group
individual pieces into small assemblies, which in turn become part of larger assemblies.

CVG – CAD Vector Geometry
Used to represent basic geometry such as lines and curves. Currently, all outline curves
are represented as simple 2d line/arcs. Some parametric shapes (circles, ovals and
flattened ovals are also supported. Bspline geometry is not currently supported in the
SMS data file.
6
Steel Processing for LPD 17
Figure 2: Piece 123
7
Steel Processing for LPD 17
8
Steel Processing for LPD 17
A.1 File Header and Staging Information for Piece 123.
<?xml version="1.0" standalone="yes"?>
<sms:sms
xmlns:pdf="http://www.ingr.com/isdp/pdf"
xmlns:sms="http://www.ingr.com/isdp/sms"
xmlns:cvg="http://www.ingr.com/isdp/cvg"
>
<pdf:setup
internal_units="metric" date="20050322.091513"
pdf_name="lp17.a.4320.allx.20050322.091513"
file_name="4320270000.m"
pdm_cat="loft_ext_m_4320" pdm_part="4320270000” pdm_rev="002"
>
</pdf:setup>
<pdf:ship> owner="US NAVY" hull="LPD17" hull_app="A"
global_coord_system="XF ZU YP" fwd_perpendicular="0.0"
>
</pdf:ship>
<!—This is the staging tree 
<pdf:tree name="4320" rev="2">
<pdf:tree_node type="UNIT" name="4320" stage="UNIT 4320"
parent="UNIT MD01" path="4320" qty="1"
desc="02 LEVEL DECK PORT"
notes="THIS UNIT WILL BE CONSTRUCTED USING THE 02 DECK AS THE BASE IN THE
INVER"
platen="LY" sequence="0"
>
<!—Various other stages will be here 
<pdf:tree_node
type="PSU" name="004" stage="PSU 004" parent="CPSU A"
path="4320-1-4A" qty="1” desc="LONGL BHD 10.9"
notes="" platen="40" sequence="2"
>
<!—The actual piece node 
<pdf:tree_node
type="PLATE" name="lb10.9.p_2Lpl" stage="PLATE 123"
parent="PSU 004" path="4320-1-4A-123"
qty="1" pcmk="123" notes="" destination="A"
family="steel_plate" part_num="5-mm" grade="DH-36"
length="0.0" pri_process="NEST" sec_process=""
>
</pdf:tree_node>
<!—Another piece in the same PSU 
<pdf:tree_node
type="BEAM" name="lb10.9.p_2Lv48.75s1" stage="BEAM 39"
parent="PSU 004" path="4320-1-4A-39"
qty="1" pcmk="39" notes="" destination="A”
family="w_tee_met” part_num="WT 100 X 7.5" grade="AH-36"
length="2091.035" pri_process="SKETCH" sec_process=""
>
</pdf:tree_node>
</pdf:tree_node> <!—End of PSU 
9
Steel Processing for LPD 17
A.2 SMS Information for Plate 123
<sms:plate thickness="5.0" near_side="offset"
>
<sms:part_info
part_num="LP17A-4320-123"
part_name="steel_plate:5-mm:lb10.9.p_2Lpl"
material_type="STEEL"
material_grade="DH-36"
>
<!—This can be used to determine material direction in 3D space 
<pdf:plate_3d material_direction="PORT" expand_major="1.0"
expand_minor="1.0" is_planar="1" >
<cvg:point x="-49300.0" y="10895.000001" z="21584.6" ></cvg:point>
<cvg:point x="-47479.6" y="10895.000001" z="21584.6" ></cvg:point>
<cvg:point x="-49300.0" y="10895.000001" z="24200.0" ></cvg:point>
</pdf:plate_3d>
<!—2D range 
<cvg:range
x1="-16832.360661" y1="-18468.456142" z1="0.0"
x2="-15011.960661" y2="-15853.056142" z2="0.0"
>
</cvg:range>
<!—This can transform the 2d graphics back to 3d 
<cvg:matrix_4x3
i00="1.0" i01="0.0" i02="0.0" i03="-32467.639339"
i10="0.0" i11="0.0" i12="-1.0" i13="10895.000001"
i20="0.0" i21="1.0" i22="0.0" i23="40053.056142"
>
</cvg:matrix_4x3>
<!—Link into the staging tree 
<sms:prod_info hull="lpd17a" block="4320" assembly="PSU 004"
piece_mark="123" quantity="1"
>
</sms:prod_info>
</sms:part_info>
<!—The outer contour of the plate in line/arc format 
<sms:plate_contour>
<sms:edge>
<cvg:curve>
<cvg:vertex type="m" endx="-15011.960661" endy="-18468.456142"
</cvg:vertex>
<cvg:vertex type="l" endx="-15011.960661" endy="-15865.056143"
</cvg:vertex>
<cvg:vertex type="l" endx="-15037.360661" endy="-15865.056143"
</cvg:vertex>
<cvg:vertex type="l" endx="-15049.360661" endy="-15853.056142"
</cvg:vertex>
<cvg:vertex type="l" endx="-16820.360661" endy="-15853.056142"
</cvg:vertex>
<cvg:vertex type="l" endx="-16832.360661" endy="-15865.056142"
</cvg:vertex>
<cvg:vertex type="l" endx="-16832.360661" endy="-18468.456142"
</cvg:vertex>
10
>
>
>
>
>
>
>
Steel Processing for LPD 17
<cvg:vertex type="l" endx="-15011.960661" endy="-18468.456142" >
</cvg:vertex>
</cvg:curve>
</sms:edge>
</sms:plate_contour>
<!—Various inner cutouts, only showing two 
<sms:inner_contours>
<sms:inner_contour>
<sms:edge>
<cvg:curve type="circle" rad="35.0" cenx="-16682.360661"
ceny="-17803.056142" cenz="-0.0" >
<cvg:vertex type="m" endx="-16682.360661"
endy="-17768.056142" ></cvg:vertex>
<cvg:vertex type="a"
midx="-16652.049772" midy="-17820.556142"
endx="-16712.67155" endy="-17820.556142"
cenx="-16682.360661" ceny="-17803.056142"
rad="35.0" bulge="-1.732051" inc_angle="4.18879" >
</cvg:vertex>
<cvg:vertex type="a"
midx="-16712.67155" midy="-17785.556142"
endx="-16682.360661" endy="-17768.056142"
cenx="-16682.360661" ceny="-17803.056142"
rad="35.0" bulge="-0.57735" inc_angle="2.094395" >
</cvg:vertex>
</cvg:curve>
</sms:edge>
</sms:inner_contour>
<sms:inner_contour>
<sms:edge>
<cvg:curve type="oval"
cenx="-15601.210357" ceny="-16167.856142" cenz="-0.0"
majx="-15788.447857" majy="-16167.856147" majz="-0.0"
minx="-15601.210357" miny="-16265.996132" minz="0.0" >
<cvg:vertex type="m" endx="-15690.307867" endy="-16265.996134" >
</cvg:vertex>
<cvg:vertex type="l" endx="-15512.112846" endy="-16265.99613" >
</cvg:vertex>
<cvg:vertex type="a"
midx="-15413.972857" midy="-16167.85614"
endx="-15512.112846" endy="-16069.716151"
cenx="-15512.112846" ceny="-16167.85614"
rad="98.139989" bulge="1.0" inc_angle="3.141593" >
</cvg:vertex>
<cvg:vertex type="l" endx="-15690.307867" endy="-16069.716155" >
</cvg:vertex>
<cvg:vertex type="a"
midx="-15788.447857" midy="-16167.856144"
endx="-15690.307867" endy="-16265.996134"
cenx="-15690.307867" ceny="-16167.856144"
rad="98.139989" bulge="1.0" inc_angle="3.141593" >
</cvg:vertex>
</cvg:curve>
</sms:edge>
</sms:inner_contour>
</sms:inner_contours>
11
Steel Processing for LPD 17
<!—Assorted marking lines 
<sms:markings>
<sms:marking type="stock" >
<sms:edge>
<cvg:text x1="-15049.860661" y1="-17091.556142" x2="-15049.860661"
y2="-17216.556142" rot_angle="4.712389"
height="25.0" width="25.0" font="0" just="ll"
string="STOCK" >
</cvg:text>
<cvg:curve>
<cvg:vertex type="m" endx="-15037.360661" endy="-18443.056142" >
</cvg:vertex>
<cvg:vertex type="l" endx="-15037.360661" endy="-15865.056143" >
</cvg:vertex>
</cvg:curve>
</sms:edge>
</sms:marking>
<sms:marking type="label" > <!- Just some text 
<sms:edge>
<cvg:text x1="-16357.360661" y1="-17125.529961" x2="-16357.360661"
y2="-17401.120512" rot_angle="4.712389"
height="39.370079" width="39.370079" font="3" just="ll"
string="FR48.75" >
</cvg:text>
</sms:edge>
</sms:marking>
<!--
This is a penetration label which indicates the
purpose of a given penetration. While not directly
Linked in this file, the location can be used to tie
The text to the actual feature cutting curve 
<sms:marking type="label" >
<sms:edge>
<cvg:text x1="-15666.210357" y1="-16172.856142" x2="-15536.210357"
y2="-16172.856142" rot_angle="0.0"
height="10.0" width="10.0" font="0" just="ll"
string="PEN-E4320-055" >
</cvg:text>
</sms:edge>
</sms:marking>
<!—This represents a part marking line 
<sms:marking type="part" marked_side="near" >
<sms:marking_part_info marked_by="BEAM,45,lb10.9.p_2Lh1s1,PM 4320-1-4A45" >
</sms:marking_part_info>
<sms:edge>
<cvg:text x1="-15809.360661" y1="-16312.613142" x2="-15749.360661"
y2="-16312.613142" rot_angle="0.0"
height="30.0" width="30.0" font="0" just="ll"
string="NS" >
</cvg:text>
<cvg:text x1="-15759.360661" y1="-16412.613142" x2="-15699.360661"
y2="-16412.613142" rot_angle="0.0"
height="30.0" width="30.0" font="0" just="ll"
12
Steel Processing for LPD 17
string="45" >
</cvg:text>
<sms:marking_part_info_curve_actual>
<cvg:curve>
<cvg:vertex type="m" endx="-15057.360661"
</cvg:vertex>
<cvg:vertex type="l" endx="-16812.360661"
</cvg:vertex>
</cvg:curve>
</sms:marking_part_info_curve_actual>
<sms:marking_part_info_curve_hat> <!-<cvg:curve>
<cvg:vertex type="m" endx="-15934.860661"
</cvg:vertex>
<cvg:vertex type="l" endx="-15934.860661"
</cvg:vertex>
</cvg:curve>
</sms:marking_part_info_curve_hat>
<sms:marking_part_info_curve_mtl_dir>
<cvg:curve>
<cvg:vertex type="m" endx="-15759.360661"
</cvg:vertex>
<cvg:vertex type="l" endx="-16110.360661"
</cvg:vertex>
</cvg:curve>
</sms:marking_part_info_curve_mtl_dir>
</sms:edge>
</sms:marking>
endy="-16351.931142" >
endy="-16351.931142" >
endy="-16347.613142" >
endy="-16297.613142" >
endy="-16347.613142" >
endy="-16347.613142" >
<sms:marking type="water" >
<sms:edge>
<cvg:text x1="-15301.798161" y1="-17078.056142" x2="-14951.798161"
y2="-17078.056142" rot_angle="0.0"
height="50.0" width="50.0" font="0" just="ll"
string="WL23000" >
</cvg:text>
<cvg:curve>
<cvg:vertex type="m" endx="-15948.485661" endy="-17053.056142" >
</cvg:vertex>
<cvg:vertex type="l" endx="-16832.360661" endy="-17053.056142" >
</cvg:vertex>
</cvg:curve>
<cvg:curve>
<cvg:vertex type="m" endx="-15037.360661" endy="-17053.056142" >
</cvg:vertex>
<cvg:vertex type="l" endx="-15216.235661" endy="-17053.056142" >
</cvg:vertex>
</cvg:curve>
</sms:edge>
</sms:marking>
</sms:markings>
</sms:plate>
13
Steel Processing for LPD 17
A.3 Bevel Information for Piece 134
Piece 123 does not have bevels. The following example is the contour from piece 134 which
does have bevels. The bevels are specified by giving two points along the contour. The type
actually completely defines the bevel per Avondale’s standard. However, the angles and
cutback lengths are provided for use by other systems.
<sms:plate_contour>
<sms:edge>
<sms:bevel
type="2A"
process="2 COMBO_MAN/SEMI-AUTO_OR_AUTO"
thick1="8.0"
size_c="3.2" angle_c="0.0"
size_d="4.8" angle_d="30.0"
>
<cvg:point x="-25519.673253" y="-15339.286022" ></cvg:point>
<cvg:point x="-40645.073253" y="-15339.286022" ></cvg:point>
</sms:bevel>
<sms:bevel
type="2A"
process="2 COMBO_MAN/SEMI-AUTO_OR_AUTO"
thick1="8.0"
size_c="3.2" angle_c="0.0"
size_d="4.8" angle_d="30.0"
>
<cvg:point x="-40645.073253" y="-12952.28695" ></cvg:point>
<cvg:point x="-25519.673253" y="-12952.28695" ></cvg:point>
</sms:bevel>
<sms:bevel
type="2B"
process="2 COMBO_MAN/SEMI-AUTO_OR_AUTO"
thick1="8.0"
size_b="4.8" angle_b="30.0"
size_c="3.2" angle_c="0.0"
>
<cvg:point x="-25519.673253" y="-12952.28695" ></cvg:point>
<cvg:point x="-25519.673253" y="-15339.286022" ></cvg:point>
</sms:bevel>
<cvg:curve>
<cvg:vertex type="m" endx="-25519.673253" endy="-15339.286022" >
</cvg:vertex>
<cvg:vertex type="l" endx="-40645.073253" endy="-15339.286022" >
</cvg:vertex>
<cvg:vertex type="l" endx="-40645.073253" endy="-12952.28695" >
</cvg:vertex>
<cvg:vertex type="l" endx="-25519.673253" endy="-12952.28695" >
</cvg:vertex>
<cvg:vertex type="l" endx="-25519.673253" endy="-15339.286022" >
</cvg:vertex>
</cvg:curve>
</sms:edge>
</sms:plate_contour>
14