Files
WorkNote/SanPinPLM/相关操作/2.0-PDM/58.图号生成.md

100 lines
4.9 KiB
Markdown
Raw Normal View History

2025-02-25 09:46:10 +08:00
# 介绍
系统中物料属性上的 **代号** 指的就是图号在系统具备PDM模块的情况下建议图纸的编码器和其他文件的编码器拆分开不要在 **文档分类** 中绑定编码器,而是在 **物料分类** 中绑定 [代号编码器](25.物料分类设置.md#代号编码器) ,通过创建物料自动生成出图号,从而实现物料编码、文档编码、图号的相关联(限于一图一物的情况,不适用 [一图多物料](30.图号、物料编码唯一性设置.md#一图多物料) 的情况
## 代号生成
**物料分类** 绑定 **代号编码器** 后,创建该类物料,就可以自动性的生成出该物料相对应的图号了
2025-02-25 10:46:10 +08:00
![](assets/Pasted%20image%2020250225102049.png)
2025-02-25 09:46:10 +08:00
2025-02-25 10:16:10 +08:00
### 代号生成优势
2025-03-10 22:37:17 +08:00
使用代号生成的方式,比较适合 [图纸匹配物料](56.文档关联物料.md#图纸匹配物料) 的关联方式,即使用 [CAD接口](../1.5-EDM-CAD/5.CAD接口使用.md) 的 **添加物料** 功能,将物料信息添加到图面后,可以顺利的将图号写入到图纸上
2025-02-25 10:16:10 +08:00
![](assets/Pasted%20image%2020250225095812.png)
并且可以确保物料属性中,代号不为空,会记录到该物料的对应图号
### 代号生成缺点
采取代号生成方式的缺点在于,图纸的文档编码与物料紧密相关,不容许出现 [一图多物料](30.图号、物料编码唯一性设置.md#一图多物料) 的情况
# 图号与文档编码关联
2025-03-10 22:37:17 +08:00
使用 [CAD接口](../1.5-EDM-CAD/5.CAD接口使用.md) 的 **添加物料**,将物料信息添加到图面后,可以顺利的将图号写入到图纸上,此时图纸中已记录了图号(文档编码)信息,但是对于系统而言,图号与文档编码是分开记录的
2025-02-25 10:16:10 +08:00
2025-03-10 22:37:17 +08:00
以AutoCAD为例若想要将图纸信息写入到文档属性中需要完成 [与系统绑定](../1.5-EDM-CAD/15.AutoCAD图纸模板制作.md#与系统绑定) 工作
2025-02-25 10:16:10 +08:00
此外还需要在 **系统设置****参数配置****搜索** → 搜索**文件类型** → **文件类型设置** 中设置 **AutoCAD可配置块名**,勾选 **同步图纸内属性到文档属性** 参数
2025-02-28 12:58:28 +08:00
![](assets/Pasted%20image%2020250228123016.png)
2025-02-25 10:16:10 +08:00
开启此参数后,检入、上传图纸时,图纸属性信息会写入到文档属性中
![](assets/Pasted%20image%2020250225101257.png)
2025-02-25 10:46:10 +08:00
# 扩展
## 图号与物料编码一致性设置
若想要图号与物料编码相同,有多种方式可以实现,其一为 [代号编码器](#代号编码器) ,其二为 [Delphi脚本](#Delphi脚本)
### 代号编码器
2025-03-10 22:31:17 +08:00
使用 **代号编码器** 去生成图号,需要先创建一个编码器,在此编码器中,只要有一个码段信息即可,即使用 [对象属性](../4.0-other/25.编码器设置.md#对象属性) 去获取物料编码
2025-02-25 10:46:10 +08:00
![](assets/Pasted%20image%2020250225101906.png)
这样在创建物料时,可以一键生成相应图号
![](assets/Pasted%20image%2020250225102049.png)
### Delphi脚本
2025-03-10 22:31:17 +08:00
为 [物料分类](25.物料分类设置.md) 设置 [Delphi脚本](../4.0-other/200.Delphi脚本.md) 可以实现依据脚本内容自动生成代号的功能
2025-02-25 10:46:10 +08:00
![](assets/Pasted%20image%2020250225102303.png)
脚本内容如下:
```Delphi
uses MyClass,Variables,BaseUtil,CommonFunc,DataConst,CFFrm,CFSimplePropFrm,Forms,StdCtrls,Variants,SysUtils,Classes,Controls,Dialogs,
CHostIntf,ProductClas,DocClas,LoginClas,VirtualTrees,CEntClas,PathClas;
begin
//注释:在下面添加您的脚本代码
// 检查 物料编码 是否为空
if Trim(fedtItemCode.Text) <> '' then
begin
// 如果 物料编码 不为空,则将 代号 的值设置为 物料编码 的值
fedtDrawId.Text := fedtItemCode.Text;
end
else
begin
// 如果 物料编码 为空,则清空 代号
fedtDrawId.Text := '';
end;
end.
```
有两种方式实现,分别为 [代号属性添加脚本](#代号属性添加脚本) 与 [物料分类事件脚本](#物料分类事件脚本) (推荐)
#### 代号属性添加脚本
2025-03-10 22:29:43 +08:00
为代号属性添加脚本,即在 [自定义控件页面](../1.0-EDM/170.自定义控件页面.md) 选择 **代号** 的控件,在其 [控件属性设置区](../1.0-EDM/170.自定义控件页面.md#控件属性设置区) 配置脚本
2025-02-25 10:46:10 +08:00
![](assets/Pasted%20image%2020250225102811.png)
此种方式,需要对控件执行相应的操作才会触发脚本。以 **失去焦点执行** 为例,需要先点击到 **代号** 控件中,然后将离开 **代号** 控件,才能触发脚本
#### 物料分类事件脚本
物料分类事件脚本,是指在 [物料分类](25.物料分类设置.md) 的 [事件脚本](25.物料分类设置.md#事件脚本) 中设置脚本
![](assets/Pasted%20image%2020250225103406.png)
**界面显示时** 为例,设置好脚本后,创建物料时,依据脚本内容自动生成了代号,相较于 [代号属性添加脚本](#代号属性添加脚本) 的方式,更省了一步
![](assets/Pasted%20image%2020250225102303.png)