|
Description  |
|
|
TECHNICAL FIELD
This invention relates to improved methods and systems for the design and
construction of composite parts, and more particularly, to an automated
system for integrating the design, analysis and manufacture of composite
parts.
BACKGROUND ART
In certain applications, parts composed primarily of composite materials
have significant advantages. A composite airplane wing, for example, can
provide twice the life of a conventional metal wing with no increased
weight, and, at the same time, provide increased operational capabilities.
Composite parts are fabricated using several layers of composite materials,
or plies, that are assembled and cured to form a laminate. The composite
material is commonly a fabric or tape that is comprised of fibers having a
common orientation. Each layer of this material will have a set fiber
orientation along an orientation axis with structural properties that vary
in accordance with the relationship to the orientation axis.
The designer of a composite part can combine layers of this material in
defined orientations to produce the desired structural properties for the
part. Additional layers of material can be added at locations requiring
increased strength and the layers can be oriented to maximize resistance
in critical load directions.
Thus, each ply of material has several attributes that must be specified by
the designer;
(1) the geometric boundary of perimeter shape of the ply must be defined;
(2) the orientation of the fibers for each ply must be defined;
(3) the position of the ply with respect to the other plies in the part
(sometimes called the "stacking position") must be defined. A composite
part, such as an airplane wing segment, for example, may be defined by
more than 2,000 unique plies.
The design of composite parts is much more complex than designing parts to
be fabricated from a homogeneous material, such as metal. Currently, the
time required to design, iterate, analyze and program composite parts for
fabrication is very high. Because of this complexity, neither human
intervention nor manual input can assure that the part will be
manufactured as designed.
DISCLOSURE OF THE INVENTION
It is an object of the present invention to provide a method and system for
automatically generating a sequence book illustrating how to lay down
plies during construction of a composite part.
It is another object of this invention to provide a method and system
allowing improved structural interrogation of composite parts at various
"pierce points."
It is a further object of this invention to provide an improved method and
system for automatically feeding data on composite parts into a finite
element modeler.
It is another object of this invention to provide an improved method and
system for automatically calculating and tabulating the ply weights for
individual plies of a composite part and the total weight and centroid of
such parts.
It is another object of the invention to provide an improved method and
system for reviewing cross sections of composite parts at selected
locations and generating corresponding layer and thickness plots.
It is another object of this invention to provide an improved method and
system for automatically generating tool paths to cut out the plies of a
composite part from sheets of ply material.
It is another object of this invention to provide such an improved method
and system which will interface with existing nesting products, such as
PINS by Precision Nesting Systems, Inc., of Demarest, N.J.
These and other objects of the invention, which will become more apparent
as the invention is described more fully below, are obtained by providing
an improved system and method. In a preferred embodiment, a System Logic
for Integrated Composites (SLIC) system is designed to take engineering
composite drawings released in a computer-aided design (CAD) data set,
determine the attributes of each of the plies into its composite drawing,
and pass the information on to using organizations.
Not only does the information need to be released to all operations
organizations, but it also needs to be communicated within engineering
groups, such as stress analysis groups. SLIC bridges the gap between
engineering, manufacturing, and quality assurance disciplines.
In preferred embodiments, such as SLIC, the system logically determines the
geometric definitions for each ply contained in a composite part. If a ply
is not completely defined, SLIC reports the error to the user. Automatic
error checking assures the designer that the design is of the quality
required to meet downstream operations data requirements.
Analysis of the physical properties of a part is also provided to the
technical engineering staff. This analysis data may be passed directly
from SLIC to NASTRAN, which is an engineering stress analysis system
provided by The Mac Neal-Schwendler Corporation of Los Angeles, Calif.
Computation of the total part weight and centroid location is performed by
the system.
Additionally, SLIC creates detailed engineering models of each composite
ply, based upon the complete composite design. SLIC interprets the design
and passes it directly to manufacturing, thus automating the design/build
process. Because SLIC forces the designer to correct all geometric
definitions, there is a resultant savings in time and money because of
reduced errors passed from engineering to manufacturing.
SLIC generates an enormous amount of valuable data that can save thousands
of person-hours on a design and build project. Examples of useful data
include pierce point data that presents the thickness and properties of
the part at any specific location; creation of a table that defines the
area, weight and centroid of each ply; a sequence book that supplies the
geometry and the order in which the plies are to be placed on a cutting
tool; a section view at any location on the part; and point-to-point
information to drive numerical control machines in the factory. This
information can be used to drive fabric cutters, such as a Gerber Knife,
laser inspection machines, and other tools.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a flow diagram illustrating the operation of the routines within
the SLIC system.
FIG. 2 is a flow diagram illustrating the operation of the Retrieve
Geometry routine.
FIG. 3 is a flow diagram illustrating the operation of the Organize Ply
Table routine.
FIG. 4 is a flow diagram illustrating the operation of the Set Up Geometry
Information routine.
FIG. 5A is a flow diagram illustrating the operation of the Build Ply
Geometry routine.
FIG. 5B is an illustration of several unique ply shapes on a common
drawing.
FIG. 5C is an illustration of the plies of FIG. 5B, as determined by visual
interrogation.
FIG. 5D illustrates the plies of FIG. 5B with ply 1 highlighted.
FIG. 5E is an illustration of FIG. 5E after step 1 of the Build Ply logic
has been applied.
FIG. 5F is an illustration of FIG. 5E after step 2 of the logic has been
applied.
FIG. 5G is an illustration of FIG. 5F after step 3 of the logic has been
applied.
FIG. 6 is a flow chart illustrating the operation of the Generate Ply Point
Definition routine.
FIG. 7 is a flow chart illustrating the operation of the Create Pierce
Point Definition routine.
FIG. 8 is a flow chart illustrating the operation of the Define Section
Cuts routine.
FIG. 9 is a flow chart illustrating the operation of the Build Sequences
routine.
FIG. 10 is a flow chart illustrating the operation of the Sequence Overlap
routine.
FIG. 11 is a flow chart illustrating the operation of the Error Diagnostic
routine.
FIG. 12 is a flow chart illustrating the operation of the Part Information
routine.
FIG. 13 is a flow chart illustrating the operation of the Part Definition
Output routine.
FIG. 14 is an isometric view illustrating a typical ply, layup, and
sequence.
FIG. 15A is a drawing illustrating several sequences.
FIG. 15B is sample composite drawing.
FIG. 16 is an illustration of arrowheads on elements in a composite
drawing.
FIG. 17 is an illustration of relief cuts in a layup.
FIG. 18 is an illustration of duplicate elements, overlapping elements, and
gaps between elements.
FIG. 19 is an illustration of a ply table from a CADAM Standard Library.
FIG. 20 is an illustration of a material definition sheet.
FIGS. 21-23 are illustrations of chain logic in the SLIC system.
FIG. 24 illustrates a desired ply shape.
FIG. 25 illustrates a method of defining that ply shape using arrowheads
and text callout.
FIG. 26 illustrates an alternate method to produce the desired shape of
FIG. 24.
FIGS. 27-31 illustrate the logical operations to define ply elements using
SLIC.
FIG. 32 illustrates a multi-sheet drawing of a ply.
FIG. 33 illustrates another multi-sheet drawing of a ply.
FIG. 34 illustrates several flat patterns for plies.
FIG. 35 illustrates an error model display for the SLIC system.
FIG. 36 illustrates the screen display for an arrowhead error table.
FIG. 37 illustrates a ply table error display.
FIG. 38 illustrates the screen display for a layup.
FIG. 39 illustrates the screen display for sequence overlap errors.
FIG. 40 illustrates the screen display for an information model.
FIG. 41 illustrates a finished model part after the operation of SLIC.
FIG. 42 illustrates an interactive point model.
FIG. 43 illustrates screen displays when using a pierce model in the SLIC
system.
FIG. 44 illustrates a screen display for pierce points.
FIG. 45 illustrates a pierce point coordinate system printout.
FIG. 46 illustrates proper drop job control language.
FIG. 47 illustrates the program output for section cuts.
FIG. 48 illustrates a sequence picture page.
FIG. 49 illustrates a prepared sequence format model.
FIG. 50 illustrates sequence pages for SLIC sequence output.
FIG. 51 is a flow chart illustrating the SLIC system as it interfaces with
other systems.
BEST MODE FOR CARRYING OUT THE INVENTION
A preferred embodiment of the present invention is implemented on an IBM
4381 Series computer using the MVS.XA Operating System in conjunction with
CADAM Version II, Release 20.0, and above by means of a software system
known as "System Logic for Integrated Composites," or "SLIC." An object
code listing for SLIC is provided in Table I of this application. The
CADAM system is available from Cadam, Inc., of Burbank, Calif. The SLIC
system also calls routines from the "BCS LIB - Math/Stat/Utility
Subprogram Library," available from Boeing Computer Services of Bellevue,
Wash. SLIC calls the following routines (and any supporting routines) from
BCS LIB: ISRCHV; ISRCH; KOMPRV; HGTIME; HGDATE; HQRWZERO; PROOT; HDGELE;
MWGETP; and CHARFL.
The interface of SLIC with existing systems is illustrated in FIG. 51. SLIC
1 takes data from the CADAM Engineering Work File 2 and checks it for
accuracy. Data from SLIC can be passed on to NASTRAN 3 for finite element
analysis of composite parts. Composite part models 4 that have been
released by engineering or other design groups are taken by SLIC and used
to generate additional information, as discussed in more detail below.
SLIC will calculate part information which is stored in a SLIC part data
base manager 5, where it can be used by existing nesting systems, such as
PINS 6. Data generated by SLIC can interface with a laser, inkjet or other
numerical control equipment 7.
The overall design and operation of SLIC is illustrated in the flow chart
of FIG. 1. Function blocks of SLIC have been labeled A-M, with
corresponding flow charts for each block illustrated in FIGS. 2-13. The
Main routine 8 is the main routine for the entire SLIC system. This
routine calls all of the driver routines described below. The total area
and centroid of a part is calculated in the Main routine.
A. RETRIEVE GEOMETRY (FIG. 2)
These routines are used to retrieve and store geometry and text
information. This information is formatted and used downstream by the
various SLIC routines to output the required data. The information is
stored in FORTRAN arrays.
Routine RESOLV (10)
SLIC interacts with the CADAM model retrieving and storing information. An
understanding of this process can be found in the CADAM Geometry Interface
Installation Guide. RESOLV contains several FORTRAN entry points which
receive information, such as geometric and text data, from the CADAM
model. This information is stored in several arrays to be used by SLIC.
Routine SMXMN (12)
This routine calculates the maximum and minimum XY values of a CADAM
spline. The maximum and minimum values for each bay in the spline are also
calculated. This information is used downstream by the break routines to
determine if an element's end points break the spline.
Routine BTXT (14)
This routine analyzes text from the ply table, breaks it up, and places it
in the proper arrays. The array information will be used in other routines
to determine the proper format of the ply table.
Routine SPLTXT (16)
This routine splits up the text passed to it. If a dash (-) is found
between two values, the range of numbers will be generated (i.e., L1-L4
will generate 1, 2, 3, 4). The numbers generated will be placed in a
return array.
Routine AROTXT (18)
This routine breaks up the text found on CADAM arrow heads. Arrowheads are
used to define the logical path of the geometry of the engineering
drawing. Arrowheads are also used to define pierce points. This routine
will determine what kind of information has been found and place it in the
proper arrays.
Routine FTINFO (20)
This routine analyzes text in the sequence format model and stores the data
in the proper arrays. This information will be used in the routines that
build sequence pages. An explanation of the kind of text found in the
sequence format models can be found in the Using SLIC section below.
Routine TXTNFO (22)
This routine analyzes and breaks up the attribute text found on the section
cut lines. An explanation of section cuts can be found in the Using SLIC
section below.
(B) ORGANIZE PLY TABLE (FIG. 3)
These routines will organize the standard ply table information in a format
to be used in SLIC. If the information has been improperly defined, error
messages will be generated.
Routine BLDTBL (24)
This routine is the driver routine for formatting or merging all of the
information into standard ply tables. The location of notes is critical to
the building of the table. Each dash number/page number note will
determine the grouping for each ply table page. If a ply table information
note is placed too far away from a dash number/page number note an ERROR
message will be generated. This distance can vary depending on the width
of the ply table page desired. A sample picture and a brief explanation of
the ply table can be found in the Using SLIC section, below. The Users'
Manual also defines the ERROR messages that may be generated by these
routines.
The ply table is important to SLIC because it defines how the composite
part is to be built on the tool.
Ply Table Note Definitions
The ply table notes for SLIC have been placed in a separate CADAM view to
avoid confusion with notes in other views.
Ply Table: - 101 page 1
Ply Table: - 102 opposite page 1
This note is used to define each ply table page. The word "opposite" used
in the second note shown tells SLIC that an opposite hand part is being
defined.
S20. This note is used to define each sequence number.
L10. This note is used to define each layup number.
45. This note is used to define orientation associated with a layup number.
The value of the orientation must be followed by a degree symbol.
7250. This note is used to define the material code. This note must be four
numberic characters.
Routine NFOUND (26)
This routine will determine if no ply chart information was found in the
CADAM models flagged for the SLIC run. For example, if sequence numbers
are not defined or placed in the proper view, an ERROR message will be
generated.
Routine MERGE (28)
This routine will merge the sequence numbers, orientations, and material
codes into all the ply table pages. Once the information is merged it will
be sorted in Y decending order.
Routine MERGE1 (30)
This routine will merge the layup numbers into all the ply table pages.
Once the information is merged it will be sorted in Y Y descending order.
Routine MATMRG (32)
This routine will match or merge the material codes with the proper layup
number for each ply table page.
Routine SEQMRG (34)
This routine will match or merge the sequence numbers with the proper layup
number for each ply table page.
Routine GRNMRG (36)
This routine will match or merge the orientations with the proper layup
number for each ply table page.
Routine VDASH (38)
This routine will verify that dash number information has been defined
properly. For example, page 1 may have been used more than once for a
given dash number. ERROR messages will be generated if errors are found.
Routine VSEQU (40)
This routine will verify the sequence information to make sure valid values
have been obtained.
If a duplicate sequence of numbers for a dash number is found, an ERROR
message will be generated.
Routine VLAYUP (42)
This routine will verify the layup information to make sure valid values
have been obtained. If a duplicate layup for a dash is found, a WARNING
message will be generated. If duplicate layup is found for a dash with
different material and/or rotations, an ERROR message will be generated.
If a layup number is defined in the same sequence, an ERROR message will
also be generated.
Routine MCHECK (44)
This routine checks the material code defined to see if that material has
been defined to SLIC. The actual material code properties are defined in a
routine called DEFINE.
If a material is not defined in SLIC, then a message will be generated.
(C) SET UP GEOMETRY INFORMATION (FIG. 4)
The information received from the RETRIEVE routines (Section (A)) is put in
the arrays in a random fashion. These routines organize the arrays and set
up additional arrays so that processing of the data can be accomplished by
other sections.
Routines CCHAIN (46), BCHAIN (48), BCHAN1 (50)
These routines will order the array that contains the elements into groups
of chained sections. A pointer array is set up that points to each section
of chained elements. A section is considered chained when the end points
chain to more than one element or do not chain to any elements.
Routine VERIFY (52)
This routine will look at all the arrow heads and find the element that the
arrow head lies on. Then the chained section the arrowhead belongs to is
identified and stored in an array. This routine assumes that the elements
have been chained into sections by the chain routines. It also assumes the
array containing the arrowheads has been sorted so all the arrowheads that
are in the same location are next to each other in the arrowhead array.
Routine BREAK1 (54), BREAK2 (56)
These routines look through all the elements in the element array and
determine if an element is a breaker element. If it is, a flag is placed
on it. A breaker element is defined as an element that has one of its
endpoints that lies on another element. This routine is only called once.
By looping through all the elements once and placing flags on them, the
process of breaking elements in the BLDPLY logic section (D) is greatly
reduced. This is because all the elements don't need to be checked for
breaking each time, only the ones with flags placed on them by these
routines.
Routines DUPTBL (58), DUPARY (60), PUTMSG (62), RSAME (64)
These routines set up an array that points to the section of arrowheads
that define a ply. When the main routine builds a specific ply, this array
is searched by routine DUPARY and all plys that have arrowheads that point
to the same sections are determined to have the same geometry. This saves
reprocessing the plies that are identical.
(D) BUILD PLY GEOMETRY (FIG. 5)
These routines are called to build the geometry definitions for each of the
plies. When engineering drawings are designed on a computer, the
mathematical definitions for the plies can be extracted automatically and
used for processes that need the definitions, such as planning, quality,
numerical control (NC), programming, and engineering organizations like
weights and the technical staff. The problem then is to identify all and
only the elements that define the ply boundaries.
Build Ply Geometry operates using a process that, given the original input
of geometry and arrowheads placed at logical positions so a person can
visually determine where a ply is defined, a ply definition of elements
limited to the actual edge of the closed boundary will result, thus
producing a definition that can be used for all the disciplines requiring
the ply definition. The example is a simple example to illustrate the
concept, but the process will work on very complex ply definitions.
FIG. 5B defines three unique ply shapes. FIG. 5C shows the ply definitions
that would result from visual interrogation. The process for this
invention will now be predented to illustrate the same results for ply 1
(FIG. 5D):
Step 1. The first step will identify each arrowhead for the ply with an
element. Then those elements are chained together on each end point until
the end point does not chain or chains to more than one element. This will
result in the elements shown in FIG. 5E.
Step 2. Every element that is broken by the endpoint of another is then
separated into two elements. For example: the vertical line will be broken
(or divided) into two lines (FIG. 5F).
Step 3. The last step is almost identical to step 1 except because of the
elements being broken the result will be a group of elements only defining
ply 1 (FIG. 5G).
Several of the routines in the section are needed only to handle the arrays
that are used in SLIC. The logic could be executed in various ways. The
main routines for this section are BLDDRV, BUILD1, BREAK, BUILD2.
Routine BLDDRV (66)
This routine is the main driver for executing the build ply logic. The ply
number that is to be built is passed in and an array of all the elements
that make up the ply boundaries is returned. This routine assumes all the
arrays have been set up previously by the Set Up Geometry routines
described in section (C) above.
Routine BUILD1 (68)
This routine executes the first step of the build ply logic. All arrowheads
for the specific ply are identified and connected to one of the elements
in the model. Then the connecting elements to each end of the arrowhead
elements are found until a branch or no chain is found. All these elements
are placed in a table with pointers and flags to keep track of where they
came from and what chained section they belong to. (See description of
Step 1, FIG. 5E, above).
Routine BREAK (70)
This routine finds the elements that are to be broken and breaks the
element by creating two elements in the table instead of one. The routine
BREAK calls other routines that handle pointers and flags on the new
elements. (See description of step 2, FIG. 5F, above).
Routine UPDTE1 (72), UPDTE2 (74), SPLIT (76), RANGE (78)
These routines are used for handling pointers and flags on elements. They
are specific to the methods used to store the elements in the arrays and
could be dependent on the various data array structures.
Routine BUILD2 (80)
This routine looks at the new sections that have been created by breaking
elements. It determines what sections still have arrowheads on them and
builds the final array of the elements making up the ply definition. It
then passes the array back to the calling routine. (See description of
step 3, FIG. 5G, above).
(E) GENERATE PLY POINT DEFINITION (FIG. 6)
This section of routines will generate strings of XY points that will
define the shape of each layup or ply within a part. These points can be
used for several applications, such as tracing or cutting the part on a
numerical control machine.
Routine CANDO (82)
Routine CANDO is the main driver for generating the GOTO points for
defining each layup or ply. This routine assumes the geometry for defining
the plies has already been defined.
Routine CNDCHN (84)
This is the driver routine for routine CHAIN1. This routine will group all
profile geometry together. If all geometry does not chain, the element end
points where the chaining error is found will be tagged with a note.
At this point, the closed shapes have been grouped or chained together in
their element form (lines, arcs, splines).
Routine CHAIN1 (86)
Routine CHAIN1 will chain the geometry by its end points. The array will be
sorted in the order the geometry is chained. The first element to be
chained should be at the top of the array. The array will be processed
until the beginning point in the array is found again or until the end of
the array is reached. If the end of the array is found before all the
geometry chains, an ERROR message will be generated.
Routine POINTS (88)
This routine will break up the individual elements (lines, arcs, splines)
into GOTO points. The GOTO points will be generated according to their
chained order. The number of GOTO points generated is dependent on the
cord height tolerance defined. Arrays will be set up to point to each set
of GOTO points that define a profile or closed shape. The points stored in
a GOTO point table will later be sent to routines to order the points in
clockwise or counterclockwise order.
Routine PTLN (90)
Routine PTLN put the line end points into the GOTO point array.
Routine PTARC (92)
This routine breaks up the arc into GOTO points based upon the cutting cord
height tolerance.
Routine PTSPL (94)
Routine PTSPL breaks up spline into GOTO points based upon the cutting cord
height tolerance.
Routine PROFIL (96)
This routine will calculate the XMIN, XMAX, YMIN, YMAX of each of the
closed shapes or profiles in the GOTO point table. The pointers to the
largest pocket are moved to the beginning of the table that points to each
profile. The largest profile is considered the outside profile. Routines
will be called to make sure the smaller shapes are completely contained by
the outside profile.
Routine PROFLL1 (98)
This routine will call pierce for the points on the internal cutouts to
determine if all the cutouts are contained within the exterior profile.
Routine PROFL2 (100)
This routine will determine if internal cutouts overlap or are inside the
other cutout (illegal cutout).
Routine DCWCCW (102)
DCWCCW is a driver routine for CWCCW. Each pocket's GOTO points will be
passed to routine CWCCW to see if the points are going clockwise or
counterclockwise. The outside profile should be ordered clockwise and the
internal cutouts should be counterclockwise. If the internal pockets or
outside profile are not ordered properly DCWCCW will reorder the GOTO
points in their proper order.
Routine CWCCW (104)
CWCCW will analyze an array of XY points to determine if they are in
clockwise or counterclockwise order and return the answer.
Routine CNTRD (106)
This routine will calculate the AREA1 and the CENTROID for a given set of
points.
Formula: ABS (Summation X(I)*Y(I+1)=Y(1)*X(I+1))/2
Formula for CENTROID uses a trapezodial method.
This routine assumes the array of XY points close and the first and last
points are the same in the array.
Routine OPTMZE (108)
Routine OPTMZE will optimize the GOTO points based upon the starting load
point or XLOAD, YLOAD. The routine searches for the closest point in the
internal and external profiles and reorders the GOTO points. This will
maximize machine time by generating a more efficient tool path. Routine
ORDER is called to reorder the GOTO points array.
Routine ORDER (110)
This routine is called by OPTMZE to reorder a string of XY GOTO points by
passing the starting location to begin reordering.
(F) CREATE PIERCE POINT DEFINITION (FIG. 7)
These routines are used to determine all the plies a pierce point
penetrates. Calculations of the laminate at the pierce point are also
done. An explanation of pierce points found in the "Using SLIC" section
below.
Routine PRCDRV (112)
This routine will take a string of points defining a ply and determine if a
given point lies within the boundary definition or outside of it. It also
handles internal cutouts. This routine is actually a driver for routine
PIERCE.
Routine PIERCE (114)
This routine will determine if a point lies within a closed polygon shape.
Routine PRCDRV determines if the polygon is a cutout or the outside
boundary.
Routine PCHART (116)
This routine is the driver routine for calculating and creating information
for each pierce point that was identified by the user.
Routine PSTRES (118)
Subroutine PSTRES creates the actual pierce chart or output data for each
pierce point. It calls routines for calculating the information.
Routine CONSTR (120)
This routine computes the (A), (D), (B), (S) matrices for a laminate given
the following information for each ply of material in the laminate: bias
or grain direction, material properties, and location within the laminate.
The calculation of the properties are based upon laminate plate theory.
Routine NCARD (122)
This routine prepares NASTRAN, PSHELL and MAT2 cards for interface to
NASTRAN.
Routine MAT2 (124)
This routine prints out NASTRAN MAT2 cards.
Routine WRTMAT (126)
Subroutine WRTMAT will write out the material arrays. This routine is used
to provide a standard output file for the material properties. It is
called when a list of the properties are wanted for interface to other
programs.
Routine PCTGET (128)
This routine will retrieve the array of all the plies a particular pointed
pierced. This information is retrieved before PCHART calls PSTRES.
Routine PCHECK (130)
This routine will read in all the pierce point data into a pierce point
array. This is done before the ply definitions are created. This routine
also checks for duplicate point data.
(G) DEFINE SECTION CUTS (FIG. 8)
These routines will generate defined cross section cuts through a series of
layups comprising a composite part. A brief explanation of section cuts
can be found in the "Using SLIC" section below.
Routine SSTICK (131)
This routine is the driver routine for taking cross section cuts through
the composite part. This routine will loop through each section cut line
and then call other routines to generate the cross section data.
Routine STKBLD (132)
This routine builds an array of information for each ply that is cut by the
section line cut. The distance and order of the cut will be stored.
Routine DLLIM (133)
This routine will determine the limits (XY minimums and maximums) of a line
given its XY end points.
Routine INTDRV (134)
This routine finds all intersecting points for a section cut line, given
strings of points defining the layup or ply.
Routine LIMITV (170)
This routine checks the limits (XY minimums and maximums) of two closed
profiles to see if they overlap. This is the same routine called in the
CHECK SEQUENCE OVERLAP logic described in section I below.
Routine INTERC (136)
This routine will calculate the intersection point for two lines. The point
of intersection is returned. An alternate return will occur if the lines
are parallel.
Routines PRCDRV (112) and PIERCE (114)
These routines create pierce point data, as explained in the CREATE PIERCE
POINT DEFINITION, section F, above.
Routine STKMOD (139)
This mode is a driver routine for creating section cut drawings or CADAM
models. Stick figures, gage data or thickness plots, and (E.times.T)
models will be generated. This routine will create separate models for
each section cut line.
Routine STKCAL (140)
This routine will calculate all the information to build a stick figure
model. Each line of the stick figure will display the layup number,
sequence number, orientation and material code of each layup cut.
Routine CONSTR (120)
This routine computes (A), (D), (B), (S) matrices for a laminate given the
following information for each ply of material in the laminate: bias or
grain direction, material properties, location within the laminate. The
calculation of the properties is based upon laminate plate theory.
This routine computes the (A), (D), (B), (S) matrices for a laminate as
well as the thermal load vectors AT, BT, DT. An average density PMO is
also computed.
##EQU1##
The thermal expansion coefficients A1 and A2 are transformed to laminate
coordinates by:
A-X=C*C*A1+S*S*A2
A-Y=S*S*A1+C*C*A2
0.5A-XY=2*S*C*(A1-A2)
Let A-BAR denote the column vector of transformed coefficients. Then the
thermal load vectors are computed by:
##EQU2##
Routine STKSTK (141)
This routine takes all the information compiled in routine STKCAL and
generates the actual stick figure model.
Routine STKGAG (142)
This routine will build S gage or thickness plot of the section cut. This
will be built in the same model below the stick figure plot.
Routine STKEPL (143)
This routine will build the plot for modules of elasticity (E) and the
modules of elasticity times thickness (E.times.T) along the section cut.
(H) BUILD SEQUENCES (FIG. 9)
These routines are used to build a book of all the ply sequences in a part.
This book can be used by engineering for part visibility. Planning can
also use the book for a planning tool.
Routine BLDSEQ (150)
This routine is the main driver for creating sequence drawings. A sequence
model for each sequence within a given part/dash number will be generated.
Routine BLDET (152)
This routine will generate geometry defining each layup on a separate page
for each layup. For sequence models all the layups for a given sequence
will be generated and dittoed on the main drawing area.
Routine STMODL (154)
This routine will start a model with the proper root name and the sequence
number inbedded in the name. The model started will be used by SLIC to
write out the geometry and text information for the sequence being built.
Routine RETFMT (156)
This routine will call CADET to initialize the model to be used for that
sequence. The routine will then look and see if a sequence format model
has been created and, if so, load it into model common.
If CADET is called, format notes will be analyzed to see if special notes
with the proper values have been placed in the sequence format model. An
explanation of the sequence format model and the special notes required
can be found in the "Using SLIC" section below.
Additional SLIC information will be placed on the NOSHOW page in view PV
for each sequence drawing built.
Routine PSNOTE (158)
This routine will place text on the sequence model being created. This text
is the page number, which will be incremented for each new page, and the
sequence number which is obtained from the standard ply table information.
The notes will be placed at the locations defined on the sequence format
model by the special notes.
Routine FMTINT (160)
This routine will initialize the values for the format notes. If the format
notes are not found, these values will not be updated, causing a sequence
format model error.
Routine FMTVER (162)
This routine will verify if valid values on the special notes in the format
models were defined. If invalid notes or values have been defined, an
ERROR message will be generated.
An example format model and an explanation of the special notes can be
found in the "Using SLIC" section below.
Routine NSCHT (164)
This routine will write out SLIC version number, data and time of run, and
models flagged to create part. This chart will be placed on the NOSHOW
page on every sequence page generated by SLIC. The CADAM group and user in
which the models were flagged will also be given. This information will be
used as accountability and traceability information.
(I) SEQUENCE OVERLAP (FIG. 10)
This segment of routines will look at all the shapes on a given sequence
and determine if any of the shapes overlap. This is important to SLIC
because the sequence has been improperly defined if overlap occurs.
Routine COVDRV (166)
This routine compares two shapes that can have internal cutouts and
determines if they have any common overlapping or cover. The shapes are in
the form of strings of XY points.
Initially the XY limits of the shapes will be checked to see if they
overlap. Routines will be called to determine if the first shape
completely covers, partially covers, or does not cover the second shape.
Routine COVER (168)
This routine takes two strings of ordered, closed-shaped XY points and
determines if they have any common overlap or cover.
Information will be returned to tell how or if the first string overlaps
the second string, and how or if the second string overlaps the first.
Routine LIMITV (170)
This routine checks the limits (XY minimums and maximums) of two closed
profiles to see if they overlap.
Routine HLDRV (172)
This routine is the driver routine for routine HIDELN. This routine will
compile how | | |