第九章参数化建库工具
第九章参数化建库工具PDS
9.1 概述
PDS是InteCAD的建库工具,可以用来开发参数化零件库,符号零件库,甚至对参数化图纸进行一定管理。整个系统包括零件库定义,零件库维护,以及零件库调用几个功能部分,在技术上采用了当今非常成熟流行的技术,如开放式数据库互连ODBC技术,基于约束求解的参数化设计,以及可以描述复杂工程要求的程序解释器。
ODBC技术是数据库设计领域的一项非常成熟流行的技术,几乎所有的商用数据库软件均支持ODBC技术,如Oracle,SQL Server,Access,Foxpro,Foxbas,dBase等等。这也就是说,由于PDS采用了ODBC技术,那么用户可以使用它访问支持ODBC的任何形式的数据库。
基于约束求解的参数化设计引入了约束概念,符合工程设计概念和设计人员习惯,可以准确描述各种工程设计,进行尺寸或参数驱动。因此它是用来开发零件库的一个必不可少的工具,而且其水平的高低将直接影响零件库的质量。
程序解释器作为建库工具的一个组成部分,它不是用来直接描述零件的几何形状的,应当把它看作是沟通真正的工程设计和参数化零件的一个桥梁,通过它,工程设计人员可以将一些工程要求直接反映到零件的设计过程。
9.2 零件定义(pdsdef)
PDS可以用来定义参数化零件库和符号零件库,同时可以定义库的层次关系,即我们常说的多级库。定义时都使用同一个命令pdsdef,或点取菜单:机械->参数化建库工具->零件定义。
9.2.1 保存参数化信息(pdssave)
在屏幕上将图形正确参数化后,要将参数化的图形信息存到硬盘上,PDS方能写入到数据库中。点取菜单或键入pdssave命令,系统提示:
主视图(M)/左视图(L)/俯视图(D):现在入库的图形是主视图、左视图还是俯视图,分别键入M、L、D,PDS一次只能将一个视图入库。
从实体上选择一个插入点:从实体上选择一个点,这个点是图形的插入基点。
幻灯片的左上点:制作幻灯片文件的左上角点,选择将图形都能包含进去的矩形区域的左上角点。
幻灯片的右下点:同上,为右下角点。
9-1
第九章参数化建库工具
9.2.2 参数化零件库的定义
参数化零件库的定义分为两大步骤,首先进行参数化定义,在定义完成后,使用pdssave存盘,再用pdsdef进行入库定义。
注:
1)pdssave命令和psave命令的不同之处在于:psave命令是将当前图形的所有信息存储,
包括参数化的图形和未参数化的图形、参数化的记录信息;pdssave命令只记录了参数化的图形和参数化的记录信息及所选区域的幻灯片信息。故,在图形较复杂的情况下,用户最好用psave命令将整个图形存储,以便于出现差错后仍不需再定义参数化信息。
2)pdssave命令将参数化信息存储到硬盘C分区的根目录下,对于主视图、左视图、俯视
图分别为pdspdamv.dwg、pdspdamv.pda、pdspdamv.sld,pdspdalv.dwg、pdspdalv.pda、pdspdalv.sld,pdspdadv.dwg、pdspdadv.pda、pdspdadv.sld。在使用edtbl命令进行建库或维护库时,可以直接利用这些文件信息。
在“参数化零件基本属性”对话框,即图9-1中填写好相关项目。对话框中的有关项目意义如下:
“零件名称”:是指该零件的英文名称,可以是国标号或容易识别的名字。
“零件中文名”:该零件的中文名称。
“父节点”:PDS建立零件库时,本身即是一个双级结构的库,一个零件应当属于某个库的子零件,父节点即是这个上层库。
“主视图”、“左视图”、“俯视图”是一个幻灯片,相当零件的大致形状,如果该幻灯片不太理想,用户用鼠标点取该幻灯片双击,可以重新建立该图片。
“名称”、“规格”、“材料”、“标准”是一些关于该零件的一些明细表信息,这些信息入库后,在调用库时系统会自动从库中读入这些信息并写入到零件上,这些信息可以自动填入到明细表中(pdsbill命令)等。
“备注文件”:用户可以将有关零件的一些说明写入数据库,以方便以后使用,按下该按钮直接选取有关文件。
“设计文件”:有关零件的工程设计通过“设计文件”写入数据库,在以后零件生成时将产生作用,按下该按钮直接选取有关文件。
9-2
第九章 参数化建库工具
9-3
图9-1 定义参数化零件
图9-2 定义零件变量表
按下“变量表…”按钮可以进入到零件变量表设计对话框,如图9-2。
“参数化零件变量表”是参数化零件入库时,对其控制变量进行设计的对话框,用户可以在该对话框中调整变量的次序,或者删除、添加某些变量。初始列出的变量是从参数化图直接获得的,用户添加的变量可以不是几何尺寸的直接控制量,如,定义轴承时添加的轴承类型。
“变量名列表”里的内容是你定义的该零件的主控变量名,你可以调整这些变量的顺序,用鼠标点取变量表里的一个变量,按上箭头,该变量会调整到上一格,按下箭头,该变量会调整到下一格。
第九章参数化建库工具
“增加变量”:用户可以增加除主控变量之外的其它变量,例如轴承的型号,就是一个说明变量,图上不必需要这个变量,但表格中需要这些说明变量。增加变量时,首先确定变量的“类型”,类型有:字符串型、实数型、整型、长整数型、列表型(如带由~的系列值,20~50表示该变量的取值范围在20~50之间),以及二进制对象字段。一般地,从参数化图纸直接获得的变量其类型值为实数型。
在变量编辑框中键入需要的变量,再按下“增加变量”按钮,该变量就以“string”类型增加到变量名列表中,如果要修改变量的类型,先在“变量名列表”框内选定一个变量,再选取相应类型即可。
“删除变量”:在变量名表中选定一个变量,按该按钮,这个变量就删除了。
“读入初值”:在选中状态,可以将当前参数化图形的变量初值读入到数据库成为一组记录。
9.2.3 符号零件库的定义
InteCAD定义符号零件库的方法与参数化零件库相似,唯一不同的是不必填写变量信息表。
定义时,画好图形后,直接使用pdsdef命令定义有关项目即可。图9-3是符号零件定义对话框。用户双击需要采集的视图,进入到AutoCAD图形屏幕采集需要的图形和幻灯片。再填写好相关的描述选项,按确认键即可。
图9-3 定义符号零件库
9.2.4 多级零件库的定义
定义多级零件库的方法与定义符号零件库的步骤类似,定义时先绘制好多级库的代表图形,以备随后的幻灯片采集,在AutoCAD中键入pdsdef命令,系统先弹出图9-3界面,将
9-4
第九章参数化建库工具
“符号零件”改选为“零件库”,表示定义的零件实际上是一个库,这时界面如图9-4所示。
图9-4 定义多级零件库
以轴承库为例,如果要将bear0,bear6轴承归到bear轴承库(注意:bear0,bear6本身还包含了各自的多个子类),那么我们可以依次使用上面所述方法,将零件名称分别填写为bear0,bear6,父节点统一填写为bear。定义好的多级零件库的界面如图9-9所示。
9.3 零件库管理
用户在建立了自己的大量的零件库后,对零件库的进行有效的维护管理显得非常重要,PDS提供了一套比较完善的维护手段,一般情况下,用户可以使用pdsman命令对零件库做直接维护,进行零件库的编辑、修改、预览等操作。零件库管理的界面如图9-5所示。
图9-5 零件库管理器
“刷新管理树”,在用户对零件库进行了大量拷贝、修改并影响到库结构时,必须使用该
9-5
第九章 参数化建库工具
9-6
命令根据库的层次结构关系重新刷新显示。
“删除表格”可以直接删除任何一个不需要的表格。
“清空表格”可以将一个表格的所有记录都删除干净。
“编辑表格”可以进入到表格记录编辑界面,进行记录的直接编辑修改。
“新表格”可以进入到表格定义界面,定义用户需要的数据表格。
“运行”可以直接运行树结构上选定的零件库。
注意:当用户使用PDS 之外的工具在PDS 运行时建立表格,该表格不会立即反应到管理器中,用户可以退出InteCAD 后,重新进入对其进行操作,或者对当前数据源连接状态进行一次来回切换,如:假设现在连接在HR_USER_DAT ,可以先键入命令pdssys ,再键入命令pdsuser ,即可。
9.3.1 编辑表格
用户可以在AutoCAD 中键入edtbl 命令或者在pdsman 中编辑需要的表格。表格编辑界面如图9-6。
图9-6 表格编辑
表格界面的第一列是系统自动显示的记录序号。
“新记录”用来编辑产生新的记录。
“添加记录”用来添加产生的新记录
“删除记录”用来删除选定的记录。删除前需要确定记录的主码。主码指的是能够唯一确定记录的一个字段或多个字段的组合。如图9-6中的type 。双击type ,即可设定它为主码或者撤销一个已经设定的主码。
“修改记录”用来将表格界面记录的修改写入到数据库中。修改前也需要确定记录的主码。 “查询”用来查询符合一定条件的记录。如图9-7。注意:输入框中可以输入任意符合SQL 语法的语句。关于SQL 语法,请用户自己参考有关书籍。
第九章 参数化建库工具
9-7
图9-7 SQL 查询
在图9-6上按鼠标右键,可以弹出动态菜单,界面如表格编辑对话框右侧所示。其中“设置主码”、“删除主码”用来设定或撤销字段的主码特性。
“输出记录到文件”可以将当前的表格记录输出到用户制定的数据文件。
“从文件读入记录”可以将用户已经准备好的数据文件一次录入到数据库。
数据文件的格式如下:
例: L ,A ,B
100,50,30
120,60,30
100,80,50
“输出内存对象”用来输出数据库的二进制字段。
9.3.2 创建新表格
PDS 还可以帮助用户创建用户特定的表格,界面如图9-8所示。关于对话框中各项意义,用户可以参照9.2.1节有关参数化变量表的内容。
图9-8 创建表格
第九章 参数化建库工具
9-8
9.3.3 运行库 在零件库管理界面上可以直接运行零件库,具体运行可以参考9-4节。
9.4 零件库的运行
PDS 的零件库是以多级库结构形式来组织的,运行时可以从多级库的任意层次开始运行。
9.4.1 InteCAD 零件库的运行
InteCAD 提供了机械设计中常用的各种零件,包括滚动轴承、螺栓、螺柱、螺母、螺钉、垫圈、挡圈、销、型材、键、夹具,以及液压气动符号、电气符号等十几类零件。
用户可以直接点取菜单运行需要的标准件,也可以在Command 下键入PDS ,然后输入零件库名。比如,用户可以键入bolt 启动螺栓类零件库,如图9-9,在界面上选取GB5780类螺栓运行,还可以直接键入GB5780运行该螺栓,如图9-10是零件的最终运行界面。
在零件库运行界面上,即图9-9,用户可以在幻灯片上双击,或者按“运行”按钮运行选中的零件;“备注信息”按钮可以察看零件的说明信息;对于多级零件库,“返回上级”按钮可以实现选择回退功能;在列表框中包含当前零件页的零件中文名列表,用户也可以通过列表来选择需要运行的零件;系统提供了两种方式的页面显示布局,即“4行×5列” 和“3行×3列”布局,图示为“3行×3列”布局。
图9-9
图9-10是零件的最终运行界面,其中标准数据列表是零件在数据库中定义的数据,用户可以选取任意一组记录作为运行数据。
运行数据是零件最后进行参数驱动的数据,用户可以直接编辑任意一个数据,还可以
第九章 参数化建库工具
9-9
使用“读入运行数据”按钮,读入一组设计数据。设计数据的格式如下面例子:
d=5
b=16
即每行描述一个变量的值。
图9-10
“查看设计文件”按钮,可以让用户了解关于零件的设计信息。
“查看备注信息”按钮,可以让用户了解零件的有关说明。
“输出效果”,可以控制零件输出时的一些处理方法。其中“只输出设计结果”选项,对于标准件库一般需要选中,因为在设计文件中,一般都已经调用零件驱动生成的过程(即exepda 函数)。
“名称”、“规格”、“材料”、“标准”是零件的明细表属性,其中“规格”显示的只是一个样板,在输出时一般通过设计文件进行重新设定(即__code 系统变量)。
视图名组合框,可以让用户选择零件定义的各个视图。
零件的预览按钮,双击后可以放大显示。
9.4.2 如何将用户的零件库定制到AutoCAD 菜单
如下面的例子所示是InteCAD 定义的轴承库运行菜单,用户打开InteCAD 目录下的acad.mnu 可以找到该条语句。
例子:[深沟球轴承60000型]^C^C^P(if(NULL pdsrun)(arxload "Intepds"))(pdsrun"bear6") ^P
仿照该例子,用户需要替换成自己的地方就是斜体部分所示的内容。 9.5.参数化零件定义例题
下面我们举一实例说明建库的过程。
1、用newbase 命令创建好数据库名,如果已经创建则不需另创建,一个用户最好只用一
第九章 参数化建库工具
9-10
个数据库名,创建库名的同时系统将用户数据源自动连接到该库上。 2、在屏幕上画好如图9-11的图形,并用PDA_pro 测试、定义好变量或用psave 命令将图形暂存盘,以免突发性错误而发生图形丢失。
图9-11 画好图形并参数化、设置变量
3、用pdssave 命令将图形及参数化信息存盘。
4、用dvshow 命令显示变量。
5、数据文件和备注文件的准备。如果数据不多,可以直接在编辑数据表时输入,否则用edit 或其它编辑器准备数据文件和备注文件。
6、用pdsdef 命令定义库名,如我们这里定为user ,再定义“零件名称”(我们这里定为tmp1)、“零件中文名”,将“名称”、“规格”、“材料”、“备注”、“备注文件”等填好(也可不填,不填以后就没有这些信息),点取“变量表按钮”可对变量作添加、删除或重排序操作增加变量。
双击图像按钮,重新定义。
7、用edtbl 命令编辑数据表,键入相应的内容,转入到数据表编辑。 8、运行库。键入库名为user 或tmp1就可以直接运行了。 9.6.PDS 高级话题
在本节介绍如何利用PDS 的一些特性,进行高效率的操作,有效维护PDS 数据库。
9.6.1 PDS 零件的数据库特性
PDS 使用了基于ODBC 的数据库技术,所有的数据都以关系数据库表格记录形式存在。对于多级库,PDS 采用树状结构进行组织管理,而每个具体零件的DWG 信息、PDA 信息等都记录在零件索引表中。
下面分别列出这两种表格的结构。
多级库的树状结构表格由以下4个字段构成:
1).子零件库的名字 SUBLIB_NAME CHAR(32)
第九章参数化建库工具
2).子零件库的中文名SUBLIB_CNAME CHAR(32)
3).子零件库的SLD图标SUBLIB_SLD RTBFILE
4).子零件库是否为具体零件库IS_SUBLIB RTSHORT
注:IS_SUBLIB有三种可能的取值:
0:表示子库不存在
1:表示子库为变量信息库
2:表示子库为多级库
零件索引表的字段结构:
1).主视图DWG文件M_DWG RTBFILE
2).主视图PDA文件M_PDA RTBFILE
3).主视图SLD文件M_SLD RTBFILE
4).左视图DWG文件L_DWG RTBFILE
5).左视图PDA文件L_PDA RTBFILE
6).左视图SLD文件L_SLD RTBFILE
7).俯视图DWG文件D_DWG RTBFILE
8).俯视图PDA文件D_PDA RTBFILE
9).俯视图SLD文件D_SLD RTBFILE
10).变量名表的名字SUBLIB_NAME CHAR(32)
11).名称NAME CHAR(60)
12).规格CODE CHAR(60)
13).材料MATERIAL CHAR(60)
14).标准REMARK CHAR(60)
15).备注文件NOTEFILE RTBFILE
16).备用文件1 BAKFILE1 RTBFILE
17).备用文件2 BAKFILE2 RTBFILE
18).备用串1 BAKSTR1 RTSTR
19).备用串2 BAKSTR2 RTSTR
注:BAKFILE1字段目前已经被设计文件使用,其它三个备用字段等待以后扩充使用。
9.6.2利用表格编辑功能重新定义零件
从上面所列出的零件索引表可以看到,零件的所有参数化信息都可以通过索引表获得,同样用户也可以直接修改这些数据实现零件的重新定义。
用户在使用pdsdef命令定义参数化零件时,前面有一个不可缺少的操作pdssave,用于存储所有的参数化信息,这些参数化信息分别存储在几个临时文件中,如果是主视图,文件名为:pdspdamv.dwg,pdspdamv.pda,pdspdamv.sld,如果是左视图,文件名为:pdspdalv.dwg,pdspdalv.pda,pdspdalv.sld,如果是俯视图,文件名为:pdspdadv.dwg,pdspdadv.pda,pdspdadv.sld。
在pdssave操作之后,用户可以使用edtbl命令编辑indexlib,录入新的零件或者修改现有零件。修改indexlib时,一般都选用sublib_name做关键字。
PDS的这种表格编辑功能,可以有效的提高零件库的开发效率,表格修改操作的简单
9-11
第九章 参数化建库工具
9-12 统一化特别有利于用户零件库的维护及转换。比如,用户原来用别的工具开发了一批零件库,现在要转换成PDS 的格式,这时用户可以将原来做好的幻灯片直接以文件形式读入到PDS 的数据库,从而省去了重新采集幻灯片的工作。 当然用户零件图形还必须使用PDA 重新定义并入库。
9.6.3.PDS 零件表的命名规则
PDS 允许用户直接定义表格,但是表格的命名应当遵循一定的规则,才能充分发挥其作用,这一点在零件系列值表格查询方面可以得到体现。
在表格命名时一般要注意如下几条规则:
1) 零件在索引表中的sublib_name 名就是零件的变量信息表的名字,比如:sublib_name =
20000的轴承,那么它的变量信息表就是20000。
2) 对于变量信息表,它可以包含LIST(系列值)字段,LIST 字段可以对应一个系列值表格
(该表格一般只有一个字段),这个表格的名字为当前信息表的名字加上“__”及字段名,比如螺钉GB65的长度L 字段,对应的索引表名应为GB65__L 。用户如果使用PDS 提供的pdsdef 命令及edtbl 命令一步步顺序操作,系统将自动创建该格式的索引表。如果用户完全使用上面的edtbl 命令来定制零件库及其配套的索引表,也必须遵循此规则。
3) 为了保证表格可以自由的在各种数据库平台间转换,表格及其字段命名时一般应使用
字母或数字,并且以字母或下划线开头。
9.6.4.PDS 多级库
PDS 多级库是一个树
状结构,树叶由具体的参数化
零件构成,系统从根向树叶运
行零件库。
定义多级库时要遵循
从叶子向根定义的原则,每层
定义都是对已有零件或多级
库的再包装定义。图9-12是
PDS 多级库的逻辑关系示意
图。
图9-12 PDS 多级库结构