云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 对UG的二次开发

对UG的二次开发

  • 62 次阅读
  • 3 次下载
  • 2025/6/3 10:18:24

NET环境下利用UG/NXOpen和UG/Journal对UG的二次开发

唐鑫辉,崔洪斌,刘文学

(河北科技大学,机械电子工程学院,石家庄 050000)

摘要: 分析了UGNX6.0软件提供的二次开发技术及当前常用的开发方法,针对其低效率问题,提出了基于.NET平台通过UG/NXOpen和UG/Journal(日记)的联合应用实现UG的快速参数化设计的方法,并给出了采用此方法实现参数化自动建模的一个实例,验证了此方法的可行性。

关键词:UG;二次开发;.NET;UG/NXOpen;UG/Journal;建模 中文法分类号:TP391.72 文献标识码:A

The Re-development of UG Combined of UG / NXOpen and UG / Journal

Based on .NET Platform

TANG Xin-hui, CUI Hong-bin, LIU Wen-xue

(School of Mechanical & Electronic Engineering,Hebei University of Science & Technology,Shijiazhuang Hebei,China)

Abstract: Analyzed the current technology and methods of re-development of UGNX6.0 software, to realize fast parametric

design, proposed a new method that combined of UG / NXOpen and UG / Journal based on .NET Platform. Finally, by providing an example to demonstrate the feasibility of the method.

Key words: UG, re-development, .NET, UG/NXOpen, UG/Journal, feature modeling

UGNX(Unigraphics NX)是EDS公司出品的一个产品工程解决方案,集成了三维实体复合造型、参数化特征建模、装配建模等众多技术,广泛应用于汽车、飞机、船舶等领域 [1,2]。但由于其作为通用的机械设计与制造平台,专业针对性差,因此根据不同企业不同产品的具体设计需求,进行相应的二次开发显得十分必要。UGNX的二次开发功能非常强大,具备丰富的二次开发工具,且支持多种开发语言的选择。

1. UGNX6.0二次开发方法

目前基于参数化技术的UG二次开发技术有两大类[3,4],一是利用UG提供的参数化功能模块如电子表格、关系表达式、用户自定义特征和知识熔和等进行二次开发。利用此类方法进行二次开发, 存在着能存储的参数种类有限、不是独立存在于UG环境之外、不利于数据库的管理、零件库不开放等缺点,对于系列化的产品,零件种类多、数量大的企业,用此类方法所开发的参数化设计模块是不能满足要求的。

第二类利用UG提供的应用程序接口(包括Open和NXOpen两大系统),结合U IStyler(用户界面设计)和MenuScript(菜单脚本语言)等工具

通过编程实现UG的二次开发,此类方法可以很好的避免第一类方法的缺点。Open又被称为UFUN,支持C、C++语言,目前此类UG的二次开发多基于C语言和UG/Open进行,属于面向过程的设计,开发难度大、效率低,对开发人员的要求比较高;而NXOpen支持.net、C++、Java语言,支持Journal(日记)的自动编程,NXOpen API是建立在Journal层上的应用程序接口,可以实现与.NET的无缝衔接。NXOpen和.Net是完全面向对象的技术,在二次开发中采用此技术必将提高产品开发的灵活性,UG/Journal(日记)做为一种快速开发方法的引入也必将提高产品开发的效率[5~8]。

2. UG基于Journal(日记)的二次开发

UGNX6.0的日记(Journal)功能可以自动记录交互环境下用户的操作,并生成相应的VB.NET、C#、Java或C++代码。此功能类似于Pro/E的Program和Solid-works的宏命令功能,但缺点就是不能记录如较为复杂的曲面特征、阵列特征等操作记录。为减少代码修改时的工作量,在录制操作记录时,应提前认真规划好简洁的建模流程[9];尽量不使用非可录制命令;对于不可避免的Journal不能记录的特征命令,可通过在随后的编程中插入用

邮箱:tangxinhui.student@sina.com;河北省石家庄市河北科技大学裕华区裕翔街26号研究生学院研二二班 ,邮编050000; 电话:0311-81668656;015131195762

户自定义代码实现对应的特征;日记命令生成的代码有很多的冗余,最好再编辑一遍,进行修改和优化。

邮箱:tangxinhui.student@sina.com;河北省石家庄市河北科技大学裕华区裕翔街26号研究生学院研二二班 ,邮编050000; 电话:0311-81668656;015131195762

3.应用实例

