Files
WorkNote/SanPinPLM/相关操作/1.5-EDM-CAD/25.中望CAD图纸模板制作.md
2025-05-26 10:36:03 +08:00

320 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 介绍
配置中望CAD图纸模板便于用户直接使用规范式的标题栏与明细表并在编写明细表的时候能够直接从三品PLM系统中调用已存在的物料进行相应编辑编辑完的图纸能够直接在PLM系统内自动生成BOM结构
==特别说明无论任何CAD软件建议设置默认图纸保存版本为2010建议保存图纸为2010版本==
对标题栏、明细栏的制作需要先找到中望CAD的自定义样式文件夹该文件夹默认情况下位于
**C盘****用户****公共文档****ZWSoft****ZWCADM** → 里面有中望CAD安装过的各个版本选择对应的版本 → **Style****GB文件夹**这便是中望CAD的自定义样式文件夹
> 例如
>
> 我的中望CAD自定义样式文件夹位于
>
> `C:\Users\Public\Documents\ZWSoft\ZWCADM\2020\zh-CN\styles\GB`
其中与标题栏、明细栏相关的文件夹共有三个分别是drwFBlock、drwTBlock、parList相关文件有两个分别是BomStyles.xml、TitleStyles.xml
![image-20240702221647118](../1.0-EDM/assets/image-20240702221647118.png)
## 前置要求
掌握中望CAD绘图、属性定义等基础操作
# 制作标题栏
与标题栏相关的文件夹是drwTBlock将其打开可见中望CAD默认制作好的五个标题栏与对应的配置文件。此后自定义的标题栏模板也会保存在此
![image-20240702222150566](../1.0-EDM/assets/image-20240702222150566.png)
以标题栏1为基础制作新的标题栏使用中望CAD将标题栏1打开我们可以在标题栏1的基础上进行修改
![image-20240702222510501](../1.0-EDM/assets/image-20240702222510501.png)
## 标题栏模板制作
使用 `attdef` 命令定义属性,也可在 绘图 选项栏中选择 块 → 定义属性,也可以按住 `CTRL` 键拖动属性进行复制
要编辑属性可以直接对该属性双击进行编辑
属性定义分有两种情况:
- **系统填写 → 属性名称可自定义,对正方式为布满**
- **系统提取 → 勾选 “ 模式 ” 中的 “ 多行 ”,对正方式为 “ 中心 ”**
相关的属性落点如何选择,可以参考 [属性落点](15.AutoCAD图纸模板制作.md#属性落点)
系统填写即该属性无需用户填写在使用PLM系统管理该图纸时PLM系统会进行填写如签名、签字日期等这种情况类似于制作 `word``excel` 文档模板,**属性名称可自定义****无需勾选 “ 多行 ”,设置对正方式为布满及相应的文字高度**即可
系统提取即该属性不由PLM系统进行填写如名称、图号等用户在制作图纸后进行填写PLM系统会提取这些属性记录到系统中故而需**勾选 “ 多行 ”,设置对正方式为中心及相应的文字高度**即可(只有 `AutoCAD` 需要属性标记与PLM系统中保持一致
![image-20240702224457427](../1.0-EDM/assets/image-20240702224457427.png)
`AutoCAD` 的不同之处在于中望CAD中属性的命名可以是中文的
![image-20240702225232693](../1.0-EDM/assets/image-20240702225232693.png)
制作完成之后,需要将其制作成块,在 **机械** 选项卡中,选择 **系统维护工具** 选项,并选择 **自定义标题栏** (如果是对已定义的标题栏做修改,则不用重做成块,直接保存即可)
![image-20240702230558215](../1.0-EDM/assets/image-20240702230558215.png)
选择后中望CAD要求输入块名称此名称就是标题栏文件名称完成后回车
![image-20240702230749845](../1.0-EDM/assets/image-20240702230749845.png)
再选择基点,选择标题栏的右下角即可
![image-20240702230842530](../1.0-EDM/assets/image-20240702230842530.png)
再选择实体,将整个标题栏全部选取中即可
![image-20240702230925551](../1.0-EDM/assets/image-20240702230925551.png)
选取完成后回车,即可进入 **属性块定义** 界面如果需要由PLM系统写入数据则参考 [属性与系统集成](#属性与系统集成) 进行操作
![image-20240703091750000](../1.0-EDM/assets/image-20240703091750000.png)
如果不需要,点击确定后等待右下角出现如图提示
![](../1.0-EDM/assets/Pasted%20image%2020240703101854.png)
出现提示说明中望CAD已在自定义样式文件夹中创建出了对应的标题栏文件`XXX.dwg`XXX和输入的块名称相同接下来可关闭该文件直接进行 [配置文件编制](#标题栏配置文件编制) 操作
关闭时询问是否要保存修改到 `标题栏1.dwg` 中,选择 否 即可(避免 `标题栏1.dwg` 受到修改)
![](assets/Pasted%20image%2020250526103509.png)
### 属性与系统集成
**属性块定义** 界面,需要对属性的 **内部名称** 进行设置,**为了与系统集成,需要要采用系统内部的名称**
![image-20240703092246887](../1.0-EDM/assets/image-20240703092246887.png)
编辑完成后点击确定即可,后台会生成对应的标题栏文件,文件名称与自定义标题栏时输入的块名称相同
#### 如何查询系统内部的名称?
**系统设置****参数配置****系统参数****数据定义相关****对象属性定义****物料** 中查询,如图所示
![image-20240703092435329](../1.0-EDM/assets/image-20240703092435329.png)
并不是所有属性都要与系统内部名称保持一致,对于**希望三品PLM系统写入数据需保持与系统内部名称一致**,对于**不需要系统写入的数据,则不用改变**
> 注意:**属性块定义** 的内部名称不能重复
案例
> 希望系统写入数据
>
> 如:物料分类,物料编码
>
> | ![image-20240703095154728](../1.0-EDM/assets/image-20240703095154728.png) | ![image-20240703095227117](../1.0-EDM/assets/image-20240703095227117.png) |
> | ------------------------------------------------------------ | ------------------------------------------------------------ |
>
> 效果:系统会自动写入物料编码与物料分类
>
> 无需系统写入数据
>
> 如:日期
>
> ![image-20240703095542865](../1.0-EDM/assets/image-20240703095542865.png)
>
> 效果由中望CAD写入日期
## 标题栏配置文件编制
一个标题栏文件对应一个配置文件,这个配置文件并不是自动生成的,需要手动创建,选择 default1.xml 进行复制、粘贴即可,命名建议与标题栏文件名相同
![image-20240702222150566](../1.0-EDM/assets/image-20240702222150566.png)
> 例如新做的标题栏模板名称为Test为了便于管理配置文件的名称也命名为Test即可
>
> ![image-20240703103234145](../1.0-EDM/assets/image-20240703103234145.png)
打开配置文件后,需要对相关的属性进行编制
在配置文件中,每一条以 “ Attribute ” 开头的文本都代表一条属性,这些属性需要与标题栏对应
新增属性只要将已有的 “ Attribute ” 复制、粘贴出来修改其Name与Label即可**Name必须要等于 “ 属性块定义 ” 中的 “ 内部名称 ”Label则要等于 “ 属性块定义 ” 中的 “ 显示名称 ”**
![image-20240703104758343](../1.0-EDM/assets/image-20240703104758343.png)
确保必要的属性都添加到配置文件中并且Name和Label没有错误后保存配置文件即可
完成这一步后需要将制作好的[标题栏与中望CAD绑定](#绑定标题栏)这样就可以在中望CAD中通过图幅设置直接将标题栏创建出来了
### 配置文件扩展
在配置文件中,以`<Attribute Name="qz1" Label="签字1" DefaultValue="" DataType="VT_BSTR" ControlType="CMB_DOWN" ControlValue="李龙;任叶凯;宋丹丹;黄赓;刘遥彬;" ControlExpr="" CanEmpty="1" IsUniquely="0" IsKey="0" AutoIncreased="0" Editable="1"/>`为例
相关参数:
- **Name**:属性名,在程序中引用此属性时使用的标识符。
- **Label**在UI中显示的属性标签即用户看到的描述性文本。
- **DefaultValue**:默认情况下属性的值。
- **DataType**:数据类型,`VT_BSTR` 指的是基本字符串类型。
- **ControlType**:这个参数指定了用户界面中用于编辑该属性的控件类型。`CMB_DOWN` 表示这是一个下拉组合框(combo box),用户可以从列表中选择一个值,也可以手动输入一个值。
- **ControlValue**:这个参数提供了下拉列表中的选项值,用分号(`;`)分隔。在这个例子中,`ControlValue="李龙;任叶凯;宋丹丹;黄赓;刘遥彬;"` 定义了一个预设的下拉列表包含了5个可选的名字。当用户在标题栏或明细表中遇到这个属性时他们可以从这些名字中选择或者输入一个不同的名字。
- **ControlExpr**:这是一个表达式,用于计算属性的值。它可以是空白(""),表示没有计算逻辑,或者包含一个表达式,根据其他属性或条件动态设置属性值。
- **CanEmpty**:是否允许属性值为空。
- **IsUniquely**:是否要求属性值在所有实例中唯一。
- **IsKey**:是否作为主键,通常用于数据库中标识唯一记录。
- **AutoIncreased**:是否自动递增,常用于序列号之类的属性。
- **Editable**:是否允许编辑,即用户是否可以更改属性值。
# 制作明细栏
与标题栏相关的文件夹是partList将其打开可见中望CAD默认制作好的明细表头、明细表体以及对应的配置文件。此后自定义的标题栏模板也会保存在此
![image-20240703114120136](../1.0-EDM/assets/image-20240703114120136.png)
以明细表表头模板制作为例使用中望CAD将明细表头打开我们可以在此基础上进行修改
制作方式与 [标题栏模板制作](#标题栏模板制作) 相仿,可进行参考
![image-20240703114224914](../1.0-EDM/assets/image-20240703114224914.png)
制作完成之后,需要将其制作成块,在 “ 机械 ” 选项卡中,选择 “ 系统维护工具 ” 选项,并选择 “ 自定义明细表表头 ” (如果是对已定义的明细表表头做修改,则不用重做成块,直接保存即可)
![image-20240703114539865](../1.0-EDM/assets/image-20240703114539865.png)
后续操作参考[标题栏模板制作](#标题栏模板制作),基本一致
## 明细栏配置文件编制
表头、表体模板制作完成后,需要编制配置文件,操作方式与[标题栏配置文件编制](#标题栏配置文件编制)相仿,**明细表表头与明细表表体共同对应一个配置文件**,这个配置文件并不是自动生成的,需要手动创建,选择 default.xml 进行复制、粘贴即可,命名建议与标题栏表头文件名相对应
![](../1.0-EDM/assets/Pasted%20image%2020240703123919.png)
打开配置文件后,需要对相关的属性进行编制
在配置文件中,每一条以 “ Attribute ” 开头的文本都代表一条属性,这些属性需要与标题栏对应
新增属性只要将已有的 “ Attribute ” 复制、粘贴出来修改其Name与Label即可**Name必须要等于 “ 属性块定义 ” 中的 “ 内部名称 ”Label则要等于 “ 属性块定义 ” 中的 “ 显示名称 ”**
![image-20240703104758343](../1.0-EDM/assets/image-20240703104758343.png)
确保**表头、表体必要的属性都添加到配置文件中**并且Name和Label没有错误后保存配置文件即可
完成这一步后需要将制作好的[明细栏与中望CAD绑定](#绑定明细栏)这样就可以在中望CAD中通过图幅设置直接将明细栏创建出来了
# 与中望CAD绑定
## 绑定标题栏
标题栏制作完成后还需要与中望CAD进行绑定才能在中望CAD中通过图幅设置直接将自定义的标题栏创建出来
在 drwTBlock 的同级目录下找到 “ TitleStyles.xml ” 文件
![image-20240703111141528](../1.0-EDM/assets/image-20240703111141528.png)
将其打开后,其中一条 “ TitleStyle ” 就代表一个标题栏,与[配置文件编制](#标题栏配置文件编制)相似,将已有的 “ TitleStyle ” 复制、粘贴,修改其 Name、Label、**TemplFile**、**AttFile** 即可
![image-20240703111224544](../1.0-EDM/assets/image-20240703111224544.png)
参数说明:
- Name 可以自定义
- Label 则是显示在中望CAD中的标题栏名称可以自定义在 TitleStyles.xml 中 Label 是啥,标题栏这里就叫啥)
![image-20240703111932495](../1.0-EDM/assets/image-20240703111932495.png)
- **TemplFile 必须要与标题栏模板文件名称保持一致**
![image-20240703112245104](../1.0-EDM/assets/image-20240703112245104.png)
- **AttFile 必须要与标题栏配置文件名称保持一致**
![image-20240703112245104](../1.0-EDM/assets/image-20240703112245104.png)
- Default 如果希望图幅设置时默认选择某个标题栏那么设置其Default为1其他标题栏的Default为0即可
完成后保存即可再次打开中望CAD便能够在 “ 图幅设置 ” 中选择到自定义的标题栏
## 绑定明细栏
明细栏制作完成后还需要与中望CAD进行绑定才能在中望CAD中通过图幅设置直接将自定义的明细栏创建出来
在 partList 的同级目录下找到 “ BomStyles.xml ” 文件,该文件设置方式与[绑定标题栏](#绑定标题栏)相仿,此处不作介绍
完成后保存即可再次打开中望CAD便能够在 “ 图幅设置 ” 中选择到自定义的明细栏
# 与系统绑定
## 前置要求
完成自定义标题栏、明细栏制作并与中望CAD绑定完成 [中望CAD接口安装](20.中望CAD接口安装.md)
创建出一个带标题栏与明细栏的文件(选择任意一个标题栏与明细栏即可)
![image-20240703131138290](../1.0-EDM/assets/image-20240703131138290.png)
使用 “ XH ” 命令标注序号,或选择 机械 → 序号/明细表 → 标注序号
![image-20240703131604067](../1.0-EDM/assets/image-20240703131604067.png)
标记出序号后,使用 “ MX ” 命令生成明细表,或选择 机械 → 序号/明细表 → 生成明细表
![image-20240703131740122](../1.0-EDM/assets/image-20240703131740122.png)
生成后样式如下,进行保存即可
![image-20240703131825395](../1.0-EDM/assets/image-20240703131825395.png)
## 属性映射
接下来在系统中进行属性映射配置,对于要从图纸中提取的属性,就需要进行映射
使用admin账号登录三品PLM系统选择 **系统设置****CAD接口****可配置块****属性映射****重新配置**
![image-20240703132105812](../1.0-EDM/assets/image-20240703132105812.png)
在常见CAD块名中选择 **中望CAD机械版**
![image-20240703132218660](../1.0-EDM/assets/image-20240703132218660.png)
标题栏块名、明细表头块名、表体块名,必须以`ZwmFrameMain_`开头,表头必须以`_H`结尾,表体则必须以`_B`结尾
![image-20240703132422724](../1.0-EDM/assets/image-20240703132422724.png)
### 标题栏块名
打开 “ TitleStyles.xml ” 文件,复制默认的标题栏标签,对 “ 属性映射 ” 窗口中的标题栏块名进行替换,只要替换掉下划线以后的部分即可
![image-20240703133306569](../1.0-EDM/assets/image-20240703133306569.png)
对于有多个标题栏的情况,配置方法不变,在 “ 标题栏块名2 ” 中写入即可
![image-20240703133444392](../1.0-EDM/assets/image-20240703133444392.png)
两个以上,需要在 “ 标题栏块名2 ” 中使用 “ `|` ” 分隔(把自定义的标题栏添加进去即可)
### 明细表块名
完成标题栏块名填写后,进行明细表块名填写,打开 “ BomStyles.xml ” 文件,复制默认的明细表标签,对 “ 属性映射 ” 窗口中的明细表块名进行替换
![image-20240703134020527](../1.0-EDM/assets/image-20240703134020527.png)
多个明细栏,其配置方式也是用 “ `|` ” 分隔(把自定义的标题栏添加进去即可)
### 提取
完成 “ 块名指定 ” 后点击提取,选择刚才创建的文件,能够将图框中的属性提取到系统内
![image-20240703140733516](../1.0-EDM/assets/image-20240703140733516.png)
最后为要提取的属性进行对应的设置,完成后点击保存即可
![image-20240703140822828](../1.0-EDM/assets/image-20240703140822828.png)
# 补充
可能会出现 [填写CAD属性中文显示成问号](../../报错处理/填写CAD属性中文显示成问号.md) 的问题 ,那么是因为当前字体中不包含中文字符,可以使用 `ST` 命令,在 **文字样式** 中调整文字样式使用的字体
![image-20250110094008966](../1.0-EDM/assets/image-20250110094008966.png)
如果是后缀为 `.shx` 的CAD专用字体那么可以勾选 **大体字**
![image-20250110094026032](../1.0-EDM/assets/image-20250110094026032.png)