- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
腰形草图封装技术的应用
摘 要笔者通过对某型号电子样机的梳理,总结了其中复用频率较高的特征。通过对腰形草图的封装进行了探讨与研究,并对腰形草图定制过程中遇到的问题,例如腰形草图空间坐标变换、腰形草图自动生成全约束特征、腰形草图GUI图形显示等关键点提出了行之有效的解决方法,最终实现腰形草图的一键式创建,该方法为今后类似草图特征的封装起到了重要的借鉴作用。
【关键词】腰形草图 坐标转换 GUI
在UG的众多功能中,草图功能是最基本,使用频率最高的功能,因此对草图进行二次开发,是提高工作效率的重要方式。笔者通过对某型号电子样机的梳理,腰形草图在机匣类零件中复用频率较高,因此将腰形草图进行封装,得型号设计人员可以根据输入参数大小一键得到所需的腰形草图特征,从而将设计人员从重复的劳动中解放出来,提高了其型号设计的效率。本文详细介绍将腰形草图的封装以及封装过程遇到的技术难点。
1 腰形草图封装关键技术
1.1 腰形草图平面定位
对于UG软件设计人员来说,腰形草图的所有特征在任意空间的一个平面上,即平面XOY上,该平面需要人工进行选取获得,然而,对于任意腰形草图特征来说,其特征同时存在于空间的坐标系XYZ与人工选取的XOY平面上的,因此,需要将腰形草图特征的坐标转换成空间绝对坐标,才能保证成型的腰形草图的几何唯一性。
1.2 三维空间几何坐标变换原理
三维空间几何坐标变换包括三维平移变换、比例变换以及旋转变换,三维平移变化、比例变换是二维情况的直接推广;旋转变换因为可以选择空间任意方向作为旋转轴,因此三维空间旋转变换处理起来较为复杂。与二维变换相似,我们也采用齐次坐标技术来描述空间的各点坐标及其变换,这时,描述空间三维变换的变换矩阵是4×4的形式,由此产生的一系列变换可以用单个矩阵来表示。
1.3 三维坐标变换构造
本文笔者将腰形草图从一个参考坐标系下的位置变换成绝对坐标系下的位置,变换思路具体过程分为以下两步:
(1)平移坐标系oxyz,使它的坐标原点与新坐标原点重合;
(2)进行旋转变换,使两坐标系的坐标轴重合。
2 腰形草图封装方法
2.1 腰形草图封装环境
目前研究所UG使用版本为 NX7.5、腰形草图封装环境需安装对应的开发平台Microsoft Visual 2008以上版本,本文笔者安装的是Microsoft Visual2010,并且配置好UG NX7.5与Microsoft Visual 2010之C#接口信息。
2.2 腰形草图封装步骤
首先,在Microsoft Visual2010中新建一个NX7.5项目。
然后,在新建的项目中设计腰形草图GUI界面(见图1)。
根据GUI界面中填写的参数,在主函数中定义这些参数,并且将其与GUI界面中显示的参数关联。
然后新建一个类文件,并在该文件中定义三维坐标变换函数,在该函数中首先定义当前腰形草图工作坐标系单位矩阵。再根据三维坐标变换构造方法对空间坐标进行定义。然后定义一个腰形草图构建函数,由于腰形草图是由直线与圆弧组成的,因此腰形草图的构建可以分解成直线与圆弧的构建(以下是一段圆弧轮廓的创建代码)。
Point3d startPoint1 = new Point3d(0.0, 100, 100);Point3d pointOn1 = new Point3d(0.0, -100 100);Point3d endPoint1 = new Point3d(0.0, -300, 200); Arc arc1;arc1 = workPart.Curves.CreateArc(startPoint1, pointOn1, endPoint1, false, out startAndEndGotFlipped1); theSession.ActiveSketch.AddGeometry(arc1,NXOpen.Sketch.InferConstraintsOption.InferNoConstraints);
在完成腰形草图轮廓的构建之后,对于腰形草图的每一根轮廓线来说,在腰形草图中必须全约束才能保证腰形草图大小的唯一性,因此,需要对腰形草图轮廓进行尺寸约束(以下是一段圆弧的尺寸约束代码):
//圆弧C1圆心过原点
NXOpen.Sketch.ConstraintGeometry CL1;CL1.Geometry=CKX;CL1.PointType=NXOpen.Sketch.ConstraintPointType.StartVertex;CL1.SplineDefiningPointIndex = 0;//标注C1尺寸NXOpen.Sketch
文档评论(0)