电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

UG二次开发范文

来源:莲生三十二作者:开心麻花2025-09-191

UG二次开发范文(精选7篇)

UG二次开发 第1篇

1 UG概述

计算机技术的迅猛发展, CAD技术的发展和应用水平已成为衡量一个国家科技现代化和工业现代化水平的重要标志之一, CAD技术从根本上改变了过去手工绘图、发图、凭图纸组织生产的管理模式, 为建立一种新型的设计和生产管理体制, 目前市场上供应的各种CADICAM系统大部分从国外引进, 如Computer Vision, Intergraph, CATIA, SDRC/I-DEAS, Unigraphics, Euclid, Pro/Engineer, AU-TOCAD等, 它们一般属于通用支撑软件, Unigraphics (简称UG) 软件起源于美国麦道飞机公司, 当时为了设计和制造F15战斗机, 而形成了UG产品。由于它在计算机辅助设计、计算机辅助制造、计算机辅助工程, 以及产品数据管理上所具有的卓越的性能, 加上它提供CAD/CAM/CAE/PDM集成解决方案, 目前该软件在航天航空、汽车制造、模具加工、通用机械等领域具有很高的知名度, 并受到广泛的应用, 同时UGS还提供编程工具UG/Open API (User Function) 用来进行二次开发。核武器设计、信息集成和自动化加工是我院长期的重要任务之一。我院在加快信息建设的过程中, 不断吸收先进的技术和手段, 并将其应用与我院的军民品生产中。正是在这样的背景下, 我院许多科研实体都引进了这一先进的软件产品 (UGII) , 并集中力量开展这方面的应用研究工作, 这对核武器的研究和民品开发具有深远的意义, 本文所涉及内容为院基金项目“CAPP自动获取数据和知识库技术研究”的部分内容。

2技术需求分析

在历史因素的影响下, CAD等系统都是通过自身的努力, 而实现的发展。CAD等系统都有其自身独立的数据, 而这些数据并不能够实现共享。而这一特点就决定了在对CAPP系统进行使用的过程中, 需要对工艺文件进行有效的生成, 而在工艺文件生成的过程中, 除了要进行非几何信息的输入之外, 还要对CAD几何信息进行必要的重复输入, 这样的数据输入, 使得数据的重复率较高, 而且就当时的系统运行状况而言, 其中人为的干预因素较为严重。在发展之初, 有些CAD软件已经具备了CAD和CAM的所有功能, 并且实现了两者之间数据的有效传输, 使得两者的数据实现了共享, 但是这种共享和数据的连接传输, 在一定程度上还是受到当时认为的控制, 使得这种自由的传输形式与CAPP之间具有严重的脱节问题存在, 用户无法通过CAPP系统来直接对CAD系统所建立的产品零件信息图进行解读。另外, 随着市场经济的发展, UG产品也逐渐呈现出商品化, 而这种被商品化的UG产品, 其本身不再具有相应的CAPP功能, 其不能够在对几何信息类似的文件进行修改, 也就是说, 其本身所具有的几何信息文件已经无法跟上时代发展的脚步, 甚至落后于时代的发展, 在实际的应用中, 已经无法满足其需求, 在获取远程信息的过程中, 过程也将变得十分的繁琐, 这样十分不利于UG的二次开发及其应用。而本文就根据这一问题, 对UG的二次开发和应用技术进行了研究, 希望能够依据UG所生成的实体, 从其中提取出有用的几何信息, 再将这些所获取到的较为先进的几何信息编入到固定的格式文件中, 将这些文件作为CAPP的前级输入接口文件, 从而在打开文件时, 可以同步的进行接口程序的开启, 实现对文件的有效存储和读取。这是当前实现CAD/CAPP/CAM一体化需要迫切解决的问题。为此, 本文采UGII提供的开发工具User Function, UIStyler和C++语言开发了CAD/CAPP/CAM接口程序和用鼠标控制的级联菜单人机界面, 并扩充到了UG的总菜单条中, 以实现UG和CAPP的一体化。本文着重就这一开发过程进行简要的说明。通过建立统一的用户特征模型, 和制定数据交换中性文件, 实现几何数据和非几何信息的一次性输入, 降低了人工重复输入几何数据和非几何数据的工作量, 实现了CAD与CAPP之间的数据共享。

3系统的开发及应用技术

