UG二次开发中主模型重命名实现

更新时间:2024-02-03 23:58:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

UG二次开发中主模型重命名实现

瞿文燕

摘要:UG文件引用关系使得UG文件重命名成为问题,本文介绍可以用于UG文件重命名的三种方法,根据装配件及其他引用文件同步更改的要求,最终选定装配克隆操作。本文详细介绍了包括图纸文件和装配文件的克隆装配实现方法。 关键词:UG/Open;装配克隆;重命名

Abstract: It makes UG file renaming as a problem because the rename lost the reference information in the file. It introduce three methods which been used in UG file rename. We choose the assemble clone method for reference information altered synchronous in assemble file and other file which relates to it. We introduce the draft and assemble clone method carefully.

Keywords: UG/Open, assemble clone, rename file

0 引言

Unigraphics(简称UG)软件是当今世界上最先进的,面向制造行业的CADI/CAD/CAE/CAM高端软件[1]。UG是知识驱动的设计软件,实现了设计、仿真、生产数据一体化,使得复杂产品的设计简化。该软件广泛应用于汽车、航天、航空、机械、消费电子等工业的设计和生产。

与任何一款通用的集成软件一样,UG只能实现一般设计性软件通用的功能,无法面面俱到地实现每个行业每个公司的所有需求。因此具有一个开放的体系结构、简便和运行高效的二次开发平台是衡量该类软件具有适应性和生命力的重要指标。用户通过该软件进行二次开发将自己的行业或者公司的设计思想转换为特定的功能,从而实现行业或者公司的特殊需求。UG软件提供给用户较为完整的应用开发工具集——UG/Open,其主要包括UG/Open API、 UG/Open GRIP、UG/Open MenuScript和UG/Open UIStyler四个部分,涵盖了功能、菜单、对话框等多个方面的开发接口。

[2]

1主模型复制功能需求

UG采用知识驱动方式,设计中的数据保持单一性,这使得更改模型中的任何数据都导致相关模型的数据改变。主模型数据在整个设计中只出现一次,装配模型中的模型相关数据是对主模型数据关联引用,图纸中和主模型关联的数据也是通过引用的方式获取,对于主模型的任何数据改变都会在相关的装配模型和图纸中得到体现[3](图1)。通过这种方式实现了数据的相关性和唯一性。

装配件1工程图1加工图子模块1子模块2图1 子模块引用关系

子模块3

在设计中初始设计文件名和最终提交的文件名常常不相同,对文件进行重命名是设计中常需要的一个功能。对父装配模型进行文件名更改时,文件中数据没有发生改变,因此保持着和主模型的引用关系。当对子模型文件名更改时,父装配和图纸中对主模型的引用关系的路径和文件名都会发生变化。对子模型文件名的更改会导致和其相关的模型和图纸都无法获取数据引用而失败。

2常见的重命名方法比较与分析

UG软件为装配体重命名提供了三种操作方法:(1)Save As方法,(2)COPYFILE方法,(3)装配克隆方法[4]。

Save As方法的操作步骤为:在UG界面打开一个新文件名,则装配根节点被复制了一份,如果要复制子节点,则需要将子节点文件设置为当前工作文件,然后再进行另存。此时新创建的节点将和原来的子节点或者父节点建立关联,如图2所示。Save As方法一次只能复制一个文件,只适合于单个或者少量的节点文件名的更改,无法复制整个装配树。同时对于子节点的加工文件或者图纸文件无法实现自动关联。

COPYFILE方法使用Win32接口函数进行复制整个装配文件夹,但是不可以对装配文件进行改变,无法对不在同一个目录的文件的关联进行复制,只适用于整个装配文件夹的拷贝,如图3所示。

装配克隆法在修改节点文件名的同时保持了新装配零部件相互关系不发生变化,对新模型的修改不影响原装配部件,如图4所示。同时可以根据定义前缀名或者后缀名的方式实现文件名的批量修改,或者单个定义的方式实现个别修改。如果装配节点定义了和之关联的图纸文件或者加工文件等相关关联文件,可以通过添加克隆的方式实现关联的添加。对比三种方式装配克隆法比较适合开发中进行装配和图纸的文件修改。

装配件1工程图1加工图子模块1子模块2图2 Save As方法

子模块3

根节点COPYFILE根节点叶节点1叶节点2叶节点3 叶节点1叶节点2叶节点3 图3 COPYFILE方法

装配体节点克隆装配体节点工程图…图4装配克隆法

工程图…

3基于装配克隆法的主模型重命名的设计与实现

