延伸模块 > Creo Elements/Direct Sheet Metal > Creo Elements/Direct Sheet Metal 自定义 > 多次展开
  
多次展开
“多次展开”命令会替换通常在创建可用于生产的文档时所需的手动处理过程,因而会提供大量自定义选项。
本章将参考钣金库数据库文件 sha_demoshop.lspsha_demoshop_func.lsp 中的多个示例。
本章将讨论以下主题:
常规选项设置
绘图选项设置
文档选项设置
数据库选项设置
特殊生产工艺定义
生产工艺
通过关系表自动选择
特殊生产工艺设置
临时 3D 修改选项
2D 修改选项
替换宏
早期宏
晚期宏
外部后处理
常规选项设置
在钣金库文件中定义常规选项设置。有三种类型:
绘图选项设置
文档选项设置
数据库选项设置
多次展开将在以下情况时使用常规选项设置
选取多次展开 > 定义 > 交互式
选取多次展开 > 定义 > 钣金库设置并且尚未指定任何特殊工艺选项。(特殊选项将覆盖全局选项设置。)
绘图选项设置
设置将会在展开图中可见的 3D 或 2D 选项。
有关示例,请参阅 sha_demoshop.lsp 中的 sha-define-shop-table "drawing-settings"
* 
“多次展开”菜单不会显示以斜体显示的选项;只能在钣金库文件中对其进行设置。
:BOTH_SIDES
[t | nil] t= 在一个绘图中绘制选定基面及其反面。
:BEND_LINE
[t | nil] t= 绘制折弯线。
:TEXT_LABELS
[t | nil] t= 绘制特征的文本标签,如 PUNCH、STAMP、RELIEF、CORNER_RELIEF 以及 BEND 等特征。如果为 nil,值将默认为 sha_set_flat_show_labels 函数中的值,通常在钣金库文件的默认部分中。
:STAMP_GEO
[ t | nil] t= 显示冲压;nil= 在绘制展开图之前移除冲压。
:PUNCH_GEO
[ t | nil] t= 显示冲孔;nil= 在绘制展开图之前移除冲孔。
:REF_POINTS
[t | nil] t= 显示所使用的工具的参考点。
:MERGE
[t | nil] t= 在可能的情况下合并几何元素 (尤其是折弯区域的左端和右端的元素)。
:TOPPART_ONLY
[t | nil] t= 将绘图数据仅存放于一个 TOP 零件中,而非正常的带有上侧和下侧零件的零件结构中。
:CONVERT_SPLINES
[t | nil] t= 将展开图中的样条转换为一组线和弧。可使用以下不可见的选项设置该转换的参数,或者使用自己的转换函数覆盖内部函数。该函数必须返回包含执行转换的 OSDD 命令的字符串列表。
:SPLINE-MIN-RAD
[length] 转换样条中的最小弧半径 [mm]
:SPLINE-MAX-RAD
[length] 转换样条中的最大弧半径 [mm]
:SPLINE-MIN-LENGTH
[length] 转换样条中的元素的最小长度 [mm]
:REPLACEMENTS
[t | nil] t= 运行替换宏。如果为 nil,则 Creo Elements/Direct Modeling 将使用钣金库表的默认值,该值通常在钣金库文件的默认部分中定义。例如,(sha-enable-replacements) 或者 (sha-disable-replacements)。此外,还将保留其他特定替换设置 (sha-enable-relief-replacements)、(sha-enable-corner-relief-replacement)、(sha-enable-punch-replacement) 和 (sha-enable-stamp-replacement)。该值的交互式开关将切换所有这些设置。
:BEND_ALLOWANCE_SHOP
[t | nil] t= 使用钣金库设置余量计算。
:BEND_ALLOWANCE_FIXED
[number] 折弯平整计算的 k 因子 (ANSI 语法:值 0-1)
:CONE_ALLOWANCE
[number] 圆锥折弯的 k 因子 (ANSI 语法:值 0-1)
:SHARP_BEND_RADIUS
[length] 以内部单位 [mm] 设置尖角折弯半径的长度
:POSTPROCESS
[t | nil] t= 启动客户定义的后处理。
:MI
[t | nil] t= 使用展开图生成 MI 文件。
:DXF
[t | nil] t= 使用展开图生成 DXF 文件。
:DWG
[t | nil] t= 使用展开图生成 DWG 文件。
:IGES
[t | nil] t= 使用展开图生成 IGES 文件。
:TXT
[t | nil] t= 使用展开图信息生成文本文件。
:FILE
[t | nil] t= 生成选定输出格式 (全局开关)。
:OUTPUT_WP
[t | nil] t= 将生成的展开图加载到工作平面。
:OUTPUT_OSDD
[t | nil] t= 将生成的展开图发送到正在运行的 OSDD 程序。
文档选项设置
文档选项指定描述钣金件及其展开图的 HTML 文档的内容。有关示例,请参阅 sha_demoshop.lsp 中的 sha-define-shop-table“文档示例”。
:HTML
[t | nil] t= 为每个工艺都生成一个 HTML 文档 (交互式 = 一个工艺)。
:JPEG
[t | nil] t= 从每个工艺的选定钣金件和展开图生成 JPEG 图像文件。
:TIFF
[t | nil] t= 生成每个工艺的 TIFF 图像文件。
:VRML
[t | nil] t= 生成选定 3D 钣金件的 VRML 模型。
:ISO
[t | nil] t= 在等轴测视图中显示选定钣金件。
:DIM
[t | nil] t= 在直径视图中显示选定钣金件。
:FREE
[t | nil] t= 在实际查看方向上显示选定钣金件。
:ADD_3D_DOC
[t | nil] t= 生成选定钣金件的 3D 展开模型 (如果不存在),并将其集成到 HTML 文档中。
:ADD-TAB1
<list <list "string1" "string2"> <list "string3" "string4"> ...> 或 <function-symbol>。双字符串的列表,其中每个双字符串都添加一行到 html 文档的第一个表中,或者生成此类列表的函数的函数符号中。请参阅下表中的示例。
:ADD-TAB2
<list <list "string1" "string2" "string3"> <list "string4" "string5" "string6"> ...> 或 <function-symbol>。三字符串的列表,其中每个三字符串都添加一行到 html 文档的第二个表中,或者生成此类列表的函数的函数符号中。例如,要插入衍生自 3D 模型或者 2D 展开图的数据,可将绘图设置选项设置为将这些数据写入到全局变量 (3D) 或者该函数将要从中读取数据的文件 (2D)。请参阅下表中的示例。
:2D-FLAT-MIN-TEXT-SIZE-PIX
为文档 (包括截图) 指定最小文本大小。所有展开图的文本大小都至少为给定的大小,以像素为单位。
表 1
数据库绘图编号 (DB NR)
p1
数据库元素标识符 (ELID)
零件
p1
路径
"/p1"
材料
UST 1203
材料 - 编号
9999-0344
单位
L = MM / A = DEG / M = G
厚度
1.25
表 2 的示例行
折弯
2
# 折弯总数
不同的折弯
2
# 不同折弯的数量
平整宽度
40.0000
# 封闭平整的框的宽度
零件宽度
32.2609
# 封闭零件的框的宽度
数据库选项设置
指定在钣金库文件中使用 DesignDataManagement (DM) 或者 ModelManager (MM) 数据库。有关示例,请参阅 sha_demoshop.lsp 中的 sha-define-shop-table“数据库设置”。
:USEDB
[t | nil] t= 将生成的数据发送到选定数据库
:DDM-ACTION
<string> 作为初始化序列发送到 DM 的宏命令的字符串
:MM-ACTION
<string> 作为初始化序列发送到 MM 的命令的字符串
:DB-PARAMS
<list <string> <string>> 发送到数据库的参数。不包括以下所有参数:
("TMPDIR" "ELID" "PELID" "L_TAB" "STATION" "USER" "DR_NR" "THICKNESS" "MATERIAL")
:REF_GRP
["DB-PREF" | "DB-DREF"] "DB-PREF" = 零件参考;"DB-DREF" = 绘图参考
:KEY-WORD
<string> 绘图编号的数据库关键字,如 "NAME"
特殊生产工艺定义
生产工艺
通过关系表自动选择
特殊生产工艺设置
生产工艺
在钣金库文件的 sha-define-shop 部分中 (有关示例请参阅 sha_demoshop.lsp),使用关键字 :PRODUCTION-PROCESSES 列出生产工艺。
例如,
:PRODUCTION-PROCESSES ("flame_cutting" "laser_cutting" "nibbling" "punching" "stamping" "bending" "welding")
每个名称都必须指向具有相同名称的、将工艺指定为属性列表的表:
(sha-define-shop-table "production_process"
:keyword1 value1
:keyword2 value2
...
)
有关详细信息,请参阅下面的 特殊生产工艺设置
通过关系表自动选择中描述的工艺关系表将使用该名称构建工艺。
通过关系表自动选择
定义特殊关系表和关系函数以自动化零件的生产工艺。
在钣金库定义文件的 sha-define-shop 部分中接着关键字 :PROCESS-RELATIONS 定义表 (请参阅 sha_demoshop.lsp 中的示例),例如,
:PROCESS-RELATIONS "process-relations"。
使用相同名称创建钣金库表,例如,sha-define-shop-table "process-relations"。
使用与选择零件的所需工艺的函数一起使用的钣金库参数填充该表。通常将会基于材料和厚度相关性 (表示要使用特定生产工艺) 创建关系。
例如:
(sha-define-shop-table "process_relations"
:COLUMNS
(:MATERIAL :MIN_THICK :MAX_THICK :PROCESSES)
:UNITS
(nil :mm :mm nil)
:CONTENTS
(
("UST 1203" 1.00 9 ("laser_cutting" "punching" "stamping" "bending" "welding"))
("UST 1203" 9 50 ("flame_cutting" "welding"))
)
:KEY (:MATERIAL :MIN_THICK :MAX_THICK)
)
请注意材料厚度范围和该范围的可用工艺之间的关系。
接着关键字 :PROCESS-SELECTION-FNC,也在钣金库定义文件的 sha-define-shop 部分中定义函数。例如,:PROCESS-SELECTION-FNC sh-needed-shop-processes。有关此类函数 sh-needed-shop-processes 的示例,请参阅 sha_demoshop_func.lsp 文件。根据对零件和关系表中使用的工艺进行的分析,该函数将返回
工艺列表
指示每个工艺是否都应在菜单中可见的关键字
指定默认情况下是否选择该工艺用于生产的关键字
例如:
((:process "Punching" :visible t :valid t) (:process "Stamping" :visible t :valid nil). . .)
特殊生产工艺设置
1. 定义生产工艺的绘图和文档设置,以在特殊工艺表中覆盖 常规选项设置
2. 上述带有关键字 :PRODUCTION-PROCESSES 的列表中选择表的名称。
* 
特殊工艺表可包括绘图选项和文档选项,但不包括数据库选项 (如果指定,也将忽略此类选项)。
有关示例,请参阅 sha_demoshop.lsp 文件中的 sha-define-shop-table "bending"。
临时 3D 修改选项
通过定义可在“多次展开”过程中交互式或自动调用的外部函数创建绘图和报告,以反映生产的特定状态。这些函数将对零件做出在过程完成时反转的临时更改。
1. 在钣金库定义文件的 sha-define-shop-table 部分中,接着关键字 :EXTERNAL-OPTIONS 定义 3D 修改选项。
例如,
:EXTERNAL-OPTIONS
("chamfer-option"
"change-color"
)
; example for customer definable 3D data preparation
; example for customer definable 2D data preparation
2. 为每个选项创建一个表,每个表均由定义菜单条目的属性列表 (:keyword1 :value1 :keyword2 :value2 ...)、一组参数以及执行修改的函数所组成。
外部函数表可由以下参数组成:
TITLE
<string> 选项按钮的标题,显示在“多次展开”对话框的“信息”内容下的“绘图”对话框中。
INIT-STATE
[ t | nil] t= 该变量的初始状态 (如果未被全局或特殊绘图选项设置覆盖)
EVAL-WHEN
[t | nil] t= 当按钮设置为 (=true) 时执行 :FUNCTION 处列出的函数;nil= 当按钮为 NIL 时执行函数
FUNCTION
<function-pointer> 单击“预览”后,根据相应按钮状态 (t | nil) 执行的函数
OPTION-KEY
<:keyword> 来自全局或特定绘图设置选项的关键字,定义该按钮的初始状态
DEPENDENCIES
[<属性列表> | nil] 关键字值对的列表,指示在交互式设置该选项时可能更改的其他选项的相关性。例如,(:TOPPART_ONLY t) 意味着在执行该函数之前自动设置 :TOPPART_ONLY 标志。
* 
定义多个相关性可能导致冲突的条件。在这种情况下,最后一个定义将覆盖任何冲突的定义。
有关示例,请参阅 sha_demoshop.lsp 中的 sha-define-shop-table“倒角选项”。
2D 修改选项
要修改 2D 平整数据,如文本和折弯线以及 3D 元素的特殊 2D 表示,请使用 控制输出到展开图的信息通过特殊 2D 几何替换特定特征,或者使用“参考点”、“合并线”、“仅 TOP 零件”以及“转换样条”。还可以使用 :MACRO-EARLY 和 :MACRO-LATE 实现 2D 修改。:MACRO-EARLY 函数将直接在任意替换函数之后执行,而 :MACRO-LATE 函数将在执行所有其他函数 (包括内部选项) 之后执行。
替换宏
早期宏
晚期宏
替换宏
使用 :REPLACEMENT-INFO 关键字后跟宏名称及参数在钣金库数据库中定义 PUNCH、STAMP、RELIEF、CORNER-RELIEF 和 BEND 特征。例如,:REPLACEMENT-INFO ("sha_rnd_crn_relief_repl {1}" :DIA)。
宏会将修改应用于零件,随后该零件将被传递到 2D 绘图。尽管宏可能包括任何操作,但是它通常只对具有相同特征信息的元素进行操作,例如,将简化的 3D 表示替换为 2D 表示。
要完成自定义,可将宏文件加载添加到文件 personality/SheetAdvisor/replacement_fncs/sha_replacement_initialize.asc。
早期宏
在钣金库文件中定义 :MACRO-EARLY 条目,以独立于任何替换宏创建在展开图上创建更改。
该宏将在替换宏之后直接执行;如果没有,它将会是对 2D 平整数据执行的第一个宏。
定义必须在钣金库数据库的 sha-define-shop-table 部分中。
语法为:
:MACRO-EARLY {<string> | <list of strings> | <function-pointer returning a string or list of strings>}
例如,
:MACRO-EARLY sha-change-color-red.
每个字符串 (直接定义或者作为函数的返回值) 都必须包含要在展开图上执行的 Creo Elements/Direct Annotation 或 Creo Elements/Direct Drafting 命令序列。
:MACRO-EARLY 关键字必须出现在钣金库数据库的 sha-define-shop-table 部分的属性列表之一中。属性列表必须在 sha-define-shop 部分中的关键字 :EXTERNAL-OPTIONS 之后列出。有关示例请参阅 sha_demoshop.lsp 文件,有关生成 2D 命令列表的函数 sha-change-color-red. 的示例,请参阅 sha_demoshop_func.lsp
晚期宏
在钣金库文件中定义 :MACRO-LATE 条目,以对几乎准备就绪的 2D 数据执行最终更改。:MACRO-LATE 将在所有其他宏之后执行。定义必须在钣金库数据库的 sha-define-shop-table 部分中。
语法为::MACRO-LATE {<string> | <list of strings> | <function-pointer returning a string or list of strings>}.。例如,MACRO-LATE "CHANGE_COLOR WHITE SELECT ALL CONFIRM END"。
每个字符串 (直接定义或者作为函数的返回值) 都必须包含要在展开图上执行的 Creo Elements/Direct Annotation 或 Creo Elements/Direct Drafting 命令序列。
:MACRO-LATE 关键字必须出现在钣金库数据库的 sha-define-shop-table 部分的属性列表之一中。属性列表必须在 sha-define-shop 部分中的关键字 :EXTERNAL-OPTIONS 之后列出。有关示例请参阅 sha_demoshop.lsp 文件,有关生成 2D 命令列表的函数 sha-change-color-red 的示例,请参阅 sha_demoshop_func.lsp
外部后处理
要启动外部后处理任务,请创建自动启动的或者通过Postprocess按钮启动的处理。例如,可以为后续工作流任务创建触发器,或者调用外部程序操控数据。
后处理函数
后处理添加属性
后处理函数
SHA_MULTI_UNFOLD 命令在“定义”菜单中提供了两个选项,“交互式”以及“钣金库设置”。“钣金库设置”选项可定义多种可用的处理,而“交互式”选项仅允许定义一种处理,即一个展开图和一个文档。
钣金库文件包含每个在“钣金库设置”中列出的处理的设置。可使用“钣金库设置”选项自动执行所有处理。可在存在钣金库版本之前使用“交互式”选项,也可为给定处理的异常使用该选项,还可使用该选项演示可用于每个处理的多种选项。对于“交互式”选项,也可创建按钮启动附加处理。单击后处理会显示这些按钮。
可在钣金库文件的 sha-define-shop-table 部分中使用 :POSTPROCESS-SETTINGS 关键字后跟后处理设置表的名称定义后处理函数。
例如,
:POSTPROCESS-SETTINGS "postprocess-settings"
后处理设置表必须包含至少带有以下两个条目的属性列表::TITLE <string>,用于标记菜单中的按钮,以及 :FUNCTION <function pointer> 条目,是到用户定义函数的链接。例如,
(sha-define-shop-table "postprocess-settings"
:TITLE "Postprocess"
:FUNCTION sha-shop-postprocess-function
)
函数使用各种各样的参数。请参阅样本文件 sha_demoshop_func.lsp 中的示例 sha-shop-postprocess-function,
通过单击菜单中的Postprocess按钮交互式启动后处理函数。可通过将关键字值对::POSTPROCESS t 添加到由 :DRAWING-SETTINGS 指示的表中将上述函数自动化 (请参阅 sha_demoshop.lsp 中的示例)。
有关定义按钮来启动附加处理的交互式后处理函数的示例,请参阅 sha_demoshop.lsp 中的 sha_unfold_post_process_dialog
后处理添加属性
要将属性添加到已在平整创建过程中计算的模型,可设置全局变量 sheet-advisor::*sha-attribute-post-processing*。将在 MULTI_UNFOLD 命令结束时检查和执行该变量 (如果非 nil)。该变量必须包含双值的列表,该列表由函数指针和适合参数的列表组成 (请参阅 LISP 语法参考中 LISP 函数 apply 的语法)。有关示例,请参阅 sha_demoshop.lsp
此类属性的示例:
主体的权重 (在 3D 中可能不精确,因为折弯区域中的拉伸或 3D 中的简化表示)
平整大小
计算的成本