UG属于一种开放式的构架体系, 其可以在各个领域中得到应用, UG的应用使得各个领域中的计算机平台可以进行信息的有效交流, 从而实现海量信息的共享。这种系统在实际的应用中, 可以对市场的变化做出迅速的反应, 能够在设计、开发以及制造的环节中, 顺应市场的变化, 在符合市场要求的基础上, 实现产品生产和设计的有效性。UG是在计算机发展以及CAD技术发展的基础上衍生出来的一种设计规划方案, 这种方案的应用使得产品开发小组的团队凝聚力加强, 从而使得团队的作用得到有效的发挥。就产品设计的角度来看, UG的应用使得产品的设计更加合理, 同时也使得用户和开发上之间可以依据UG平台形成有效的交流和沟通, 另外, UG的应用也可以对图形界面进行定制, 使得图形界面可以符合用户以及开发商的实际需求。而针对UG的二次开发来说, 其主要应用开发工具包括:UG/Open Menu Script;UG/Open UIStyler;User Tool Define。UG的设计者在进行开发的过程中, 创建了一种可以边通话边视频的对话工具, 这一工具的开发使得开发者可以实现面对面的交流, 从而使得UG对话程序的编写变得更加精确。这一工具的开发, 使得对话的内容得到了有效的记录, 从而令对话框形成了一个可读的文件。而这一对话框文件可以自主的相关对话的编码, 使得对话内容可以直接的进行展示, 这样就不足要设计者对图形界面的设计的细节进行全面的了解后, 才可以开始进行界面的设定, 这样就可以有效减少开发所用的时间, 在一定程度上提高了开发工作的效率。除此之外, 在应用UG/Open Menu Script这一开发工具时, 可以实现对已有的UG菜单文件的的编辑。UG使用者可以利用ASCH文件来进行编辑工作。这一工具的应用可以有效编写出标准的UG菜单条程序, 而这一程序的编写主要是执行用户根据C语言的编写要求来对程序进行的编写。采用这一开发工具可以使得执行用户所编写出来的应用程序, 可以按照UG菜单条的格式, 也就是UIStyler, 顺利的镶嵌到UG主菜单中, 不仅存在于下拉式菜单中, 而且也存在于弹出式菜单中, 真正实现开发应用程序与UG软件的融合, 从而形成一个相对较为完整的系统。UG在进行二次开发的过程中, 首先, 要利用UIStyler或者是UG/Function函数来形成一个界面, 形成的这一界面属于程序模板框架界面接口文件, 文件的格式为“*, dlg”等。在形成程序框架文件之后, 就可以进行“*, men”文件的编写。其次, 在基础文件完成编写之后, 就需要进行VC++的启动, 通过启动VC++在文件上监理一个向导工程, 这一向导工程的创建需要根据UG/OPEN应用程序的要求, 在满足UG/OPEN应用程序需求的基础上, 才能够进行新向导的创建。在对源程序进行重新编辑时, 需要模板中原有的文件进行彻底的清除, 严禁留下任何的源文件的残余。在清理完成之后, 在源程序中编入C++程序, 值得注意的是, 这一程序一定要与“*, men”文件具有一定的相关性, 在这一文件对话框的基础上进行C++程序的编入, 从而产生新的文件。用户可以利用新编写的文件, 将自己开发的各种程序功能模块通过子函数的编写, 嵌入到新文件中, 在新文件中选择合适的位置来进行功能模块的安置, 从而可以使这些新开发的功能模块可以发挥出原有功能模块的作用, 同时也能够发挥出新的作用。再次, 利用C++编译器, 形成新的文件, 文件格式为“*, dll”。最后, 在UG的启动路径上以及用户的路径中需要进行新文件夹的创建, 而在两路径中所创建的新文件夹分别为“startup”、“application”。在这两个新的文件夹创建的完成之后, 可以将“*, dll”文件以及“*, dlg”文件放入到“startuo”文件夹中, 而在文件夹“application”可以放入“*, men”文件, 这样可以使得相应的路径被设定, 从而使得相关的环境变量被改变, 形成固定的路径, 在进行UG的相关功能启动时, 可以将功能自动的添加到相应的UG主界面上, 从而使得功能的发挥更加的彻底和有效。UG在进行二次开发时, 接口主程序的连接主要是通过ufsta函数来实现的, 在连接的过程中, 需要利用UF_UIadd_styleractions函数和OF_STYLERee_createes_dialog函数来对主菜单以及子程序的对话框文件进行一定的连接, 而连接的文件为“*, men”, 通过建立对话框文件“*, men”文件来实现相关对话框与相关的菜单条之间的连接, 加强两者之间的联系, 并且要对两者之间的关系进行准确的定位, 将相关的描述记录在文件“AB, men”中。要想在ufsta函数体中实现子下级子程序的有效连接, 就需要利用OF_MB_add_styler_actions函数中的UIStyler系统来生成相应的对话框文件, 此文件为“*, men”, 通过建立的文件可以充分的显示出相关的对话框界面。大体说来, Menu Script文件的书写是以关键字开头, 来表示菜单的内容和结构。本文的“AB, men”文件中定义的一个下拉式菜单, 位于UG菜单条中Help菜单条前一个的位置。将对话框上的的控件与相应回调函数联系起来, 就能实现相应的功能。在源程序中, 每一个控件可以有回调函数。每一个回调函数都必须用UF_initialize () 和UF_terinate () 函数来开头和结尾, 参见回调函数接口程序。应用程序由他们引导进入UG和退出UG主系统。

总而言之, UG的二次开发主要可以归结为以下几点:a.Open Grip, 提供了最简单的解释性语言, 类似于Auto CAD的Lisp, 可以完成绝大多数曲线, 实体CAD操作功能, 生成的文件可以被UI Styler二次开发的菜单.men文件调用, 也可被Open API (C语言) 或者Open C++调用。b.Open API, 也叫Open C, UG的一个C语言函数库, 将相似功能的函数放在同一个.h头文件中, 只要被.c文件#include一下就能使用, 编译后生成dll。c.Open C++, 与Open C类似, 只是函数库为C++类库的形式, 可以用C面向过程或者C++面向对象的方法来编写和调用。但是功能仅局限于CAD。d.UI Styler, 用于二次开发扩展的菜单命令和对话框, 界面, 生成的.men, .dlg可以调用上述二次开发语言编写的可执行代码。e.在此补充的是, 可以使用VB, Java等语言, 通过对UG安装目录下各个.set, .template, .dat, .dlg, .men文件和数据库进行操作来达到上述二次开发工具同样的效果。这也是UG二次开发工具强大之处。

4结论

通过近两年的研究和软件开发工作, 在现有的计算机环境下, 充分利用UGII提供的二次开发T具, 初步实现CAPP应用软件与UG的界面真正无缝的一体。为实现CAD/CAPP/CAM的初步集成奠定了基础。

摘要:UG属于一种产品工程解决方案, UG为产品的设计以及加工的过程提供了数字化的验证手段和造型, 从而实现了功能的提升。UG可以说是计算机辅助设计与计算机辅助制造的交互式系统, 其在实际的应用中具有功能强大的特点, 可以简单的将各种复杂的实体或者是造型进行合理的构建, 就目前来说, 其主要应用于模具行业的三维设计中。同时这种系统也可以用来进行二次开发, 从而实现编程技术的发展。本文就UG的二次开发及其应用技术进行了简要的研究, 仅供参考。

关键词:UG,二次开发,应用技术

参考文献

[1]杨仕富, 刘中琦.工具软件的二次开发探讨[J].工程设计CAD与智能建筑, 2000 (6) .

UG二次开发 第2篇

关键词:UG,二次开发,VC++

很多部件内部的电气关系及信号交联关系复杂,不仅导线数量多,而且所用导线的类型和规格也不统一,部件内部结构空间紧张,为系统的设计带来不便。

UG的UG/ROUING模块下的UG/WIRING电气布线子模块是用于生成电气布线数据的设计工具,为电气布线设计员提供生成电气布线系统虚拟设计的能力。布线过程包括部件之间线路的布线和线路与接头的配合设计。根据电路设计要求,该模块将设计人员提供的电路接线表和元件表导入UG系统,设置线束的空间路径,在装配结构中进行线路布通和进行干涉检查,自动计算线路长度和线束直径,将布线线路中心变为实体线路,最后生成钉板图,以此作为实际布线时的设计依据。但是UG/WIRING提供的操作繁琐复杂,易造成布线工作效率低,布线结果杂乱。为方便设计者更好更快的完成布线工作,对UG电气布线模块进行了二次开发。

1 设计思想

利用UG应用开发工具集UG/OPEN实现系统开发,UG/OPEN中的UG/OPEN API是UG与外部应用程序之间的接口,是UG/OPEN提供的一系列函数和过程的集合,用户可以通过C语言编程来调用这些函数和过程,几乎可以实现UG系统的所有功能[1]。本文使用该工具实现UG自动布线系统的开发,并使新开发的系统和UG实现无缝集成。利用VC++的MFC应用程序框架,设计相关的MFC对话框和系统功能编程,利用Access作为后台数据库,采用MFC ODBC数据库访问技术实现对数据的访问。

2 系统结构