装配模型复制中主要解决几个问题:(1)由于装配是批量复制的方式实现,对于更改名称过程中会出现重名或者文件名格式不对的方式将导致整个装配的失败,虽然从装配记录中可以查找到失败原因,但是比较麻烦,因此文件名在建立克隆函数之前要进行合法性审查。(2)由于装配中的节点文件比较多,文件名和重命名的对应关系呈现给客户比较繁杂。一般用户需要修改的文件名大多数是自制零部件的文件名,对于标准件库的文件名很少进行修改。本设计通过节点文

件属性项加工方式和文件名前缀的方式检查进行分类,将节点文件分为整机、部件、零件、外购件和标准件等。数据采用一次载入,将用户不关心的数据采用隐藏表格的方式从用户界面中隐藏起来。(3)本设计的用户界面采用的MFC的非标准用户表格GridCtrl控件,此控件用户界面较好,但是对于大量的复制、粘贴、查询等操作远不如电子表格Excel,因此在设计中加入了电子表格Excel接口,让用户可以将装配文件信息导入到Excel文件进行修改,修改之后导入重命名模块界面进行批量修改。

整个克隆流程如下(图5)。在克隆动作操作之前关闭克隆相关的文件,否则影响文件的一致性,导致克隆动作操作无法操作。使用UF_CLONE_initialise进行初始化克隆函数,定义其行为为克隆,定义文件名的前缀方式或者后缀方式及目标文件路径,克隆必须要求其目标文件名和原始文件名不一样,定义前缀或者后缀的方式给予了整个系统一个普遍性更改名称的方法。通过UF_CLONE_add_assemble可以将整个装配件添加到操作中去,使用此函数后其装配子文件原型无需再一一添加。利用子文件的文件名查询图纸或者加工等关联文件,使用UF_CLONE_add_part添加关联文件到克隆操作中去。为了设置用户所需要的更改文件名,使用函数UF_CLONE_set_naming进行修改除了根节点的节点文件名,其图纸或加工等关联文件通过源文件名添加后缀的方式进行单独设置。由UF_CLONE_perform_clone函数开始克隆操作,通过其参数failures可以查询其克隆操作中的错位位置。最终通过Win32的Rename函数将文件名由原先的前缀或者后缀方式更改成我们所需的文件名以完成整个操作。

本设计通过MFC开发出适用于实际应用的菜单栏、工具栏、对话框及用户UG扩展功能软件,增加了一些对文件名过滤和审核操作,极大地提高了UG工程师制图效率和方便性,如图6所示。

UF_initialize初始化克隆设置前缀或者后缀规则UF_CLONE_add_assemblyUF_CLONE_add_part添加装配体和相关文件 检查文件名并单独设置文件名UF_CLONE_set_naming开始克隆 UF_CLONE_perform_clone成功No检查failures错误原因Yes对装配体重命名 图5 程序流程图

图6 效果图

4结论

本文通过对UG软件中主模型复制功能需求分析, 比较分析了Save As方法、

COPYFILE方法和装配克隆方法对主模型关系的影响,得出通过克隆方式进行文件重命名比较方便地保持了装配及图纸等文件与源数据引用关系的结论。通过二次开发函数的调用极大的方便了更名操作,为了方便用户更改文件名操作,在设计GridCtrl控件界面之外,增加了电子表格Excel数据操作接口。整个功能模块用户界面合理,功能明确,对于大型设计文件更改操作具有很好的行业应用价值。

参考文献:

[1]李继豪,崇凯.关于UG软件二次开发的研究[J].机电产品开发与创新,2004.11(6): 41-43 [2]吴家洲、吴波、杨叔子.UG软件的二次开发.精密制造与自动化, 2001.1(1) 29-31 [3]董正卫、田立中、付宜利 .UG/OPEN编程基础[M] .清华大学出版社,2002.129-130 [4]黄翔、李迎光.UG应用开发教程与实例精解.清华大学出版社,2005

COPYFILE方法和装配克隆方法对主模型关系的影响,得出通过克隆方式进行文件重命名比较方便地保持了装配及图纸等文件与源数据引用关系的结论。通过二次开发函数的调用极大的方便了更名操作,为了方便用户更改文件名操作,在设计GridCtrl控件界面之外,增加了电子表格Excel数据操作接口。整个功能模块用户界面合理,功能明确,对于大型设计文件更改操作具有很好的行业应用价值。

参考文献:

[1]李继豪,崇凯.关于UG软件二次开发的研究[J].机电产品开发与创新,2004.11(6): 41-43 [2]吴家洲、吴波、杨叔子.UG软件的二次开发.精密制造与自动化, 2001.1(1) 29-31 [3]董正卫、田立中、付宜利 .UG/OPEN编程基础[M] .清华大学出版社,2002.129-130 [4]黄翔、李迎光.UG应用开发教程与实例精解.清华大学出版社,2005

本文来源:https://www.bwwdw.com/article/izxw.html

Top