Extended modules > Creo Elements/Direct Sheet Metal > Creo Elements/Direct Sheet Metal customization > Creo Elements/Direct Sheet Metal interface functions
  
Creo Elements/Direct Sheet Metal interface functions
The following interfacing functions are provided for Creo Elements/Direct Sheet Metal:
Settings:
SHA-SET-CURRENT-SHOP function
SHA-SET-CURRENT-MATERIAL function
Database inquiries:
SHA-GET-CURRENT-SHOP function
SHA-GET-CURRENT-MATERIAL function
SHA-GET-SHOP-ENTRY function
SHA-GET-SHOP-TAB-ENTRY function
SHA-GET-DB-ENTRY function
SHA-GET-BEND-PROCESS-TYPES-LIST function
SHA-GET-HEM-PROCESS-TYPES-LIST function
SHA-GET-OFFSET-PROCESS-TYPES-LIST function
SHA-GET-CUT-PROCESS-TYPES-LIST function
SHA-GET-STAMP-PROCESS-TYPES-LIST function
SHA-GET-PROCESS-TYPE function
SHA-GET-SHOP-TOOL-ALLOWANCE function
SHA-GET-MATERIAL-THICKNESS function
Utilities:
SHA-SEPARATE-PLIST function
SHA-ROWKEY-PLIST-TO-GENERALSTRING function
SHA-PRINT-SHOPS-TABLE function
SHA-PRINT-SHOP-TABLE function
Interfacing functions for parametric tools:
SHA-TOOL-PART
SHA-PROFILE-OF-WP function
SHA-BODY-OF-TOOL-PART function
SHA-ABSOLUTE-NAME function
Feature inquiries:
SHA-INQUIRE-BENDS function
SHA-INQUIRE-RELIEFS function
SHA-INQUIRE-PUNCHES function
SHA-INQUIRE-STAMPS function
SHA-SET-CURRENT-SHOP function
Syntax
(sha-set-current-shop <shopname>)
Description
Sets the current shop name.
Parameters
shopname {STRING}
Name of new current shop, e.g. "demoshop"
Return Value
shopname
Reflects input value.
Examples
(sha-set-current-shop "demoshop")
SHA-SET-CURRENT-MATERIAL function
Syntax
(sha-set-current-material :shopname <shopname> :tabname <material table name> :rowkey <material row key property list>)
Description
Sets the current material. If no shopname is specified, the current shop's name is used. If no tabname is specified, the given shop's material table name is used.
Parameters
:shopname {STRING}
Name of new shop where material belongs to, e.g "demoshop". Optional. Defaults to current shop.
:tabname {STRING}
Name of material table, e.g. "sheet_metals" Optional. Defaults to first material table.
:rowkey {PROPERTY-LIST}
Material key column property list, e.g.
(:material "UST 1203" :thick 1.5)
Return Value
material-property-list
Reflects input values.
(sha-set-current-material :shopname "demoshop" :tabname "sheet_metals" :rowkey (:material "UST 1203" :thick 1.5)) => (:SHOPNAME "demoshop" :TABNAME "sheet_metals" :ROWKEY (:MATERIAL "UST 1203" :THICK 1.5))
SHA-GET-CURRENT-SHOP function
Syntax
(sha-get-current-shop)
Description
Returns the current shop name.
Parameters
None
Return Value
{STRING}
Name of current manufacturing shop, e.g. "demoshop".
nil
No shop set as current shop.
(sha-get-current-shop) => "demoshop"
SHA-GET-CURRENT-MATERIAL function
Syntax
(sha-get-current-material)
Description
Returns a plist containing the the current materials shop name, table name and rowkey. This list is kept as a global lisp variable *sha-current-material*. If no current material has been set yet, the rowkey is nil, and if no material table has been loaded up to now, the shopname and table name are also nil.
Parameters
None
Return Value
{PROPERTY-LIST}
Property list containing the full material identification, e.g.: (:SHOPNAME "demoshop" :TABNAME "sheet_metals" :ROWKEY (:MATERIAL "UST 1203" :THICK 1.5))
(sha-get-current-material) => ( :SHOPNAME "demoshop" :TABNAME "sheet_metals" :ROWKEY (:MATERIAL "UST 1203" :THICK 1.5))
SHA-GET-SHOP-ENTRY function
Syntax
(sha-get-shop-entry :shopname <shopname> :column <column>)
Description
Returns any column entry from the top level "SHOPS" table for the given shop, e.g. the materials table name, a list of bend/hem/offset/cut/stamp process names or the fallback formula for the allowance calculation. If no shop name is provided, the current shop is taken as a default. Returns NIL if no entry found.
Parameters
:shopname {STRING}
Name of shop where entry is searched, e.g. "demoshop".
:column {:KEYWORD}
Keyword of column from which the value should be returned, e.g. :MATERIALS.
Return Value
The table entry found in the given column of the given shop. This entry can be of any type, e.g.:
a table name like "sheet_metals",
a list of table names like ("air_bending" "bend_forming"),
a function pointer like SH_BEND_ALLOWANCE_DIN.
(sha-get-shop-entry :shopname "demoshop" :column :bend-processes) => ("air_bending" "bend_forming") (sha-get-shop-entry :shopname "demoshop" :column :materials) => "sheet_metals" (sha-get-shop-entry :shopname "demoshop" :column :allowance_formula) => SH_BEND_ALLOWANCE_DIN
SHA-GET-SHOP-TAB-ENTRY function
Syntax
(sha-get-shop-tab-entry :shopname <shopname> :tabname <material table name> :rowkey <material row key property list> :column <column>)
Description
If the column parameter is provided, a single entry is returned from the given table, else the complete row specified by the rowkey is returned in p-list format. Returns NIL if no entry found.
Parameters
:shopname {STRING}
Name of shop where entry is searched, e.g. "demoshop".
:tabname {STRING}
Name of table where the entry is searched, e.g. "sheet_metals".
:rowkey {PROPERTY-LIST}
A property list containing the key columns of the searched entry, e.g.
(:MATERIAL "UST 1203" :THICK 1.5)
:column {:KEYWORD}
Optional. If this argument is not provided, a full row is returned. Keyword of column from which the value should be returned, e.g.
:MIN_BEND_RAD
.
Return Value
{PROPERTY-LIST}
If the :column parameter is not given (or nil). Property list with full row data, e.g.: (:mat-id "9999-0477" :material "UST 1203" :thickness 1.5 :min_bend_rad 0.4)
{any type}
The table entry found in the given column of the given row in given table of the given shop. The type of this entry is arbitrary, e.g.:
a number (returned in internal units [mm]|[rad]|[g]|[nil]) such as 1.5,
a string like the material-id "9999-0345",
a function pointer like AIR_BEND_ALLOW
* 
Returned numbers may be inaccurate in the range of 10-15 due to unit conversion and internal LISP conversions. If these values should be displayed, they should be rounded to 10-14 accuracy, e.g.:
(num-to-str 0.999999999999998 14) =>"1"
(sha-get-shop-tab-entry :shopname "demoshop" :tabname "sheet_metals" :rowkey (:material "UST 1203" :thick 1.5)) => (:mat-id "9999-0477" :material "UST 1203") :thickness 1.5 :min_bend_rad 0.4) (sha-get-shop-tab-entry :shopname "demoshop" :tabname "sheet_metals" :rowkey '(:material "UST 1203" :thick 1.5) :column :min_bend_rad) => 0.4
SHA-GET-DB-ENTRY function
Syntax
(sha-get-db-entry <table-entry-id> <column>)
Description
Returns a single column entry defined by the table-entry-id and the sought column. Similar to sha-get-shop-tab-entry but accepting a complete table-entry-id directly instead of a lengthy property list. If the column is set to NIL the full table row is returned. Returns NIL if no entry found.
Parameters
table-entry-id
{PROPERTY-LIST}
Property list containing the full list of properties needed to address a single table entry, e.g.: (:SHOPNAME "demoshop" :TABNAME "sheet_metals" :ROWKEY (:MATERIAL "UST 1203" :THICK 1.5))
column {KEYWORD}
Keyword of column from which the value should be returned, e.g.: :MIN_BEND_RAD If this value is NIL, the full table row is returned
Return Value
{PROPERTY-LIST}
If the :column parameter is not given (or nil). Property list with full row data, e.g.: (:mat-id "9999-0477" :material "UST 1203" :thickness 1.5 :min_bend_rad 0.4)
{any type}
The table entry found in the given column of the given row in given table of the given shop. The type of this entry is arbitrary, e.g.:
a number (returned in internal units [mm]|[rad]|[g]|[nil]) such as 1.5,
a string like the material-id "9999-0345",
a function pointer like AIR_BEND_ALLOW
(sha-get-db-entry '(:shopname "demoshop" :tabname "sheet_metals" :rowkey (:material "UST 1203" :thick 1.5)) :min_bend_rad) => 0.40000000000000002 (sha-get-db-entry '(:shopname "demoshop" :tabname "sheet_metals" :rowkey (:material "UST 1203" :thick 1.5)) nil) => (:MAT_ID "9999-0345" :MATERIAL "UST 1203" :THICK 1.5 :MIN_BEND_RAD 0.40000000000000002)
(sha-get-db-entry tool-id :piston_ang) => 0.78539816339744828
Returns the piston-angle (in internal units = rad ) of that material if such a column can be found in the table identified by tool-id.
Example of a tool_id:
`(:shopname "demoshop" :tabname "air-bending" :rowkey (:die_width 30 :piston_rad 0.4 :piston_ang ,(/ PI 4))
* 
The backquote (`) and the comma (,) preceding (/ PI 4) are needed when you enter this list directly to ensure that the (/ PI 4) expression is evaluated.
* 
In this special case, where the searched entry is part of the tool_id, the entry could have been derived from the tool_id directly with:
(getf (getf tool_id :rowkey) :piston_ang)
However, this works only if the searched entry is part of the tool key and this fact is valid for all the possible cases where this code segment is used.
SHA-GET-BEND-PROCESS-TYPES-LIST function
Syntax
(sha-get-bend-process-types-list :shopname <shopname>)
Description
Returns a list of all bend processes. This list can be used for purposes such as building a pulldown menu for the bend process selection.
Parameters
:shopname {STRING}
Name of manufacturing shop from which the bend process types list should be returned, e.g. "demoshop".
Return Value
{LIST}
List of strings with names of bend-process tables of given shop, e.g. ("air_bending" "bend_forming").
(sha-get-bend-process-types-list :shopname "demoshop") => ("air_bending" "bend_forming")
SHA-GET-HEM-PROCESS-TYPES-LIST function
Syntax
(sha-get-hem-process-types-list :shopname <shopname>)
Description
Returns a list of all hem processes. This list can be used for purposes such as building a pulldown menu for the hem process selection.
Parameters
:shopname {STRING}
Name of manufacturing shop from which the hem process types list should be returned, e.g. "demoshop".
Return Value
{LIST}
List of strings with names of hem-process tables of given shop, e.g. ("hems").
(sha-get-hem-process-types-list :shopname "demoshop") => ("hems")
SHA-GET-OFFSET-PROCESS-TYPES-LIST function
Syntax
(sha-get-offset-process-types-list :shopname <shopname>)
Description
Returns a list of all offset processes. This list can be used for purposes such as building a pulldown menu for the offset process selection.
Parameters
:shopname {STRING}
Name of manufacturing shop from which the offset process types list should be returned, e.g. "demoshop".
Return Value
{LIST}
List of strings with names of offset-process tables of given shop, e.g. ("offsets").
(sha-get-offset-process-types-list :shopname "demoshop") => ("offsets")
SHA-GET-CUT-PROCESS-TYPES-LIST function
Syntax
(sha-get-cut-process-types-list :shopname <shopname>)
Description
Returns a list with all cut (currently: punch) processes. This list may be used for purposes such as building a pulldown menu for the cut process selection.
Parameters
:shopname {STRING}
Name of manufacturing shop from which the cut process types list should be returned, e.g. "demoshop".
Return Value
{LIST}
List of strings with names of cut-process tables of given shop. e.g. ("punches")
(sha-get-cut-process-types-list :shopname "demoshop") => ("punches")
SHA-GET-STAMP-PROCESS-TYPES-LIST function
Syntax
(sha-get-stamp-process-types-list :shopname <shopname>)
Description
Returns a list with all stamp processes. This list may be used for purposes such as building a pulldown menu for the stamp process selection.
Parameters
:shopname {STRING}
Name of manufacturing shop from which the stamp process types list should be returned, e.g. "demoshop".
Return Value
{LIST}
List of strings with names of stamp-process tables of given shop. e.g. ("stamps")
(sha-get-stamp-process-types-list :shopname "demoshop") =>("stamps")
SHA-GET-PROCESS-TYPE function
Syntax
(sha-get-process-type :shopname <shopname> :process <process>)
Description
Returns the process type for the given process in the given shop. If no shopname is provided, the current shop is taken as a default.
Parameters
:shopname {STRING}
Optional name of manufacturing shop in which the process should be searched, e.g. "demoshop". Defaults to the current shop.
:process {STRING}
Name of process to be classified, e.g. "air_bending".
Return Value
{KEYWORD}
Process type of the given process (e.g. :BEND-PROCESSES). :BEND-PROCESSES | :OFFSET-PROCESSES | :HEM-PROCESSES | :CUT-PROCESSES | :STAMP-PROCESSES | :BEND-RELIEFS :CORNER-RELIEFS
(get-process-type :shopname "demoshop" :process "air-bending") => :bend-processes
SHA-GET-SHOP-TOOL-ALLOWANCE function
Syntax
(sha-get-shop-tool-allowance :shopname <shopname> :process-tool-paramlist <process tool parameter list> :material <material> :thickness <thickness> :bend-angle <bend-angle> :cone angle <cone-angle> :inner-radius <inner-radius> :outer-radius <outer-radius>)
Description
Returns the allowance for a bend, hem or offset tool of a given material in the given shop. If no material parameter is provided, the current material is taken as a default. If no shopname is given, the current shop is taken instead. Process-tool-paramlist is a p-list directly extracted from the bend attribute at the 3D model. Currently this parameter only contains a plist with the process information, e.g. (:tabname "bend-forming"). The underlying bend/hem/offset tool is uniquely specified by process-tool-paramlist, bend-angle, cone angle (for conical bends), inner-radius, outer-radius and the given material key plist.
The allowance is also supported for sheet parts without a material attribute; therefore, a thickness parameter is needed as an alternative for a missing material parameter. If a material parameter is provided, the thickness parameter is ignored.
If no allowance value was found, e.g. because none of the :ALLOWANCE or :ALLOWANCE-FORMULA entries was specified for the internally selected bend/hem/offset tool, or because no specific tool was found in the data base, the function applies a shop specific fallback method, i.e. a shop wide allowance formula. If no shop wide allowance formula is specified, a hard-coded formula is taken which calculates the allowance with a fixed k-factor of 0.4, which implies that the neutral phase is located at 40% of the sheet thickness.
In the fallback case, the function returns an error message and an error type.
Parameters
:shopname {STRING}
Optional. Name of manufacturing shop (e.g. "demoshop"). Defaults to the current shop.
:process-tool-paramlist {PLIST}
Optional identifier for bend process and bend tool. Default: nil = no tool given.
Examples:
(:shopname "demoshop" :process "bend_forming" :rowkey (:radius 1)
or
("bend_forming")/
In the latter case, this function looks for an appropriate tool in the given table.
:material {PLIST}
Optional; default: current material.
Material specification. Examples: :shopname "demoshop" :tabname "sheet_metals" :rowkey (:material "UST 1203" :thick 1.5))
:thickness {LONG-FLOAT} [mm]
Thickness (optional) of sheet metal. To be used if material is not given. Defaults to thickness of material.
:bend-angle {LONG-FLOAT} [rad]
Bend angle (0 = no bend). If no value is provided, this function returns NIL.
:cone angle {LONG-FLOAT} [rad]
Cone angle for conical bends. Either the cone angle or the inner radius (for cylindrical bends) must be provided.
:inner-radius {LONG-FLOAT} [mm]
Inner bend radius.
:outer-radius {LONG-FLOAT} [mm]
Outer bend radius; may differ from inner bend radius. Optional for bends; needed for hems and offset only.
Return Value
{PROPERTY-LIST}
A property list containing keyword/value pairs for the requested properties.
:allowance
{LONG-FLOAT}
[mm]
Bend allowance value
:allowance-
type {INTEGER}
0 = bend or hem
1 = offset
2 = cone bend
:prefix
{STRING}
Information text displayed to the left of the angle and radius values in the flat bend line text label. The text is derived from the flat-text property of the used tool, for instance: "Bend form R=0.4 A=90deg UP"
:severity
{KEYWORD}
Error severity indicator. Normally mapped to yellow | orange | red error message box coloring. This parameter is normally derived from error-type which should have an associated severity hold in the global mapping list *sha-severity* defined in the sha_demoshop_func.lsp file. :LOW | :MEDIUM | :HIGH
:error-type
{KEYWORD}
Indicates the kind of design rule violation. Types and their according severity should be hold in the global mapping list
sha-severity* defined in the sha_demoshop_func.lsp file.
:TDB-SHOP-MISSING | :TDB-TABLE-MISSING | :TDB-TOOL-MISSING | :TDB-ENTRY-MISSING | :MATERIAL-NOT-FOUND | :USING-FALLBACK-STRATEGY
error-message {STRING} or {LIST} of strings (Error message string or list of multiple error strings).
:k-factor
{LONG-FLOAT}
K-factor.
nil
Insufficient parameter
All return values except :allowance are optional. The listed sequence is not guaranteed. All access to special parameters should be done with: (getf return-list :key). The error-type and the error-mesg parameter may be lists. This could happen if the user-defined allowance formula (which might be used by this function) returns additional or even multiple error-messages.
The form of a list also allows future extensions to this list of return values.
(sha-get-shop-tool-allowance :shopname "demoshop" :process-tool-paramlist '(:process "bend_forming") :material '(:shopname "demoshop" :tabname "sheet_metals" :rowkey (:material "UST 1203" :thick 1.5)) :bend-angle (/ PI 2) :inner-radius 0.4) => (:ALLOWANCE -2.3500000000000001 :ALLOWANCE-TYPE 0 :INFO-PREFIX "Bend form R=0.4 A=90deg UP" :PREFIX "Bend form R=0.4 A=90deg UP" :NO-GEO-INFO T) (sha-get-shop-tool-allowance :shopname "demoshop" :process-tool-paramlist '(:process "hems") :material '(:shopname "demoshop" :tabname "sheet_metals" :rowkey (:material "UST 1203" :thick 1.25)) :bend-angle (/ PI 2) :inner-radius 0.625 :outer-radius 1.875) => (:ALLOWANCE -0.20000000000000001 :ALLOWANCE-TYPE 0 :INFO-PREFIX "Hem 1.25mm UP" :PREFIX "Hem 1.25mm UP" ) (sha-get-shop-tool-allowance :shopname "demoshop" :process-tool-paramlist '(:process "offsets") :thickness 1.5 :bend-angle (/ PI 2) :inner-radius 0.5 :outer-radius 2.5) => (:PREFIX "Offset H=3mm Al=1.4mm" :ALLOWANCE-TYPE 1 :ALLOWANCE 1.4347826086956523 :WARNING-HEADLINE "WARNING: Allowance value not found, using fallback strategy" :SEVERITY :MEDIUM :ERROR-TYPE :TDB-ENTRY-MISSING :ERROR-MESSAGE "No allowance value found, because material could not be found")
In the above example, a sheet part was been created without Creo Elements/Direct Sheet Metal commands and thus without a material attribute. Therefore, we only have the thickness parameter instead of the material parameter.
SHA-GET-MATERIAL-THICKNESS function
Syntax
(sha-get-material-thickness :shopname <shopname> :tabname <material table name> :rowkey <material row key property list>)
Description
Returns the given materials thickness. The material is defined by its shopname, logical material table name and the rowkey p-list. If no material table name is provided, the current shop's material table is taken as a default. This function is used where the specific material thickness is required, although the material selection or identification always returns the complete material rowkey.
Parameters
:shopname {STRING}
Name of shop (optional) where entry is searched; e.g. "demoshop". Default to the current shop.
:tabname {STRING}
Name of table (optional) where the entry is searched; e.g. "sheet_metals". Defaults to the first material table.
:rowkey {PROPERTY-LIST}
A property list containing the key columns of the searched entry. For example:
(:MATERIAL "UST 1203" :THICK 1.5)
Return Value
{LONG-FLOAT}
Material thickness in mm (e.g. 1.5).
* 
The returned number may be inaccurate in the range of 10-15 due to unit conversion and internal LISP conversions. If this value should be displayed, it should be rounded to 10-14 accuracy. For example:(num-to-str 0.999999999999998 14) =>"1"
(sha-get-material-thickness :shopname "demoshop" :tabname "sheet_metals" :rowkey (:material "UST 1203" :thick 1.5))) => 1.5
SHA-SEPARATE-PLIST function
(sha-separate-plist <property list>)
Returns the property-list (plist) broken down to properties and values.
(multiple-value-setq (a b) (sha-separate-plist '(:c 1 :d 2 :e 3))) Sets : a = '(:C :D :E) b = '(1 2 3)
SHA-ROWKEY-PLIST-TO-GENERALSTRING function
Syntax
(sha-rowkey-plist-to-generalstring <shopname> <material table name> <material row key property list>)
Description
Creates a string from a rowkey-plist with some special formatting to get rid of .99999999999999 and .00000000000001 number endings, rounding to 10-14. Additionally the numbers are shown in and together with their original units.
(sha-rowkey-plist-to-generalstring "demoshp" "sheet_metals" '(:material "UST 1203" :thick 1.5)) => "( MATERIAL \"UST 1203\" THICK 1.5 mm)" id displayed in message box appears as: ( MATERIAL "UST 1203" THICK 1.5 mm)
SHA-PRINT-SHOPS-TABLE function
Syntax
(sha-print-shops-table ())
Description
Prints the contents of the top level table called "SHOPS" which contains the top level data of all loaded shops. For debugging purposes.
(sha-print-shops-table)
SHA-PRINT-SHOP-TABLE function
Syntax
(sha-print-shop-table <shopname> <table-name>)
Description
Prints the contents of a specific table identified by "shopname" and "table-name". For debugging purposes.
(sha-print-shop-table "demoshop" "sheet_metals")
SHA-TOOL-PART
Syntax
(sha-tool-part)
Description
Returns the name of new part to be used for tool body creation.
Parameters
None
Return Value
part-name
Name of the new part (without pathname).
(setf tool-part (sha-tool-part)) -> returns e.g. "p2"
SHA-PROFILE-OF-WP function
Syntax
(sha-profile-of-wp)
Description
Returns the profile without the workplane in a special structure. This function implicitly checks the profile for consistency and returns NIL if the 2D data does not contain exclusively closed profiles.
Parameter
workplane-name {STRING}
Name of workplane.
Return Value
profile
Profile data from workplane (if any).
nil
Unless one or multiple closed profiles exist on the workplane.
(setf return (sha-profile-of-wp tool-wp)) -> assigns planar-profile-structure to variable called return
SHA-BODY-OF-TOOL-PART function
Syntax
(sha-body-of-tool-part <part-name>)
Description
Returns the body data structure of the part (only geometry, no name, no transformation).
Parameters
part-name {STRING}
Name of part.
Return Value
body
Body data from part (if any). This data is geometry only (no name, no body transformation)
nil
If no body exists.
(setf return (sha-body-of-tool-part tool-part)) -> assigns body data structure to variable called return
SHA-ABSOLUTE-NAME function
Syntax
(sha-absolute-name <workplane name>)
Description
Returns the absolute pathname of the workplane.
Parameters
workplane-name {STRING}
Name of workplane (without pathname).
Return Value
Absolute pathname of workplane
(delete_3d (sha-absolute-name tool-wp)) ; delete workplane
SHA-INQUIRE-BENDS function
Syntax
(sha-inquire-bends [ :edge <edge> | :face <face> | :part <part> ] )
Description
Inquires bend, hem, and offset features at an edge, face or part.
Parameters
edge {SEL-ITEM}
Edge to be inquired for bend, hem, and offset features.
face {SEL-ITEM}
Face to be inquired for bend, hem, and offset features.
part {SEL-ITEM}
Part to be inquired for bend, hem, and offset features.
Return Value
list {list} of
property-list {plist}
A property list containing keyword/value pairs.
:TOOL-PROPERTY
-LIST {plist}
Data which can be used for further inquiries.
Example:
(:SHOPNAME "demoshop" :TABNAME "air_bending" :ROWKEY (:RADIUS 1.5))
* 
If a bend is created for which no tool exists in the database, or a part is loaded which has been created by a CoCreate Sheet Metal prior to revision 7.0, only a string is stored for the process (e.g. ("air_bending")). In this case the values for :SHOPNAME and :ROWKEY are set to nil.
:INNER-RADIUS
{LONG-FLOAT}
The inner radius of the bend.
:OUTER-RADIUS
{LONG-FLOAT}
The outer radius of the bend.
:INNER-FACES
{list} of {SEL_ITEM-ITEM}s
A list of inner faces of the bend.
:OUTER-FACES {list} of {SEL_ITEM-ITEM}s
A list of outer faces of the bend.
(sha-inquire-bends :face #S(SEL_ITEM PATH (#S(NPARCEL SIMPLE-ENTITY-PTR 1119858160) #S(NPARCEL SIMPLE-ENTITY-PTR 1133762992)) TYPE 1119841472 ITEM #S(FACE SIMPLE-ENTITY-PTR 1134278112))) => ((:TOOL-PROPERTY-LIST (:SHOPNAME "demoshop" :TABNAME "bend_forming" :ROWKEY ( :RADIUS 0.6 :ANGLE 1.5707963267949)) :INNER-RADIUS 0.6 :OUTER-RADIUS 1.85 :INNER-FACES (#S(FACE SIMPLE-ENTITY-PTR 1080835520)) :OUTER-FACES (#S(FACE SIMPLE-ENTITY-PTR 1081112768))))
SHA-INQUIRE-RELIEFS function
Syntax
(sha-inquire-reliefs [ :face <face> | :part <part> ] )
Description
Inquires bend and corner reliefs.
Parameters
face {SEL-ITEM}
Face to be inquired for bend and corner reliefs.
part {SEL-ITEM}
Part to be inquired for bend and corner reliefs.
Return Value
list {list} of
property-list {plist}
A property list containing keyword/value pairs.
:TOOL-PROPERTY-LIST
{plist}
Data which can be used for further inquiries.
Example:
(:SHOPNAME "demoshop" :TABNAME "rnd_corner_relief" :ROWKEY (:DIA 4))
* 
If a part is loaded which has been created by CoCreate Sheet Metal prior to revision 5.1, this data is not available. In this case the values for :SHOPNAME, :TABNAME, and :ROWKEY are set to nil.
:RELIEF-TYPE
{STRING}
The type of relief.
:FACES {list}
of {SEL_ITEM-ITEM}s
A list of faces that the relief is attached to.
(sha-inquire-reliefs :face #S(SEL_ITEM PATH (#S(NPARCEL SIMPLE-ENTITY-PTR 1119858160) #S(NPARCEL SIMPLE-ENTITY-PTR 1133762992)) TYPE 1119841472 ITEM #S(FACE SIMPLE-ENTITY-PTR 1080506448))) => ((:TOOL-PROPERTY-LIST (:SHOPNAME "demoshop" :TABNAME "rnd_relief" :ROWKEY ( :VERT 1.6)) :RELIEF-TYPE :ROUND :FACES (#S(FACE SIMPLE-ENTITY-PTR 1136155536) #S(FACE SIMPLE-ENTITY-PTR 1136158144))))
SHA-INQUIRE-PUNCHES function
Syntax
(sha-inquire-punches [ :face <face> | :part <part> ] )
Description
Inquires punches.
Parameters
face {SEL-ITEM}
Face to be inquired for punches.
part {SEL-ITEM}
Part to be inquired for punches.
Return Value
list {list} of
property-list {plist}
A property list containing keyword/value pairs.
:TOOL-PROPERTY
-LIST {plist}
Data which can be used for further inquiries.
Example:
(:SHOPNAME "demoshop" :TABNAME "rnd" :ROWKEY (:DIA 4))
* 
If a part is loaded which has been created by CoCreate Sheet Metal prior to revision 5.1, this data is not available. In this case the values for :SHOPNAME, :TABNAME, and :ROWKEY are set to nil.
:REFERENCE-POSITION
{GPNT3D}
The reference position of the punch.
:ANGLE
{LONG-FLOAT}
The reference angle of the punch.
:FACES {list}
of {SEL_ITEM-ITEM}s
A list of faces that the punch is attached to.
(sha-inquire-punches :part #S(SEL_ITEM PATH (#S(NPARCEL SIMPLE-ENTITY-PTR 1119858160) #S(NPARCEL SIMPLE-ENTITY-PTR 1133762992)) TYPE 1119771664 ITEM #S(NPART3 SIMPLE-ENTITY-PTR 1133762992))) => ((:TOOL-PROPERTY-LIST (:SHOPNAME "demoshop" :TABNAME "rnd" :ROWKEY ( :DIA 4)) :REFERENCE-POSITION -14.99837928922372,-54.092717812544002,0.0 :ANGLE 0.0 :FACES (#S(FACE SIMPLE-ENTITY-PTR 1133980320))) (:TOOL-PROPERTY-LIST (:SHOPNAME "demoshop" :TABNAME "kwy_in" :ROWKEY ( :DIA 14.2 :WIDTH 1.9 :DEPTH 0.9 :ANG 0)) :REFERENCE-POSITION -49.573362840689498,-39.414941248263744,0.0 :ANGLE 1.5707963267948966 :FACES (#S(FACE SIMPLE-ENTITY-PTR 1135164624) #S(FACE SIMPLE-ENTITY-PTR 1135163744) #S(FACE SIMPLE-ENTITY-PTR 1135166496) #S(FACE SIMPLE-ENTITY-PTR 1135165616))))
SHA-INQUIRE-STAMPS function
Syntax
(sha-inquire-stamps [ :face <face> | :part <part> ] )
Description
Inquires stamps.
Parameters
face {SEL-ITEM}
Face to be inquired for stamps.
part {SEL-ITEM}
Part to be inquired for stamps.
Return Value
list {list} of
property-list {plist}
A property list containing keyword/value pairs.
:TOOL-PROPERTY-LIST
{plist}
Data which can be used for further inquiries.
Example:
(:SHOPNAME "demoshop" :TABNAME "dmp" :ROWKEY (:DIMPLE_DIA 8.12 :DEPTH 0.9 :ANG 1.5707963267949001 :STAMP_DIR UP))
* 
If a part is loaded which has been created by CoCreate Sheet Metal prior to revision 5.1, this data is not available. In this case the values for :SHOPNAME, :TABNAME, and :ROWKEY are set to nil.
:REFERENCE-POSITION
{GPNT3D}
The reference position of the stamp.
:ANGLE
{LONG-FLOAT}
The reference angle of the stamp.
:FACES {list} of
{SEL_ITEM-ITEM}s
A list of faces that the stamp is attached to.
(sha-inquire-stamps :face #S(SEL_ITEM PATH (#S(NPARCEL SIMPLE-ENTITY-PTR 1119858160) #S(NPARCEL SIMPLE-ENTITY-PTR 1133762992)) TYPE 1119841472 ITEM #S(FACE SIMPLE-ENTITY-PTR 1080506448))) => ((:TOOL-PROPERTY-LIST (:SHOPNAME "demoshop" :TABNAME "dmp" :ROWKEY ( :DIMPLE_DIA 8.2 :DEPTH 0.9 :ANG 1.5707963267949 :STAMP_DIR "UP")) :REFERENCE-POSITION -23.167608345364499,-24.967654488670199,0.0 :ANGLE 0.0 :FACES (#S(FACE SIMPLE-ENTITY-PTR 1135256608) #S(FACE SIMPLE-ENTITY-PTR 1135024704) #S(FACE SIMPLE-ENTITY-PTR 1135286240) #S(FACE SIMPLE-ENTITY-PTR 1135071792))))