UG自动布线系统包括了UG电气布线模块的几乎全部功能。“启动项目”子菜单负责打开和管理要布线的目标装配件,以及完成元件表和接线表的读取;“生成路径”子菜单负责在元件端口之间手动路径连线和在两元件或定位夹子之间自动路径连线;“生成线束”子菜单则将已生成的路径连线自动生成实体线束,并自动调整定位夹子的尺寸;“工艺检测”子菜单主要用来检测生成的线束与元件或指定部位间是否存在干涉问题;“标准件管理”子菜单用来生成标准电子元件的针脚接口。本系统的主要功能结构如图1所示:

用UG/Menu Script工具进行菜单的设计,以便UG启动时自动加载系统菜单,以执行应用开发程序、User Tools文件和操作系统命令等。本系统自身定义的菜单名称为“自动布线系统”。用于创建UG新菜单的脚本语言通过ACTIONS命令来指定菜单项对应的响应行为。为本系统创建的菜单脚本文件是命名为app.men的文本文件,放置在startup文件夹里。本系统创建的快捷工具条图标如下图2所示:

3 关键技术

3.1 系统开发环境的基本设置

对本系统的开发,首先要建立系统开发根文件夹,路径设为D:buxianrouting_devug_program,在该文件夹下依照UG二次开发的规范建立application、startup和grip子文件夹,用来存放菜单脚本文件、快捷菜单文件、对话框文件和位图文件等。

本系统需要注册Windows系统环境变量。在“我的电脑”-〉“属性”-〉“高级”-〉“环境变量”中修改其系统变量。首先添加或修改“UGII_USER_DIR”,变量名为“UGI-I_USER_DIR”,变量值为“D:buxianrouting_devug_program”;然后添加或修改“UG_INITIAL_MACRO_DIR”,变量名“UG_INITIAL_MACRO_DIR”,变量值为“D:buxianrouting_devug_programapplication”。

3.2 VC++6.0上系统关键功能开发

(1)生成元件和端口之间的路径

打开需要布线的装配部件,进入UG的电子布线模块,按照部件属性与布线需求先手工编辑好元件表和接线表,之后向UG的电子布线模块导入元件表和接线表,利用utd文件读宏命令来实现表的读入。Utd文件的路径确定为:char*tool_name="D:uxianouting_devug_programapplicationimportcmp.utd"。

通过以下函数段得到文件路径和名称:

在布线过程中,需要实现部件之间和不同部件上的端口之间的路径生成,利用UG/Open UIStyler创建对话框进行路径生成的操作。在选择路径两端的接口部件时,部件选择过滤器应设为“部件”,不要选择“soild”之类,否则无法得到部件和端口的相关特性。如果两部件的中间路径复杂,可在必要的位置布置“定位夹子”,然后一段一段顺序分段生成路径即可。在部件之间和端口之间生成路径,即生成一条线束中心线,需要定义生成路径函数来实现。生成路径函数如下:

其中linkpart函数是部件和端口之间连接的执行函数,其参数原型是linkpart(tag_t aobj1,tag_t aobj2,bool breverse1,bool breverse2,tag_t*spline_tag)。

(2)生成实体线束

当一条中心线被定义和连接后,就可以沿着已定义中心线生成实体线束,自动调整定位卡子的尺寸。调整卡子直径之前,需要判断UG是否打开并进入了装配部件的根节点,将布线装配部件设为工作部件,然后利用函数UF_ASSEM_cycle_objs_in_comp(t Occ Root_s,&aobj)循环所有装配件部件,修改卡子尺寸。路径生成线束后,利用函数UF_ROUTE_ask_stock_diameter()得到线束的直径,按照其直径,修改带有端口的卡子的直径。

(3)工艺检测

工艺检测即检测生成线束与元件或指定部位间的干涉情况。工艺检测子对话框如图3。

“参数设定”按钮用来设定间隙参数。当检测干涉时(线路总体干涉与避让体干涉),该按钮用来设置部件与线缆最小间隙值和避让体与线缆最小间隙值。“线路总体干涉”按钮,自动检测所有零部件与连线的干涉情况。在循环检测线路总体干涉时,先要通过循环得到装配件里的全部实体,若检查到装配件内含有线束,则进行干涉检验。检验时要检查部件与线缆的最小间隙,如果零件与线束最小距离小于设定的间隙值则自动弹出对话框显示干涉零件,使用鼠标和键盘改变列表中干涉体,UG界面会高亮显示该干涉零件。“避让体指定”按钮,用来指定实体上的线或者面,通过函数tag_t t Occ Root_s=UF_AS-SEM_ask_root_part_occ(t Prt User Part)实现回到装配体的根节点,来指定避让体。“避让体干涉”按钮则检测已指定好的避让体与线束的距离和干涉。

3.3 系统数据库设计

本系统使用关系式数据库管理系统Access进行表结构设计,命名为routing.mdb。采用MFC ODBC数据库访问技术。系统访问数据库时通过ODBC开放式数据库连接提供的标准接口。ODBC提供了一系列的API函数可以高效的访问任何带有ODBC驱动程序的数据库[2]。当访问数据库时,需要在Windows系统“控制面板”-〉“管理工具”-〉“数据源”-〉“系统DSN”中用ODBC数据源管理器注册routing.mdb数据源。系统利用VC++6.0实现数据库的访问,其连接数据库的代码如下:

3.4 UG布线系统对装配件的应用实例

利用本系统为一个装配部件布通线路,快捷工具栏展开的是布线系统的操作项目。操作按照启动项目->生成路径->生成线束->工艺检测进行。如图4:

4 结语

在UG平台上对电气布线模块进行二次开发,经过使用证明,能够更为合理的利用整个装配件中空间来布设线路,同时能够显著提高布线设计人员的效率和缩短整个工程设计的周期。

参考文献

[1]李如忠.利用UG二次开发功能实现制图参数的快速设置[J].计算机应用,2008,(4):71~72.

[2]吴利霞,王飞.基于UG二次开发的齿轮库设计[J].制造业信息化,2008,(9):147~149.

[3]黄翔,李迎光.UG应用开发教程与实例精解[M].北京:清华大学出版社,2004.

[4]黄勇.UG二次开发与数据库应用基础与典型范例[M].北京:电子工业出版社,2008.

[5]George Shepherd等.深入解析MFC[M].北京:中国电力出版社,2003.

UG二次开发 第3篇

Unigraphics(以下简称UG)是目前流行的CAD/CAE/ CAM一体化高端软件之一,它具有良好的二次开发接口和工具。此外,UG软件还具有良好的开放性,为用户和开发商提供了良好的二次开发环境。用户可以通过对UG软件进行二次开发,设计出自己需要的专用模块[1]。