以下为采用UG/NXOpen和UG/Journal(日记)联合应用的方法二次开发凸面平焊法兰参数化建模的一个实例。其三维效果图如图1所示。

图1 法兰三维效果图

首先在UGNX6.0建模环境录制一个创建带颈平焊凸面法兰模型的操作记录,创建Winform对话框,进行系统环境设置并开发接口模块,然后在VS2005.NET2005编译环境下修改日记命令,生成dll(动态链接库)文件,拷贝菜单文件及dll文件至相应位置,最终完成法兰的二次开发。

3.1录制操作记录 首先设置日记语言类型,在此以VB.NET的选择为例。首选项→用户界面→操作记录属性页,设置操作记录语言为VB.NET并确定。也可以直接修改用户默认设置(文件→实用工具→用户默认设置)中用户界面上的操作记录属性页。 在UG交互环境下,创建法兰参数化模型。创

建顺序为:新建一个PRT文件,任意命名并进入建模环境;打开日记下的录制(工具→日记→录制),

命名为Journal1.vb。法兰的具体参数见图2 所示。 图2带颈平焊凸面法兰示意图

建模完成后,停止操作记录的录制。

3.2创建Winform对话框

启动VS.NET2005,通过NX6 Open VB Wizard创建项目NX6_Open_VB_Wizard1,根据向导依次选择内部程序模式(dLL方式) →程序加载方式为Automatically (Startup方式),完成项目的初步创建;添加相关引用NXOpen.dll、NXOpen.Utilities.dl、NXOpenUI.dll、NXOpen.UF.dll;根据法兰的参数需要创建名称为“带颈平焊-M”的Winform对话框窗体。对话框如图3所示。

图3 带颈平焊法兰对话框

3.3系统环境设置与接口模块的开发

新建F:\\Ugfalan目录,并在此目录下新建startup

目录;定义系统环境变量UGII_USER_DIR为

F:\\Ugfalan;制作菜单文件falan.men。 接口模块的开发。接口模块用于链接菜单项与对话框,即通过菜单项激活对话框窗口的程序。在NX6_Open_VB_Wizard1项目中通过添加模块→接口,并命名为“接口模块.vb”,其代码如下所示:

Function Startup(ByVal args As String()) As Integer 'UG环境初始化

Dim theSession As Session = Session.GetSession() ? ?

