机械设计与制造 一44一 Machinerv Desia'n & Manufacture 第4期 2006年4月 文章编号:1001—3997(2006)04—0044~02 基于扫描线数据自由曲面在AutoCAD巾昀构建 李永桥谌永祥(西南科技大学制造学院,绵阳621010) Reconstruction of freeform su rface in AutoCAD based on scanning beam data LI Yong—qiao,CHEN Yong—xiang(Xinan University of Science and Technology,Mianyang 621010,China) 【摘要】这里提出一种AutoCAD环境下自由曲面的三雏重建方法,根据测量得到的三维扫描线数 据,通过反算得到控制顶点,用Add3Dmesh方法在AutoCAD中创建双三次B样条曲面实现了自由曲 面三维模型的自动重建,提高了自由曲面建模和设计的效率。 关键词:自由曲面;AutoCAD;三维重建;反算 【Abstract】Thispaperputsforward a method ofreconstruction fofreeform surface in AutoCAD.According to the scanning beam 3D—data,by reverse count fcontorol vertex points,making e ofAdd3D esh mmethod to create bicubic B—spline¥urface ̄this paper realizes automatic reconstruction offreeform surface.improves the eficifency ofmodeling and design. Key words:Freeforill surface;AutoCAD;Reconstruction;Reverse count 中图分类号:TP39l 文献标识码:B l引言 自由曲面的三维重建是反求工程应用于实际工程的重要内 容,它是根据测量得到的反映曲面形体特征的一系列离散数据, 在计算机上建立其CAD模型的过程。目前,工程自由曲面的三 的分布特征(如排列方式、密度等)可以将测量数据分为如下两 种类型:散乱数据,扫描线数据。扫描线数据由一组扫描线组 成,扫描线上的所有点位于扫描平面内。CMM、激光点三角测量 系统沿直线扫描的测量数据和线结构光扫描测量数据呈现扫描 维重建一般采用两种方法:①按照现有曲面重构算法的要求,采 用通用CAD/CAM系统完成;②应用专用反求工程CAD软件实 现。基于Nurbs、三角Bezier等曲面理论的建模方法对测量数据 的预处理比较复杂;而专用反求工程软件(如Surfacer等)一般 线特征,如下图1所示。这里就扫描线数据提出自己的自由曲面 构建的方法。 较为庞大,且价格昂贵,因而存在局限性。因此,这里提出一种在 AutoCAD2002环境下自由曲面的三维重建方法,能够自动建立 双三次B样条曲面模型。 图1扫描线数据 2测量数据的分类 为了能有效处理各种形式的测量数据,根据测量数据中点 ★来稿13期:2005—06—21 3双三次B样条曲面的反算 自由曲面在计算机内部存储的是控制点,同时用AutoCAD 二次开发创建双三次B样条曲面要求输入的也是控制点。但在 用C语言、vc或VB语言等计算机高级语言都能在CAD软件下 (1)建立VBA对Microsoft DAO Object Library的引用。 在VBA IDE中,打开【工具】I【引出】;在弹出的引用对话框 应用。当然我们也可独力的编写计算程序、演示程序,当用户完成 的列表中,选择【可使用的引用】为“Microsoft DAO Object Li. 计算分析后将数据自动保存输入到CAD软件下也行。 brary”;选择【确定】按钮关闭对话框。 (2)打开要使用的数据库。下列代码是打开一个名为 X.MDB的数据文件。X.MDB”) 4结束语 这里所编制的夹具设计软件是遵循夹具设计的设计流程, 目标,提高了设计的效率和质量。目前,该夹具设计软件已应用 于教学实践及企业的生产中,显著的提高设计速度,收到了良好 软件,并使其走向网络化、智能化。 Dim曲As Database Set db=DBEngine.Workspace(O) .OpenDatabase(C:\ 充分利用计算机辅助设计功能,从而实现机床夹具快速设计的 (3)根据需要编制从DAO对象模型中获取数据的代码。 据的快速读取与有机管理。 这样,我们建立了程序与数据库之间的连接,就可以实现数 的效果。为了实现信息互通和远程设计控制,正在逐步完善该 3.4创建程序库 参考文献 包括用户设计过程中所需的设计、分析和数据处理软件,如 1孔庆复编,计算机辅助设计与制造【M】,哈尔滨工业出版社,1999.7. 有限元分析、优化程序等。这样,用户设计时就能根据需要调用它 2康博编,AutocAD2002/200OVi8ualLlsP开发指南[M】,清华大学出版 们,实现边计算边绘图。我们可以用事先编制计算分析程序,例如 社,2001.8. 维普资讯 http://www.cqvip.com
第4期 反算出控制点。 李永桥等:基于扫描线数据自由曲面在AutoCAD中的构建 9 一45一 实际工程中,往往先经测量得到曲面的型值点,然后再由型值点 一 ¨ 由B样条曲面的形成过程可知,B样条曲面的反算可采取 3 6 4 AutoCAD中曲面的构建 9 在AutoCAD模型空间中创建双三次B样条曲面的过程如下: 一 i¨ Private Sub双三次B样条曲面_Cl3 ck()6 2 Dim meshObj As AcadPolygonMesh’定义曲面实体变量 1 相反的步骤进行,即首先根据型值点沿u向(或 向)计算各控 ●/,‘ / . 制多边形顶点,然后根据求得的多边形沿 向(或u向)计算多 : 6 3 ,, . 6 3 Dim M As Integer 、.、 6 6 边形网格,则由该网格定义的B样条曲面可插值原始的型值 Dim N A9 Integer’M、N为点阵两个方向上的顶点数,6 6 点阵的大小 Dim Points()As Double’定义控制顶点三维坐标,M xN矩阵 .,, 点。这里取自由端条件,计算较为简单。 2 1 . 2 l 3 6 设已知型值点网格为P ( =1,2,…,m, =1,2,…,n)其 中分别为u向和 向的型值点数,则所求得多边形顶点网格应 为 (,=1,2,…,rtt+2,J=1,2,…,n+2),其算法如下。 0 ●0●●●●●●●●¨ 6 ,4 ● ●3 一Points()=}}#蝴’变量赋值 6£1¨ 3 一 ,4 9 9 3.1计算n个“向多边形 J J 取自由端条件时得到 c5i . 6p,J ' 2J _l_』 6P.J 且{【 ^QI 川’一2’. _.,n (一2) . 由式(1)和式(2)可求得n个u向多边形,其顶点网格为 Q』J(,=1,2,…,,n+2,J=1,2,‘一,n)。 3.2计算m+2个 向多边形 同理得到 6Q,l Q』 Qf, _ (3) Q 2 Q』 . 6Q』. 1 M= - k厶… .2.… 2 (4) 由式(3)和式(4)可求得m+2个 向多边形,并各具有 n+2个顶点,由其构成多边形网格 (,=1,2,…,m+2,J= 1,2,…,n+2)。由该网格定义的B样条曲面(图2)即可插值给 定的m x n个型值点。 P hi P uz PIn 0I】QI qIn vI】vl2 v1.n 旺‘:’:三臼+EE :‘: +旺‘:‘: PlI P=z P-¨ q-十2、l q-・2,n V- I V-.2. .2 图2双三次B样条曲面反算 对于反算过程中出现的三对角方程组式(1)和式(3),可以 用追赶法方便求解。用追赶法求解三对角方程组可以通过设计 一个通用子过程来实现,由于过程使用频繁,可以将此子过程程 序存放在一个标准模块中以方便调用计算。 这里求解过程是通过对三个坐标方向单独求解来实现得, 求得控制顶点后可以通过Add3Dmesh方法在AutoCAD模型空 问中建立双三次B样条曲面。 且 Set meshObj=ActiveDocument.ModelSpace Add3DMesh(M. N, . — Points) meshObj,Type=aeCubieSurfaeeMesh’曲面类型为双三次B样条 曲面 End Sub 对于由点位数据所创建的曲面,AutoCAD系统可以有四种 方式进行显示:简单曲面(acSimpleMesh)(默认值)、二次B样条 曲面 (acQuadSurfaceMesh)、 双三次B样条曲面 (acCubicSurfaceMesh)、贝赛尔曲面(aeBezierSurfaceMe8h),可以 根据对曲面光顺程度或精确拟合程度的不同要求选用,但并非 任意顶点数目的曲面均可创建为后面三种曲面。上面过程中 meshObj.Type属性的取值不同将得到不同的类型的曲面。对于 简单网格曲面,点阵Points就是其本身的型值点。但对于双三次 B样条曲面(图3),则Points则是由型值点反算得到的控制顶点 点阵。如果原型值点矩阵大小是M×N,则控制顶点矩阵大小应 为f +2)×(N+2)。 (a)截面线 (b)线框模型 (c)渲染模型 图3双三次B样条曲面 5结论 需要说明的是,用二次开发的方法在AutoCAD中创建曲面 时需要统一两个方向的顶点数;x,-J于较密的扫描线数据。我们需 要进行数据点精简,对于较为稀疏的数据要选择合适的方法进 行数据插值。 这里提出的AutoCAD环境下基于扫描线数据自由曲面的 三维重建方法,避免了对散乱数据的排序、重组、分块、融合等一 系列复杂预处理过程;利用AutoCAD中的Add3Dmesh方法可方 便地将测得的数据在AutoCAD中自动重建为三维曲面模型.进 而直接用AutoCAD进行渲染、裁剪等处理,从而提高了产品设 计开发效率。 参考文献 1金涛,童水光.逆向工程技术[MI.北京:机械工业出版社,2003. 2李永桥,谌永祥.关于B样条曲面造型及其刀位数据计算的探讨[J】. 机械2004。31(6):16~26. 3张晋西.Visual Basic.NET二次开发AutoCAD范例精解【M】.北京:清 华大学出版社,2004. 4朱心雄,自由曲线曲面造型技术【M】.北京:科学出版社,2003.
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务