Visual Studio2010(以下简称VS2010)是微软公司研发的一套基于组件的开发工具构成, 其中还包括了其他一些技术以用于生成功能强大、性能完善的应用程序。其中Visual Basic、Visual C# 以及Visual C++ 都使用相同的集成开发环境(IDE),从而可以进行工具共享,并可以轻松地创建混合语言的解决方案[2]。

目前U G二次开发的手段比较单一, 大多数是基于Visual C++6.0(以下简称VC++6.0)平台的,基于Visual Studio平台的比较少。由于VS2010版本比较新颖,基于VS2010平台的UG二次开发就更少了。本文通过对比VC++6.0和VS2010,综合分析了VS2010在人性化设计、可靠性与稳健性方面的优势。并以其为开发平台, 进行了U G零件的二次开发。

2 VS2010 开发平台的优势

2.1 人性化设计与可视化设计

VC++6.0的集成开发环境比较简陋,不利于实现可视化操作,这些问题给使用者造成了一定的不便。

VS2010做了很多人性化设计,比如改进的错误智能感知支持会在错误下方显示红色的波浪线。以及改善的错误列表窗口,在双击列表中具体的项时可以自动定位到错误的位置。在可视化操作设计方面,VS2010支持Windows 7操作界面,使用者很容易设计出漂亮的界面[3]。

2.2 稳健性与可靠性

VC++6.0经常出现假死现象,编写程序的稳健性和可靠性也比较低。

VS2010在头文件编辑、改变项目设置、配置项目的物理分布、新增控件等方面都做了调整,从而解决了假死问题[4]。并且新增了重新启动管理器,从而增加了在应用程序意外关闭或重新启动的情况下对应用程序的支持, 提高了程序的稳健性和可靠性。

3 摩擦片应用实例

本例是在VS 2010环境下,用C语言对UG NX 6.0软件进行二次开发,开发出“参数化驱动摩擦片设计系统”。用户只需要输入各个参数值, 即可获得相应参数的摩擦片的三维模型。实例开发流程如图1所示。

3.1 环境变量设置

在G : u g _ m e n u目录下新建两个文件夹, 分别为startup和application。

找到环境变量UGII_VEMDOR_DIR,将其制设置为G:ug_menu

3.2 用户菜单设计

利用记事本工具新建menu.men文件,并将它保存到startup文件夹。利用UG/OPEN Menu Script语言建立用户菜单。代码如下:

3.3 零件对话框设计

进入UGUISTYLER界面,利用各种控件制作“参数化驱动摩擦片设计系统”对话框,并注册apply_cb回调函数。对话框设计如图2所示。制作完成后,保存文件 ,将自动生成的mcp.dlg,mcp.h和mcp_template.c文件保存到application文件夹下。

3.4 利用VS2010编写UG/OPEN API程序

UG/OPEN API是一个允许程序访问并改变UG对象模型的程序集,并且封装了近2000个UG操作函数[5]。它是VS2010与UG的接口,通过它可以对UG的图形终端进行操作。具体步骤如下

1. 打开VS2010,新建项目,选择类型为NX6 Open Wizard,并命名为mcp。

2. 分别添加mcp.h和mcp_template.c到该项目的头文件和源文件中去。并打开mcp_template.c文件。将extern void ufsta (char *param, int *retcode, int rlen)的头文件保护语句去掉,即删除 #ifdef.....和 #endif语句。

3. 编写int CHANGE_apply_cb ( int dialog_id, void * client_data,UF_STYLER_item_value_type_p_t callback_data)回调函数。

主要代码如下

4. 选择“生成 - 生成mcp”,编译成功后得到mcp. dll文件。将生成的mcp.dll文件复制到startup文件夹。

3.5 调试运行

打开UG NX6后,点击“摩擦片”,根据需要输入摩擦片的厚度、键槽的数量和尺寸,以及通孔的数量和尺寸等参数。点击“应用”按钮即可得到相应参数的摩擦片三维造型。运行结果如图3所示。

4 结束语

本文通过对比分析VS2010与VC++6.0,总结了VS 2010的优势。并且以VS2010为开发平台,借助UG/ Open API、UG/Open Menuscript等工具,实现了用户菜单的编写、对话框的制作,并最终完成了参数化驱动摩擦片设计系统的建立。实现了利用VS2010进行参数化模型的U G二次开发, 为U G二次开发提供了一种新的方法。

摘要:Visual Studio 2010是集VB、VC#、VC++等为一体的集成开发平台,并且具有操作简便、稳定可靠等特点。目前UG二次开发大多基于VC++6.0平台,基于Visual Studio 2010平台的比较少。文章选用UG/Open API和UG/Open Menu Script语言作为技术支持,利用Visual Studio 2010平台创建NX6 Open Wizard类型项目,编写了程序代码,并经过调试和修改,编译生成了DLL文件,最终完成了UG零件的二次开发,为UG(Unigraphics)二次开发提供了一种新的途径。

UG二次开发 第4篇

随着科技的高速发展,要求人们的工作效率也要不断提高,但在机械设计的过程中,一些常用零件的设计变得很复杂,工作量也越来越大,因此我们需要一种快速、简洁的设计方法来代替过去陈旧的设计方法,来减轻设计负担。

二次开发即借助一定的开发工具,通过编写程序或其他的有效方法实现软件的某些特定功能或使软件的功能更加完善。借助于二次开发,用户可以在某些应用软件中增加自己的某些特定功能,从而大大节省设计时间,提高了工作效率。

在计算机技术飞速发展的今天,各种计算机辅助设计软件应运而生,并且发挥出极为强大的功能。考虑到计算机技术在机械工业领域应用中越来越重要的实际,选择研究课题“UG的二次开发实心阶梯轴的参数CAD设计”。

设计内容是在UG界面设计对话框,使用户能通过输入参数实现阶梯轴的绘制及校核,下面将详细介绍设计过程及程序说明。

1 对话框的制作

在UG界面中打开Application菜单项,进入UIStyler.

在File菜单中选取新建对话框项,此时系统将显示一个Top对话框。如图1所示。

下面将依此对话框为基础,进行添加按钮的操作,过程如下:

(1)在主菜单中点击选中的按钮,将有对应的按钮出现在对话框上。

(2)修改对话框及按钮属性。在Object Browser框中选取操作对象。之后在下面的property sheet dialog框中将显示具体的操作内容。主选项由3项构成:

(a) Attributes项

Dialog Title对话框的名称。

Cue Message提示信息。

Prefix Name提示前缀名称。

Launch Dialog From设置对话框类型:所有类型,回调型,菜单和用户退出型。

Navigation Buttons选中控制按钮项目并设置灵敏度。

(b) Seletion项

选中Enable Selection后,在选择类型中选择一项Robust(旋转型)。当有零件被激活时将有旋转型的选择球出现。

(c) Callbacks项

设置回调函数。

(3)保存对话框文件。