theUI.MenuBarManager.AddMenuAction(\inghan_M\ '菜单注册函数 ? ?

Public Function daijingpinghan_M(ByVal button _ Event As NXOpen.MenuBar.MenuButtonEvent) _ As NXOpen.MenuBar.MenuBarManager. _ CallbackStatus '窗体显示程序 Dim frm As New 带颈平焊_M ? ?

End Function

3.4修改日志文件,生成dll(动态链接库)

拷贝Journal1.vb的源代码至项目的对话框文

件“带颈平焊-M.vb”的Button1_Click(“确定”按钮)函数体内。

根据法兰的构造特点设置相应变量并赋值,在Button1_Click程序段的起始位置添加代码如下: Dim DN As Double '法兰通径 Dim D As Double '法兰外径 ? ?

DN = Val(TextBox1.Text)

D = Val(TextBox2.Text) '变量赋值 ? ?

cylinderBuilder1.Height.RightHandSide = H cylinderBuilder1.Diameter.RightHandSide = D '用变量替换对应的建模实际尺寸。

设置变量的目的在于通过参数变量把用户输入文本框的法兰尺寸传递至运算程序。

日记的操作记录将用户建模时的每一步操作都记录下来(包括视图的缩放、旋转等操作),并且在录制过程中,UG会为每一步操作设置相应的mark变量,这些代码在二次开发中是没有实际意义的,需手动删除,否则将严重影响程序的运算速度。例如如下代码则需删除:

Dim markId1 As Session.UndoMarkId '新建部件时产生的标识

markId1 = theSession.SetUndoMark_ (Session.MarkVisibility.Visible, \workPart.ModelingViews.WorkView.Fit() '适合窗口操作产生的语句

由于Journal(日记)不能记录螺栓孔的阵列特征,须插入NXOpen API类型的自定义代码至相应位置。添加代码如下: Option Strict Off

Imports System '定义命名空间 Imports NXOpen ? ?

Public Class 带颈平焊_M '定义对话框类 ? ?

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' “确定”按钮响应程序段 Dim DN As Double '给“法兰通径”等变量赋值 DN = Val(TextBox1.Text) ? ?

' 以下为添加的实现螺栓孔特征环形阵列的程序段 Dim orig() As Double = {0, 0, 0}'阵列中心点 Dim dir() As Double = {0, 0, 1}'阵列基准轴 Dim num As String = n.ToString'阵列孔数量 Dim ang As String = 360 / n.ToString'阵列角度 Dim feature_list(0) As Tag'阵列孔标识列表

Ufsession.Modl.CreateCircularIset(0, orig, dir, num, ang, nXObject5.tag, feat_object) '阵列孔函数

'nXObject5.tag为建模时由Journal(日记)录制生成 '的螺栓孔对象标识 ? ?

End Sub End Class

修改完毕后,若无语法错误经编译生成dll(动态连接库)文件。将此dll文件和菜单文件falan.men 一并拷贝至F:\\Ugfalan\\startup目录,完成法兰的二次开发。

3.5程序的执行

二次开发完成后,用户在凸面平焊法兰的参数化建模过程中只需通过菜单项选择凸面平焊法兰,在弹出的对话框中输入相应的法兰参数即可实现法兰的快速建模。

4结束语

实践表明,在.NET环境下以NX Open和UG/Journal(日记)相结合进行UG二次开发的方法是可行的,且具有简单、高效、灵活的特性。此方法还可应用于产品装配的二次开发。随着UGNX版本的不断升级,UG的Journal(日记)的功能也必将不断完善,需用户自定义的代码也将不断减少,从而使本方法更加快捷。

参考文献

[1] 张琴.UG相关参数化设计培训教程[M],清华大学出版社,2002,1

[2] 黄勇,张博林,薛运锋.UG二次开发与数据库应用基础与典型范例[M],电子工业出版社,2008,1,

[3] 朱宏宇,任树华..NET的UG二次开发接口技术的研究与应用[J]. 现代制造工程,2008,12:48-51

[4] 刘定伟,薛澄岐.UG二次开发接口技术研究[J].电气技术与自动化,2005(01).

[5] 董正卫,田立中,付宜利.UG/OPEN API编程基础[M].清华大学出版社,2002

[6] UGS公司.NX6 Help Library[CP].2008

[7] 王波.龙门式雕刻机Z向机构参数化设计研究(D).南京理工大学, 2007

[8] 微软公司.Microsoft Visual Studio .NET 2005文档[CP].2006

[9] 唐杰,张祥林.C++在UG二次开发中应用[J] .现代机械,2007,01:80-82

注:我已按照专家的二审意见,对全文进行了详细的编辑,修改内容主要有

1.对文中表达不够明确的几处表达进行了修改,如第三节起始处“采用上述方法二次开发”改为“采用UG/NXOpen和UG/Journal(日记)联合应用的方法”。

2.将不完整的词语进行了完善,如3.4中“nXObject5为建模时?”改为“nXObject5.tag为建模时?” 3.统一了注释的格式,并且按照vb.net的语法要求在换行处添加了换行连接符“_”,如3.3节的代码处。

4.更改和校正了部分标点符号和汉字。

十分感谢编辑和审稿专家的耐心审稿,您提出的修改意见十分中肯,令我受益匪浅!

作者简历

1.唐鑫辉,男,1983年出生,河北科技大学在读硕士,研究方向CAD/CAM 军官证号码:北字第122244 2.崔洪斌,男,1962年出生,教授,硕士生导师,工学硕士,河北省CAD研究会秘书长。 3.刘文学,男,1971年出生,副教授,工学硕士,研究方向CAD/CAM 基金项目 石家庄市科技支撑计划课题,课题编号:09108251A

邮箱:tangxinhui.student@sina.com;

通信地址:河北省石家庄市河北科技大学裕华区裕翔街26号研究生学院研二二班 邮编:050000;

联系电话:0311-81668656;015131195762

搜索更多关于: 对UG的二次开发 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

NET环境下利用UG/NXOpen和UG/Journal对UG的二次开发 唐鑫辉,崔洪斌,刘文学 (河北科技大学,机械电子工程学院,石家庄 050000) 摘要: 分析了UGNX6.0软件提供的二次开发技术及当前常用的开发方法,针对其低效率问题,提出了基于.NET平台通过UG/NXOpen和UG/Journal(日记)的联合应用实现UG的快速参数化设计的方法,并给出了采用此方法实现参数化自动建模的一个实例,验证了此方法的可行性。 关键词:UG;二次开发;.NET;UG/NXOpen;UG/Journal;建模 中文法分类号:TP391.72 文献标识码:A T

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com