维普资讯 http://www.cqvip.com 第17卷第2期 2oo3年3月 山东理工大学学报(自然科学版) Vlo1.17 No.2 Mar.2oo3 Journal of Shandong Univertisy of Technology(Sci&Tech) 文章编号:1007一l857(2o03)02—0062—04 基于UG的二维视图向三维实体转换的快捷方法 王翠萍,张鲁邹 (山东理工大学交通与车辆工程学院,山东淄博255049) 摘 要:通过简单实体、复杂实体和简单曲面三种情况,介绍了在UG环境下将工业产品的二 维视图快速转换为三维实体的转换方法,并就转换中的坐标变换问题进行了阐述. 关键词:二维视图;三维实体;UG 中图分类号:TP391 文献标识码:A UG-based Method for Converting 2-Dimensional Engineering Drawing to 3-Dimensional Entity WANG Cui—ping.ZHANG Lu—ZOU (Schod of Transport and Vehicle Enganeering,Shandong University of Technology,Zibo 255049,China) Abstract:This paper provides methods for converting 2-dimensional engineering drawing to 3-dimensional entity under UG envionmentr in the case of simple entity,complex entity and simple sudace and discusses the problem of coordinate transform. Key words:2-dimensional engineering drawing;3-dimensional entity;UG 当前各工业产品生产厂家之间竞争日益加剧,在产品基本功能相似的情况下,产品造型在竞争中起 到不可忽视的作用.为了将一个产品的设计构思能快速转化为实际产品,所采用的设计方法和设计软 件至关重要.设计软件有很多种,特别是直接对产品进行三维设计的软件,如P∞厄,UG等…1,产品的 设计周期在不断的缩短.然而,现在仍有很多产品设计师习惯于对产品进行二维设计.为了能看到这 些二维视图的立体效果,还需要有一种将二维三视图转换为三维立体图的软件,但到目前为止,仍没有 实现这种功能的软件.现在流行的UG软件具有强大的实体建模功能和二次开发能力,为此我们使用 UG开发工具UG/OPEN GRIP对UG进行了二次开发,在UG上添加模块,利用UG中的EDA(实体 数据存取),通过在三视图上选取点和线来获取相关数据,将平面坐标变换为空间坐标,调用实体生成指 令生成三维立体图,实现了二维视图向三维实体的转换功能. 工作坐标系的坐标变换 通过UG转换器(translator)选择相应的文件类型,可以将其他绘图软件生成的二维工程图导入到 UG环境中.在导入过程中要注意前后的单位统一问题,本文中约定所有视图的单位均为毫米(mm). 导入后的三视图显示在工作平面上,要实现二维视图向三维实体的转换,必然存在坐标的变换问 题,即将工作平面上的二维坐标变换为空间三维坐标.但因为工作平面上只有一个工作坐标系原点 收稿日期:2002.12.03 作者简介:王翠萍(1977.),女,硕士研究生 维普资讯 http://www.cqvip.com 第2期 ’ 王翠萍,等:基于UG的二维视图向三维实体转换的快捷方法 63 (WCS origin),在工作平面上所获取的任何点的坐标都是相对于此原点,因而我们无法获得实体在空间 的绝对坐标.在此我们采用参考坐标系,虽然还是不能求得实体在空间的绝对坐标,但可以保证在同一 图纸上所描述的实体特征的相对空间位置保持不变,从而实现二维向三维转换过程中的特征自动定位. 在转换过程中,我们将平面三视图和生成的空间立体图置于同一工作平面上,使立体图偏离三视图一定 距离(根据具体图形尺寸而定).由于空间立体图与平面三视图共用同一个工作平面和坐标原点,转换 过程中坐标系的任何变动都会影响到从三视图上所获得的实体信息失真(使特征之间失去对应关系), 因而。在整个实体生成过程中始终保持坐标系不变. 二维三视图导入UG中的情况大致如图1所示,在三视图中选 择对应于空间中同一点的三个点 厂1,ref2,ref3作为参考点,即 它为实体生成时的坐标原点.在转换时利用其中的两个视图即可 确定一个实体的空间坐标_2j.设 厂1,ref?, 厂3分别为空间基准 点ref在主视图,俯视图和左视图上的投影点;P1,P2,P3分别为 空间曲线上任意一点P在主视图,俯视图和左视图上的投影点. (1)利用主视图和俯视图:任意一点在主视图和俯视图上X方 Xc 向的相对坐标相同,将俯视图上的投影点P2和主视图上的投影点 圈1三视图导入UG中的示意圈 P1进行点的空间坐标转换,X:P2(1)一ref2(1),Y=P2(2)一ref2(2),Z=P1(2)一refl(2),可以由平面 点生成空间点(P1(1)为P1的 坐标,P1(2)为P1的 坐标,其他同理). (2)利用主视图和左视图:在主视图上,取参考点 厂1,左视图上取相应的参考点ref3,在主视图和 左视图上Z方向的坐标对应相等(在UG的工作平面上是y方向的坐标相等),与上面类似,将主视图 上的投影点P1与左视图上的投影点P3进行空间坐标转换,X=P1(1). 厂1(1),Y=ref3(1)一P3(1), Z=P1(2)一 厂1(2),生成空间点. (3)利用俯视图和左视图:在俯视图上选取参考点ref2,左视图上选取对应的参考点ref3.俯视图 和左视图上对应点的y方向坐标相等,将俯视图上的投影点作空间坐标变换,X=P2(1)一ref2(1),Y =P2(2)一ref2(2),然后由P3可以求出Z=ref3(2)一P3(2),从而求出空间点. 2二维三视图到三维立体图的转换 下面以几个简单的造型为例,介绍利用二维视图进行三维建模的过程.此转换过程是通过UG的 二次开发语言GRIP编写的程序,在UG18.0平台上实现的. 2.1生成简单实体 由于工作平面是 一 平面,所以对于以 为生成方向的简单实体,即对于那些在俯视图(或主 视图)上投影能反映其截面形状的实体,我们可以直接在工作平面上选择投影曲线集,将其进行平移变 换,并以平移后的曲线集所形成的曲面为拉伸平面,通过拉伸获得实体. 2.2生成复杂实体 所有复杂的实体都可以看作是由标准的球体、圆柱、圆锥、圆台、棱柱等几何体进行布尔运算来获得 的.因此,以下的设计思路是:拆解复杂实体为标准体. 点的确定:采用参考坐标,选取空间实体上的一点为参考点,以其他点相对于此点的相对坐标,来控 制实体特征的相对位置.显而易见 厂1,ref2,ref3为空间一点在三个视图上的投影,这样我们便以此 点为空间参考点,其他实体的坐标可以通过与此点相比较,来获得相对坐标(其相对坐标分别在三个视 图上获得),实现特征在空间的相对位置保持不变.选取关键的点线,通过实体数据存取(EDA),获得实 体数据信息,调用实体生成指令生成实体.常用的实体生成指令[ . 2.1.1锥体 obi=SOLCON/ORIGIN,x,Y,z,HEIGHT,h,AXIS,I,J,k,IFERR,labeh对于锥体,只要控制其原 点(ORIGIN)和轴线矢量(AXIS),便可以控制其生成位置和方向.调用该指令时,关键在于计算出其原 维普资讯 http://www.cqvip.com 山东理工大学学报(自然科学版) 2003年 点坐标. 2.1.2圆柱体 obj=S0CYL/ORIGIN,X,Y,z,HEIGHT,high,DIAMTR,d,AXIS,I,j,k,IFERR,label: 忽略轴(AXIS)时,则以当前工作坐标系的z为生成方向. 2.1.3球体 obj=SOLSPH/ORIGIN,X,Y,z,DIAMTR,d,IFERR,label: 关键在于获取球心的相对坐标. 2.1.4拉伸实体 obj=SOLEXT/obj list,HEIGHT,high,,I,J,k,IFERR,label:obj list指拉伸底面曲线子集;拉伸 时,若底面曲线与轴线(AXIS)垂直,则生成直棱柱,否则将拉伸出斜棱柱. 复杂实体二维视图和应用程序转换所得实体如图2所示. 2.3 生成简单曲面 /卡\===//—、、\ L— 生成空间曲面的关键在于将平面的关键曲线生成空间曲线, 然后调用相应的曲面生成指令.由二维平面生成三维空间曲面 手 r_L—_= 的关键在于获取相应的空间曲线.在此,我们采用关键曲线法. 空间曲线的获得:由二维平面曲线生成空间曲线同样也存在 坐标转换问题,因此,我们仍然采用相对坐标系的方法.由于曲 线的生成需要大量的点,因此不能简单的选取关键点.三视图中 的点具有一一对应性,采用等弧长分割曲线法,可以获得大量的 对应点,通过计算转化为空间点,生成近似于原来曲线的空间B 样条曲线. 1)在主视图和俯视图上:将俯视图上的投影曲线按弧长等分为 图 用 ■ 应 N份,获得N+1个点,然后依次通过每一个点做垂直于X轴的辅助线,空间曲线在主视图上的投影线 与辅助线的交点,与俯视图上的点相对应. 2)在主视图和左视图上:将主视图上的空间曲线按弧长等分为N份,获得N+1个点,依次通过这 N+1个点做垂直于y轴(UG工作平面)的辅助线,空间曲线在左视图上的投影曲线与辅助线的交点, 与俯视图上的点相对应. 3)在俯视图和左视图上:将俯视图上的投影曲线按弧长等分为N份,获得N+1个点,然后过点 (ref3(1)+声2(1)一ref2(1),一100,0)做垂直于y轴的辅助线,通过辅助线与空间曲线在左视图上的 投影曲线的交点P3(P1,P2,P3分别为空间曲线上任意一点P在主视图、俯视图和左视图上的投影 点).将在上述三种情况下得到的三视图中的各对应点进行空间坐标变换,变换方法分别对应于工作坐 标系的坐标变换这一小节中的叙述. 如图3所示即为运用此方法由平面曲线A1,A2得到空间 曲线A. 在获得了曲面的轮廓曲线后,依据这些曲线来形成曲面. 通过曲线生成曲面的方法有以下几种: 1)过曲线(through curve):通过一个方向的曲线建立一个 曲面. 2)过曲线网格(through curve mesh):可从运行在两个方 向的已存在的曲面外形集合建立一个面,线串不一定要相交. 3)扫描(swept):由一曲线外形沿一空间的路径以预定的 方式移动扫除的片实体. 图3生成空问曲线 1 7 硼蕊 维普资讯 http://www.cqvip.com 第2期 王翠萍,等:基于UG的二维视图向三维实体转换的快捷方法 65 4)直纹面(ruled face):两曲线间的参数对应点用直线段连接而成的曲面. 曲面形成后,还必须利用其他方法对生成的曲面进行处理.如:通过圆角面、圆角曲面、修剪、延伸 等手段对曲面进行细节处理,对于比较复杂的曲面之间不能很好的结合而出现的空隙,须采用“补丁”方 法进行缝合[ . 利用MenuScript语言将上述几种方法指导下所开发的模块挂接到UG主菜单上,使用起来方便快 捷.可以把一般的工业产品工程图纸转化为它的三维实体造型,在此基础上根据设想进行渲染得到最 终的产品模型. 3结束语 利用上述方法,成功的将工业产品工程视图建立了计算机三维模型,能尽快的将设计意图转化为立 体效果图,大大缩短了产品的设计周期,从而提高了企业的竞争能力. 参考文献: [1]张剑,孔建,万德安.汽车车身工程图纸三维建模方法[J].机电一体化,2000(3):39—41. [2]孙家广,杨长贵.计算机图形学[M].北京:清华大学出版社,1995. [3]王庆林,洪如瑾.UG/OPEN GRIP编程基础[M].北京:清华大学出版社,2002. [4]成艾国,周军,左剑.汽车车身表面中的三角区域设计[J].湖南大学学报,1998,25(6):43—46