在文件中选择保存后将有3个文件生成:对话框文件*.dlg程序文件*.c和头文件*.h。本次设计的对话框如下:

2 程序编制及功能

(1)模板C程序与VC++环境的连接

(a) VC++环境的设置

进入VC++后,首先在新建文件中选择UG/Open AppWizard项,键入工程位置及名称,确定后,选择标C程序,生成C程序模板文件。

修改工程设置如下:

(2)程序结构及说明

3 菜单文件的定制

通过修改标准菜单文件,可以方便地定制用户自定的简单菜单文件。下面以本次设计使用的*.MEN文件为例说明其结构与用法。例程序如下。

4 程序连接及运行

(1)运行程序。

将以上程序调试成功以后,将生成一个*.dll的文件。

(2)建立一个主目录,例如E:user_program

主目录下建立二个子目录,分别是application, startup, udo

(3)将*.dlg文件放于application目录中。

将*.dll和ufstyler_sample.men文件置于startup目录中。

(4)用记事本打开UGII/MENU/CUSTOM_DIRS.DAT文件,添加你的目录。例如E:user_program,此时重新启动UG即可出现你添加的对话框并能实现它的功能。

5 结束语

借助于VisualC++和UG软件提供的二次开发工具UG Open,通过定制菜单和编制程序在UG软件中添加用户自定义的菜单项,用户借助于该工具通过输入基本数据就可以方便地实现阶梯轴的设计、绘制与校核工作,从而简化了轴的设计过程,提高了工作效率。

参考文献

[1]张维纪.金属切削原理及刀具[M].杭州:浙江大学出版社, 2002.

[2]郑友益, 徐云龙.成形车刀的计算机辅助设计[J].精密制造与自动化, 2002 (4) .

[3]张鹏.棱体成形车刀的三维参数化设计[J].工具技术, 2003 (6) .

UG二次开发 第5篇

在虚拟装配过程中,存在着隐性干涉等设计问题,虽然一般的商业化CAD软件Solid edge、Pro/E、UG、Catia等都带有干涉检验模块,但专业性较差,在干涉检验时仅显示发生干涉的零件名称和干涉体积,当干涉众多时会显得混乱,装配部件数量大时则不易找到干涉部位,导致设计人员不能快速发现干涉的具体情况。为了提高干涉检验的效率和质量,改进产品设计装配时的不足,本文对虚拟装配干涉检验做了一定的研究。

1 UG中的虚拟装配与干涉检验

1.1 UG中的虚拟装配

UG中提供了两种装配方法,一种是自底向上的装配方法,指将全部设计好的装配组件添加到装配中并设置约束。另一种是自顶向下的装配方法,这是一种全新的装配方法,主要是基于有些模型需根据实际情况来判断装配件的位置和形状,也就是说只能通过装配完毕的组件来定位其形状位置。这种装配方法有两种装配方式,一种是首先在装配体中建立一个几何对象,然后建立一个新的组件,同时将该集合模型链接到新组件中,从而达到自顶向下的装配效果;另一种装配方式是首先在装配体中产生一个新的组件(该组件不包括任何几何对象),使其成为工作组件,并在其中建立几何模型,从而达到自顶向下的装配效果。通常需要干涉检验的装配体都是按自底向上的装配方式装配的。

1.2 UG中的干涉检验

在UG中,干涉检验包括动态干涉检验和静态干涉检验。静态干涉检验主要对各个零部件的位置关系、公差配合等因素进行判断;而动态干涉检验是在装配部件运动时分析其运动部件在运动空间上是否有干涉的存在。通常所说的干涉检验是指静态干涉检验,在UG中静态干涉检验就是对部件间的间隙进行检查,在检查时用户可自定义一个间隙大小。干涉的类型可以分为不干涉、接触干涉、硬干涉、软干涉和包容干涉。其中不干涉(No Interference)是指2个对象间的距离大于间隙区域;接触干涉(Touch interference)是指两个对象相互接触但是没有干涉,这时UG干涉系统会给出一个表示接触干涉的点;硬干涉(Hard interference)指两个对象相交,有公共的部分,但没有完全重合,这时系统会建立一个干涉实体,可以选择以高亮形式表示;软干涉(Soft interference)是指最小距离小于间隙区域,但不接触,这时系统建立表示最小距离的一条线;包容干涉(Containment interference)指一个实体被完全包容在另一个实体之内,这时系统建立表示干涉被包容实体的拷贝。

以UG5.0为例,在进行干涉检验时首先打开要检查的干涉组件,然后选择文件打开,选择一个装配好的文件(.asm)双击,之后就会看到打开的装配文件,这时选择分析选项卡中的简单干涉即可对任意两个部件的干涉情况进行检查。在选择要检查的干涉部件时需要在装配区域单击选择要检查的部件,确定之前在干涉结果选项卡处可以选择检查出的干涉的表现形式,图1为UG间隙分析界面。这里的干涉表现形式有两种,一种是干涉体,一种是高亮显示的面对,选择好之后单击确定即可看到检查结果。这种检查方式简单易行,可是只能对两个零部件或者两个solid进行干涉分析,并且在选择要检查的部件时只能选择可见部件,这样在部件多时很不方便,一般只在少数情况下使用。

图1 UG间隙分析界面

若要进行全局干涉及多部件间的干涉分析则要选择装配间隙选项,装配间隙选项可以在装配菜单和分析选项卡中找到。在执行间隙分析时可以在间隙集中对间隙检查进行具体设置,若要对装配体进行全局干涉检验则要在基本选项卡中选择一个列表选项,这样在干涉检验时系统将对装配体中所有的部件进行间隙检查,当间隙小于默认值(默认值为0)或小于设定值时则确认部件间的干涉为硬干涉,这时需要对装配部件进行修改或者修改装配关系,其他干涉类型则视具体情况而定;若要对多个部件进行干涉检验则要在基本选项卡中选择两个列表选项,然后在两个列表中选择相互要检查的对象。间隙分析结束后系统会自动生成检查报告,间隙分析如图2所示。

图2 间隙分析

2 对干涉检验系统的二次开发

2.1 系统总体设计

通过对UG中装配和干涉检验系统的介绍可知,虽然UG中提供了可以供用户使用的干涉检验模块,可是在检查时存在一定的不足之处,如在选择检查部件时无法选择装配体内部部件、干涉结果中干涉体的体积无法计算等。为了解决这些弊端,本文利用二次开发技术对干涉检验模块进行二次开发,总体设计思路是依靠UG/Open开发工具结合VC设计菜单、窗口信息、UI对话框,编写回调函数,生成可执行的.dll连接并利用Visual C++编写体积计算函数,通过UG与C++的接口技术返回计算结果。

2.2 自定义菜单及UI对话框的设计

自定义的菜单制作要用到UG/Open中的Menuscript开发工具,首先在计算机中定义环境变量,在“我的电脑”上单击鼠标右键,选择属性命令,切换到高级选项卡,单击环境变量注册环境变量,变量名为UGⅡ_USER_DIR,变量值为C:ug_menu,单击确定保存;然后在相应变量值下创建startup和application两个文件夹,在startup文件夹中编写菜单文件函数并保存为.men格式。所编写的函数代码如下:

VERSION 120

EDIT UG_GATEWAY_MAIN_MENUBAR

BEFORE UG_HELP

CASCADE_BUTTON menu_name_1

LABEL 干涉检验开发

END_OF_BEFORE

MENU menu_name_1

BUTTON menu_name_21

LABEL测试开始

ACTIONS ceshi.dlg

END_OF_BEFORE

MENU menu_name_1

BUTTON menu_name_21

LABEL 间隙分析

ACTIONS jianxifenxi.dlg

END_OF_MENU

编辑好的菜单界面如图3所示。菜单编辑好之后要设置菜单连接,具体步骤如下:①选择要设置的菜单;②进入ufsta程序入口;③通过status=UF_MB_add-actions(actionTable)函数注册actionTable中包含的函数,并对其相应函数进行调用。其中actionTable是UF_MB_action_t数据类型。这样既可以把菜单ACTIONS后面的名称与自己编制的程序对应起来,又可以通过执行自定义的函数判断是否调用对话框。

图3 菜单界面

UI(User Interface)对话框的设计可以使用UG/Open UIStyler模块,它是UG/Open应用程序开发独立于硬件平台的交互界面的工具;之后采用UG/Open API开发工具,提供UG软件直接编程接口来实现系统功能。可是这种做法的界面不直观,利用VC的MFC开发更容易布局和修改、调试。可先按设计布局编写对话框资源文件,保存在ug_menu_testapplication目录下,然后编写相应的控制程序。创建UI对话框必须依次完成以下操作:读取资源文件并调入内存;定义UI对话框控件行为函数;将UI对话框显示并激活,接受用户交换,释放内存。UI对话框部分C源程序如下:

// CInterferenceCheckDlg message handlers

BOOL CInterferenceCheckDlg::OnInitDialog()

{CDialog::OnInitDialog();// TODO: Add extra initialization here

m_infoShow.InsertColumn(0, "序号", LVCFMT_LEFT60);

m_infoShow.InsertColumn(1, "菜单1部件",LVCFMT_LEFT, 100);

m_infoShow.InsertColumn(2, "菜单2部件", LVCFMT_LEFT, 100);

m_infoShow.InsertColumn(3, "干涉体积", LVCFMT_LEFT, 100);}

void CInterferenceCheckDlg::OnOK()

{// TODO: Add extra validation here

UpdateData(TRUE);

m_infoShow.DeleteAllItems();

int index = m_computeType.GetCurSel();

if (index == -1)

{AfxMessageBox("选择计算类型!");

Return;}

设计好对话框之后,用Visual C++编译系统程序。首先把ugopen.hlp及ugopen.awx两个文件复制到C++的安装目录,之后启动Visual C++,在创建工程时选择Unigraphics NX AppWizard V1,projectname的名称是ganshe,Location是C:gansheganshe,最后单击Finish按钮完成工程创建。接下来在程序框架中删除ganshe.cpp和ganshe.h头文件,并将ganshe_dialog.cpp和ganshe_dialog.h添加到工程当中,在工程项目中双击ganshe_dialog.cpp对其进行编辑。由于篇幅限制本处不再提供程序代码,程序运行结果如图4所示。

图4 程序运行结果

3 结语

计算机技术和信息技术在制造业的作用显得越来越重要,对工程应用软件实施不同程度的二次开发已经成为提高设计效率的重要手段。本文提出对UG软件进行的二次开发的研究可以使UG的功能更专业,使用更方便。

摘要:为了缩短产品设计周期、有效提高UG(Un igraph ics NX)平台的使用效率,介绍了一种利用UG的二次开发技术与V isual C++相结合实现在UG虚拟装配模块中提高干涉检验效率的方法。

关键词:UG,二次开发,干涉检验

参考文献

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

[2]吴丽霞.基于UG的齿轮参数化设计及运动仿真分析研究[D].北京:北京邮电大学,2009:32-39.

[3]胡晓康.UG运动分析培训教程/Un igraph ics应用指导系列丛书[M].北京:清华大学出版社,2002.

[4]张右军,王世杰.UG CAD/CAM基础教程/CAD/CAM模具设计与制造指导丛书[M].北京:清华大学出版社,2006.

[5]黄翔,李迎光.数控编程理论、技术与应用[M].北京:清华大学出版社,2006.

[6]夏天,吴立军.UG二次开发技术基础[M].北京:电子工业出版社,2005.

UG二次开发 第6篇

关键词:铣刀刀柄,UG二次开发,参数化设计

UG作为当今世界上最先进的CAD/CAM/CAE高端软件平台之一,其参数化建模及设计能力已被社会所认可,但是往往对一些更加专业的、更为具体的问题捉襟见肘,以至于其利用率不高,往往停留在操作层面,浪费了很多人力和物力,因此其二次开发技术也越来越受到大部分企业的重视。同时,铣刀刀柄作为一种在加工中使用频繁的部件(刀柄个数通常为道具的2~3倍),由于在结构上都是大同小异,并且在实际加工过程中使用最频繁的是锥度为7∶24的锥面刀柄,故可以快速建立锥面刀柄模型,并进行小范围适度修改,以确定实际需要的刀柄模型,从而提高建模效率。本文介绍的一种铣刀刀柄的参数化设计方法,可以实现锥形铣刀刀柄的的快速建模,帮助设计人员节省工作时间。

1 本系统总体设计方案

本系统主要利用UG/Open二次开发模块中的UG/Open UIStyler、UG/Open API、UG/Open Grip及Visual C++对UG建模平台进行二次开发,实现对铣刀刀柄的参数化设计。具体实施过程是:首先确定建立不同类型铣刀刀柄模型的几何参数,并在UG平台上通过拉伸、草绘等操作建立三维模型,用UG/Open UIStyler创建用户界面,其控制是由UG/Open API完成的,之后利用Visual C++建立应用程序框架并利用UG/Open Grip编写参数化建模程序,进行综合利用,把UG/Open UIStyler建立的用户界面数据传给UG/Open Grip,更新刀柄三维模型表达式。这样就能在短时间内完成参数化设计了。

2 刀柄几何参数

通过对系统功能的分析,应选择通用性好的建模参数,故对锥面刀柄建模的参数确定为:刀柄直径D4,底部半径R1,刀柄长度L,刀柄顶部直径D1、D2、D3,锥角B(原始模型创建时锥角为8°17′50″);若要对直柄刀柄进行设计,则选择参数的锥角为0°,其他参数与锥角刀柄相同。参数图如图2所示。

3 对UG平台的二次开发

3.1 UG二次开发工具

UG/Open二次开发模块为UG软件的二次开发工具集,用来进行UG的二次开发工作,利用该模块用户可对UG系统进行用户化剪裁和开发,满足用户的开发需求。UG/Open包括以下五个个部分:UG/Open Menuscript开发工具,它可以对UG软件操作界面进行用户化开发,无须编程即可对UG标准菜单进行添加、重组、剪裁或在UG软件中集成用户自己开发的软件功能;UG/Open UIStyle则可以用来创建人机交互界面,利用该工具,用户可为UG/Open应用程序开发独立于硬件平台的交互界面;UG/Open API开发工具,提供UG软件直接编程接口,支持C、C++、Fortran和Java等主要高级语言;UG/Open GRIP开发工具是一个类似APT的UG内部开发语言,利用该工具用户可生成NC自动化或自动建模等用户的特殊应用。

本文通过创建嵌套于UG的用户菜单,通过UG/Open UIStyler创建人机交互界面,方便工作人员输入加工相关数据,并利用VISUAL C++程序调用数据库文件自动选刀具几何数据。

3.2 自定义菜单的创建

自定义菜单的创建需要用到UG/Open Menuscript开发工具,首先要在计算机中定义环境变量。在“我的电脑”上单击鼠标右键选择属性命令切换到高级选项卡单击环境变量注册环境变量,变量名为UGⅡ_USER_DIR,变量值为C:ug_menu,单击确定保存。然后在相应变量值下创建startup和application两个文件夹,在startup文件夹中编写菜单文件函数并保存为.men格式。以下为所编写的函数代码:

接下来要在菜单中定义ACTIONS调用的应用程序,主要过程如下:(1)选择菜单;(2)进入ufsta程序入口;(3)通过status=UF_MB_add-actions(actionTable)对actionTable中包含的函数进行注册,并调用相应函数。其中actionTable是UF_MB_action_t数据类型,定义格式如下:

3.3 设计UI对话框

创建用户界面需要用到UG/Open UIStyler模块,启动UG后选择开始所有应用程序用户界面样式编辑器,就可以对对话框进行编辑了。创建好对话框之后,需要设置对话框的回调函数,UG提供了6种基本的回调函数,包括Apply、Back、Cancel、Constructor、Destructor和OK回调函数。在设置回调函数时,选择资源编辑器中的回叫选项卡并对相应函数进行设置即可,设计好的对话框如图4、5所示。

设计好对话框之后,要用Visual C++建立程序框架,首先把ugopen.hlp及ugopen.awx两个文件复制到Visual C++目录,启动Visual C++,在创建工程时选择Unigraphics NX AppWizard V1,projectname的名称是daobing,Location是C:daobingdaobing,最后单击Finish按钮完成工程创建。接下来在程序框架中删除daobing.cpp和daobing.h头文件,并将daobing_dialog.cpp和daobing_dialog.h添加到工程当中,在工程项目中双击daobing_dialog.cpp对其进行编辑,然后对daobing_dialog.h编辑相应的回调函数。其部分程序代码如下:

编辑好之后,选择“Project”-“Setting”命令,在“Link”选项卡中添加“libufun.lib”和“libugopenint.lib”,再选择“Tool”-“Option”命令,在“Directaries”选项卡中添加API函数库所在路径:C:Program FilesUGSNX 5.0UGOPEN,最后将编译好的daobing.dll复制到C:daobingstartup下。

4 运行实例

启动UG,选择参数化设计,输入相应参数,获得运行示例如图7、8所示。

5 结语

通过实例证明本方法简单有效,有一定的通用性,确实并可以降低工作量,提高工作效率,节省建模时间,提升企业竞争力。

参考文献

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

[2]王先逵.计算机辅助设计与制造[M].北京:清华大学出版社,1999.

[3]张霞,杨岳.数控加工仿真中刀具数据库的设计与实现[J].计算机与现代化,2009(7):139-141.

[4]张宝忠.现代机械制造技术基础实训教程[M].北京:清华大学出版社,2004.

[5]黄翔,李迎光.数控编程理论、技术与应用[M].北京:清华大学出版社,2006.

[6]夏天,吴立军.UG二次开发技术基础[M].北京:电子工业出版社,2005.

[7]阳刚.CAD系统中的参数化设计技术[J].CAD/CAM与制造业信息化,2009(1~2):38-40.

UG二次开发 第7篇

自从2011年以来, 政府刺激内需政策效应的逐渐显现, 以及国际经济形势的好转, LED聚光透镜下游行业进入新一轮景气周期。随着LED聚光透镜市场需求的膨胀, LED聚光透镜行业的销售回升明显。同时, 在国家“十二五”规划和产业结构调整的大方针下, LED聚光透镜面临巨大的市场机遇。LED二次配光透镜的结构设计自然占据着举足轻重的位置。

2 LED透镜设计的基本思路分析

LED二次配光透镜的结构可以简单分成光学结构和安装结构两大部分。光学结构主要包括入射面、出射面、反射面。光学设计经过多次的测试和模拟获得LED二次配光透镜的光学面, 并以数据点的形式输出。结构设计就是将一系列的数据点以产品的形式输出。由面转化为体是很容易实现的, 而面正是一个个的点的集合。因而, 点-面-体便是光学面的输出的基本思路。

图1是一款4322.8-727的多鳞片透镜。该透镜的入射面是一个球面的复眼面, 反射面为727的多层鳞片面, 鳞片面是自由曲面, 出射面是圆弧镜面。现在以这款透镜为例来介绍二次配光透镜的产品结构设计。

3 多鳞片透镜的结构设计

3.1 光学输出点生成自由曲面的设计

(1) 鳞片的输出。光学设计对参数不断的调整, 经过反复测试, 在满足光型和效率的前提下, 最终获得一个满意的光学表面。光学鳞片面是典型的自由曲面, 只能以点的形式输出, 如图2 (a) 。入射孔和出射孔的面型以体的形式输出, 如图2 (b) 。

鳞片是自由曲面, 直接绘制是难以实现的。要将些数据点转化成鳞片, 可以运行UG特有的点阵功能。在开始菜单的程序中找到NX工具中的NX OPEN GRIP命令。更改盘符和文件名字, 运行鳞片程序, 修改输出文件名字为“linpian”。返回到UG中, 使用快捷命令ctrl+G, 弹出参数输入对话框, 提示输入x、y的最大值、最小值、步距。x, y值表示输出点的有效范围, 有效范围过大容易使光点数据出错, 有效范围过小则得不到鳞片需要的长度和宽度。所以在x、y的值应根据光学口径、光学高度、鳞片环数和每环鳞片瓣数来估算, 确保输出的面大于需要的范围, 而又不会使得曲面变形。该透镜是4322.8-727的, 光学口径是37mm, 光学高度是20mm, , 每环有27片鳞片, 共有7环鳞片。由此可以估算出x的有效范围应该大于最大光学口的周长与每环鳞片数目的商值, y的有效范围应该大于光学高度与鳞片环数的商值。所以x取3, y取2。参数步距表示输出点与点之间的间距, 步距太小会使运算缓慢;步距太大会使面的精度降低。步距取值0.1较为合适。运行"通过点"命令, 运行“linpian”文件, 生成单个鳞片。按鳞片点输出要求向Z轴偏移17.83667, 再向Y轴偏移17.3, 然后沿Z轴旋转180°。便可以得到图3 (a) 的单个鳞片。用同样的方法生成其他几环的鳞片。

(2) 复眼的输出。复眼是由多个正六边形的球面或者非球面相接而成。复眼的输出和鳞片的输出有异曲同工之妙。光学设计给出复眼外接圆直径D、球面半径系数K、非球系数C、平移距离Z等复眼参数。这款透镜的复眼参数是D=1.8mm、K=4.8、C=0、Z=9.7mm。和鳞片输出一样, 先运行NX OPEN GRIP命令, 更改盘符和文件名字, 运行复眼命令, 修改输出文件名字为fu yan。返回到UG中, 使用快捷命令ctrl+G, 弹出参数输入对话框。按要求输入参数K、C。提示输入x、y值, 确定复眼的有效范围。x、y的最大值一定要大于复眼的外接圆半径。通过点命令输出一个复眼面, 用拉伸命令拉伸一个外接圆直径为1.8mm的正六边形片体, 如图3 (e) 。用拉伸出的六边形片体将复眼体修剪成一个正六边形, 再将其镜像、阵列, 重复镜像、阵列, 将其缝合, 如图3 (f) 。再按要求将其向+Z方向移动9.7mm。

3.2 光学单个面生成体的设计

鳞片输出后, 相互间会有很多相交部分, 运用修剪片体命令, 将片体多余部分修剪掉, 然后缝合成一个整面。该透镜是727的, 就将片体裁剪成360/27°, 如图3 (b) 。运用实例几何命令, 选择旋转, 旋转轴选为Z轴, 旋转中心设为原点, 角度输入360/27°, 副本为26, 点击确定生成鳞片的圆周面。再将其缝合, 变成了一个整体的鳞片面如图3 (c) 。按照光学口径和高度拉伸出一个体, 运用剪切命令, 用鳞片面将拉伸体修剪成如图3 (d) 。导入光学给出的反射面体, 使其与生成的鳞片修剪体布尔求交, 得到透镜的反射面和出射面的圆弧。然后运用布尔求差, 工具体选择出射面孔体, 可得到透镜的出射面的孔面。运用生成的复眼面将入射孔体修剪, 得到图3 (g) 的体, 然后与其布尔求差, 可以贴附好复眼, 完成透镜的主要光学面输出。

3.3 安装结构的设计

光学透镜不仅是一个功能性产品, 更是一个装饰性产品。因此, 对安装结构提出了更高的要求。安装结构的设计应从以下三个方面考虑: (1) 符合装配要求, 充分考虑在整个安装过程中与其他零部件的装配关系。 (2) 尽量保护光学面, 以免影响光学效果。 (3) 结构的设计应该有利于模具成型。该透镜最大直径为43mm, 属于相对较小的透镜尺寸, 有足够的空间设计安装结构。装配后, 透镜的出射面和安装结构平齐, 视觉上会更显高档, 因此设计了翻边式安装边。在透镜的入射面位置, 光源需要过线, 需要设计出光源线的焊点逼空位置。逼空位置会去掉部分光学面, 影响光学效果, 尽量不要设计过大。故采用拉伸、布尔求差命令, 切出对称的两个夹角40°、深1.5mm的逼空切口。产品壁厚较大且不均匀, 成型时收缩较大, 包紧力大, 为了保证顺利脱模, 在安装圈部分设计了3°的拔模斜度。产品结构只有在安装边位置可以设置浇口, 而安装边是一个圆弧边, 浇口很不容易去除, 且去除后浇口痕迹很可能出现安装干涉, 故在安装边上拉深布尔求差了一个0.3mm左右的进浇位置。

4 多鳞片透镜结构设计中的常见问题

透镜的设计过程中常常遇到很多问题, 归纳如下:

(1) 面的修剪和缝合。在大角度的透镜设计中, 光学点输出生成的鳞片常常会有交不到或者有多处相交, 直接修剪鳞片是不能实现的。可以利用偏移基准面的方法来解决这个问题。根据每个鳞片相交点的坐标位置创建基准面, 分别将各个鳞片修剪, 然后再缝合。遇到修剪好鳞片片体仍然不能缝合的情况, 可以设置较大的缝合公差来解决。也有缝合好的鳞片阵列后无法修剪体, 大多是鳞片的总高和宽度不足引起的, 可以采用延伸命令将鳞片延伸来解决。

(2) 复眼面的生成。获取复眼面有以下几种情况: (a) 输出单个复眼后, 利用镜像和阵列命令获得复眼面是常用的方法。可以先镜像一个面, 将镜像面绕Z轴旋转, 旋转角度选为60°, 副本数目为5, 就可以获得出母体外的一环复眼。生成第二环的时候, 先选2个复眼镜像, 然后再阵列5个副本。同样的道理, 每增加一环就多选一个复眼, 这样可以很轻松地做出复眼面。 (b) 如果光学输出数据中, 复眼没有c值, 表示复眼就是球面, 可以采用上述方法阵列球的方法得到复眼面3, 遇到要求在球面上贴附复眼的情况, 上述方法也是有效的, 只需要创建一个过球心和鳞片一边的面作为镜像面, 阵列的中心也要选择球心便可以实现。

(3) 透镜的检查。透镜的检查工作中, 以下5个方面是需要特别注意的: (a) 检查是否存在最薄边不利于成型。尽量保证透镜不存在小于1mm的薄壁。 (b) 检查出射面是否存在台阶。有台阶存在影响产品外观, 可以调整求差的先后顺序来避免台阶。 (c) 检查透镜复眼的正反方向。 (d) 检查安装边和鳞片位置的间距, 不要出现过窄的间距。 (e) 检查是否设计拔模斜度, 降低粘模风险。检查斜度的方向, 以便得到最优的模具分型面。

5 结语

UG二次开发范文

UG二次开发范文(精选7篇)UG二次开发 第1篇1 UG概述计算机技术的迅猛发展, CAD技术的发展和应用水平已成为衡量一个国家科技现代化和工...
点击下载文档文档内容为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部