利用位图获得零件实体模型

第19卷第3期2()l}3年6月

机械设计与研究

Mac}lil*DeSigna11dRPseamh

文章编号:1006,2343(2003)03038—02V0llqN(’3Jun,20【}3

蠹鹱}殛||『_套疆飘嚣垂嚣疆垂攀垂琏疆纂噩褒!

张晋西

(重庆工学院机械系,重庆400050)

i模;i型:

摘要:对各种可用正视图与轴剖视图表示的零件,通过其零件位图图片,用最新的vBNFl语言编程进行分析处理,结合Autd二AI弛002二次开发,获得该零件的三维实体模型.可用于对那些』t有位圈图片资料的产品进行仿制或再设计。

关键词:三维实体模型;位图;vB.NET;Aut以AD

中图分类号:TP39l文献标识码:A

随着制造技术的日益提高,越来越多的产品制造需要零件的二维实体模型来进行分析和加。j:制造1l,但是,有时并水知道产品零件设计图或cAD模型,而是H有其各种形式的物理模型、实物样件或位图图片.若需要进行仿制或再设计,就需要对其进行矢量数字化处理,建立三维实体模型。目前,常用的实物三维几何数据获取方法有三坐标测量机测量、激光线结构光扫描、计算机断层扫描(cT)法等【2J,这些方法均要求专用设备及软件包,价格十分昂贵,使其应用受到一定的局限。

本文提出用最新的vBNET语言编程进行二次开发Aut。【:A【卫【102,对可用正视图与轴剖视图绘制的零件,采用其零件位图(又称为点阵图,是由称作象素的不同颜色的点构成的图像。常用位图文件格式有13MP、JPEG等)图片或平面零件实物的扫描截面位图,反求零件的三维实体模型,获得的三维模型可用于驱动快速成型机制造出产品或原型,进行有限元分析、运动仿真等,可广泛用于对那些初始信息不是零件设计图或cAJ)模型的产晶进行仿制或再设计。

熊沁,

蜒拶

(曲正视图(b)轴荆视圈

▲图l

1零件位图的处

链传动是机械中

常用的传动装置,以

链轮为例,说明利用(a)正视圈(b)轴剖视圈位图获得其三维实体

▲图2模型的原理和方法。

收稿日期:2002一n一04

图1为链轮零件示意豳”J,用扫描仪将链轮零件示意图进行扫描,然后用图形处理软件如Phot喁晒,等将其进行处理.使图中只有黑白两色。轴剖视图只取对称的一半。将结果存储为BMP格式图片.如凰2:

2获得轮廓线各点坐标

要将位图矢量化,首先要接顺序获得扫描图轮廓线各点坐标。本文用Ⅷ.NET编程程序,将平面零件扫描图载人图片框控件P-ct∞出0xl,通过用鼠标单击图2中外、内轮廓区域,得到相应的轮廓线各点坐标。

2.1获得外轮廓各点坐标

用鼠标单击图2中外轮廓内黑色区域仟意点,崩Hc.tureB。xJM3useD口wn事件返【旦】陔点的坐标x、y.用mvBi廿玎ap.Ge伊ixd(x,y)方法获取该点像素的颜色值,用循环语句改变y值,向上检查图中每个像索的颜色数值.检查到的第一个非黑色的点,即是外轮廓上的点,该点为外轮廓各点坐标的第一点。

然后,依次沿着图形轮廓自动向前搜寻其相邻的卜点坐标,将得到的外轮廓所有点坐标存人动态数组洳(),坳()。

2.2获得内轮廓各点坐标

内轮廓指零件上各种形状的孔:获得内轮廓各点坐标方法与外轮廓相似,用鼠标单击内轮廓中白色区域任意点,例如图2a中代表轴孔的圆.检查到的第一个黑色的点,即是内轮廓上的第一点。

3轮廓坐标搜寻方法

按顺序获得扫描图轮廓线各点坐标,关键是采用正确的方法,无论轮廓形状多么复杂,均能够沿着图形轮廓自动向前搜寻出相邻的下一点坐标.下面说明

原理和具体方法。

如图3,阴影方框代表轮廓上已知坐

标的点A。以外轮廓为例,已知A点坐

标后,先检查其右邻点(1点)的像素颜

色,若该点颜色为黑色,且8点的颜色非

黑色,则1点即为轮廓上的第二点。若不

魏蛳 万方数据

第3期张晋西:利用位图获得零件实体模型

满足泼条件,沿顺时针方向检查1点后面的2点,若该点颜

色为黑色,雎1点的颜色非黑色,则2点即为轮廓上的第:

点。依次检查1—8点,必能够且唯一能够搜寻出与已知点

相邻的F点的坐标,循环搜寻,当某一轮廓点的坐标与第

一点坐标的x、y值均相同时,结束循环,就按顺序得到丁

扫描1耋l轮廓线所有点坐标,通过这些顺序坐标,才能够创建

轮廓的{#均匀有理』{样条曲线,进而反求零件三维实体模

型。

4三维模型反求

本文采用新的A【I-veX自动化界面技术(Active)(Au—

tomati。nlnldace),对著名的工程图形软件Aut0CAr)2002进

行vBNFI语言编程二次开发【4?”,利用Aut。(=AD的三维

建模功能,实现平面零件三维模型反求。该方法较易于理解,十分适用于工程技术人员掌握使用。

用vIjNET引用Aut。【、A1)对象的编程时,首先在vBNET编程环境中对Auf∞对象库进行引用,即在“工程”菜单栏中选取“引用”项,点选AutocAD对象库,用语句“mA嘿山ppAsNewAutfCAD.AcadApplicatl帆

Set№dApp=【:㈨te()bject(“Auto(㈨application”)将变量AcadApp设定为Au£伽对象,就可引用AuL0_

CAn对象的方法、属性等进行二维和三维实体的造型、显示、编辑。

4.1由剖视围获得旋转体

将图2b中的轮廓线各点坐标用Addspline样条曲线方

珐绘制出束,用AddRe西on方法定义为面域,然后将该面域用Ad[iRevcdve删d方法.吼链轮中心为轴.即图2b中最下

面一条边,旋转360度,得到三维旋转体didRote。

Addspline样条曲线所取拟合点¨hnb为三维数组,这里z值均为零。拟合点不一定取全部廓线点,可以根据图形实际效果,间隔一定数目取值。

4.2由正视圈获得拉伸体

将图2a中的轮廓线各点坐标用AddSpl-ne样条曲线方法绘制出来,用AddR谢on方法定义为面域,然后将该面域用AddExtl州d酬?d方法,按照厚度,即圈2b的宽拉伸成三维模型,进行布尔运算,将外轮廓三维实体减去内轮廓三维实体,得到=维拉伸体solidExt州。

用实体对象的GeLB。岫dingBox方法和&n州d属性获

得实体的形心坐标,甩Move方法,将拉伸体形心移动到与旋转体形心重合。

4.3布尔交运算得三维实体模型

二三维旋转体mliclRote旋转体描述零件z方向的形状,而二维拉伸体幽d&tnld描述零件肼平面的形状+将两者进行布尔交acInl盯section运算,即取其两者皆有的公共部分,就得到了零件的三维实体模型,如图4,为零件实体(“一id)模型着色显示,吖以看出,模型的轮廓表面十分光滑、流畅。主要程序实现语句如下:

绘制轮廓线样条曲线

SetMds=Aca(1appActlve[kum日ltM。ddspace

splirld)bj(N啪cLu懈)=MdS.AddSplinc(6tPoints,stan—Tan,endTan)

▲囝4

定义为面域

regionobj2MdsAddRegton(splineob)

’由剖视图获得旋转体

s。lidR0te=MdS.AddRev。Iv碰爿jd(嘴i缸)bj(O),a拼Pla“sDir,angle)

’拉伸为三维实体

舯ljd[坷(Nufncur惴,=MdSAddExcrud利S。}Id(坩百ono瞄(0),Height,0)

’布尔运算,外轮廓实体减去全部内轮廓宴体

hI=1ToNurncurv*1

soli出b(O)B砌∞11(AutocAI)m|jcDI咖1Typear‰b廿aclion,s。lid0“(I))

Nextl

’拉伸体形心移动到与旋转体形心重合

did酞tⅢd(0)M()ve(酬i(1Extrud(O)(’蜘tmid,《_=en"pomt,

’布尔交,求出拉伸体与旋转体共同的部分

s。lidExtmd(0)FkⅪleaIl(Aut《AD.AcLj∞IeanfIvTⅪacIntersection.sdldfk)te)

5模型的应用及方法

本方法获得的三维实体模型,可以如卜加以应用:

(1)将AutocAD巾生成的模型以sI、I.文件仃储,呵以驱动快速成型机制造出产品或原型。

(2)将获得的轮廓线各点坐标.作为数控Nc代码.nr用于零件数控加工。

(3)在MDT(即MecllanicdI)e出top,与AuL0(:AD同属Aufod鹛k公司著名产品,中直接进行有限元分析。图彤接丌方法是先将AutocAD中生成的三维实体以扩展名为DwG格式存盘,然后在彻、中打开郎可。本方法中的程序完辛

可以直接在Ⅶ丌中运行。

“)在M口T中将图形转存为I(浩格式文件,就nf以在几乎所有的分析、造型软件包中打开进行有限元分析或进一步造型。

(5,可以根据实际效果调节样条曲线拟台点数,控制显示精度和表面光滑度。

(6)可以进行零件仿真模拟。

 万方数据

第19卷第3期2003年6月

机械设计与研究

Machlnet)商gnandRe9earch

文章编号:l(J06—2343(2叩3)03,040—03vol19Nn3julle,2003

应用MATLAB工具箱实现机械优化设计

席平原

(淮海工学院机械系,江苏连云港222001)

摘要:采用新的软件解决机械优化问题,介绍了MAl、LAB优化工具葙在机械优化设计中的应用。通过给出的优化实例可以看出,应用访软件求解机械优化设计问题非常方便。

关键词:MAllAB;机械优化设计;应用实例

中图分类号:THl22文献标识码:A

机械优化设计是以数学规划为理论基础,以计算机为工具,寻求机械设计问题最佳方案的现代设计方法之一,现在已经有很多成熟的优化方法程序可供选择.但是每种优化方法都有自已的特点和适用范围,实际应用中很容易因为优化方法或初始参数选择不当而无法得到全局最优解,而MAl、一LAB语言的优化工具箱则选用最佳方法来求解,初始参数输人简单,语法特征符合科技人员对数学表达式的书写,编程工作量大大减少,有善很大的优越性。

1MATl,AB语言及其优化工具箱简介MATIAB语言是由美国Mathworks公司开发的集科学计算、数据可视化和程序设计为一体的工程应用软件.现已成为工程学科计算机辅助分析、设计、仿真以至教学等不可缺少的基础软件,它由MATLAB主包、srn拈hnk组件以及功能各异的].具箱组成。MATLAB优化工具箱的应用包括:线性规划和二次规划,求函数的最大值和最小值,多目标优化,约束优化.离散动态规划等,其简洁的表达式、多种优化算法的任意选择、对算法参数的自由设置,可使用户方便地使用优化疗法。

一x)‘2的网格图和等高线图。

命令如下:[x,y]=m@h鲥d(一IO:0.1:10.一3:0l3);

z=100(x一,)+(1一x)2;me5h(x.y,z)%绘

制阿格图形.

cUrltour(x,y,z,20)%绘制等高线图形运行结果得到如下网格图和等高线图,观察可知f(x,y)最小值为O,则最优点为(1,L)点。

2.2线性规划

线性规划是数学规划中的一个比较成熟的分支,实际应用也非常厂泛,同时也是构成非线性约束优化方法的一种基本算法,优化工具箱中由linprog函数来解线性规划问题,采用投影法计算,是一种修正的单纯形法。

2优化工具箱的应用

2.1绘制目标函数的网格圈和等值线围

由目标函数的网格图和等值线图可观察到目标函数极▲I封l三维网格隔

值点的范围,以验证最优解的可靠性。格式:x=LINPROG(f.A.b.Aeq,Beq,LB,㈣.X0,【)P例:绘制R。sebrock函数f(x,y)2100*(x—y^2)“2+(1TIoNs)

收稿日期:2002一lo—08[x,FVAL,ExI丁FLAGt()LrrPUT]_LJNPR㈤(f?Ab…)

6结束语

本文提出的利用位图图片获得零件实体模型的方法,适用于各种可用正视图与轴剖视图绘制的零件,对于各截面形状相同的平面元件,如钣金件、直齿圆柱齿轮、平面凸轮等,则更简单,a,以采用扫描仪获得零件实物的截面位图作为正视图,无镭由剖视图获得旋转体。获得的三维实体模型准确、快速,并且简便易行,成本低廉,具有较高的实用价值。

参考文献:。1]景作军,方建军,椽宏海计算机辅助设计与工程丹析(M)北京:化学上业出版.2002

(2:王贤坤机械eAD/cAM技术应用与开发(M)北京:机械T业出版,2000

[3]徐灏机械设计手册(4)(M)北京:机械]_业出版社,20∞[4]张晋西visudRaS?c与AudⅫ二捉开筮(M1北京:清华大

学出版社,2002

[5](美)Ev卿l∞Petr。ut∞s,邱仲潘,等译v18I】al|jaMcNE丁从^门到精通(M).北京:电子工业出版杜.2002

作者简介:张晋西(1962一),再,硕士,副教授,主要研究方向

CAD/fMM。

 万方数据

利用位图获得零件实体模型

作者:张晋西

作者单位:重庆工学院,机械系,重庆,400050

刊名:

机械设计与研究

英文刊名:MACHINE DESIGN AND RESEARCH

年,卷(期):2003,19(3)

参考文献(5条)

1.张晋西Visual Basic与AutoCAD二次开发 2002

2.徐灏机械设计手册 2000

3.王贤坤机械CAD/CAM技术应用与开发 2000

4.景作军;方建军;徐宏海计算机辅助设计与工程分析 2002

5.Evangelos Petroutsos;邱仲潘Visual Basic NET从入门到精通 2002

本文链接:https://www.360docs.net/doc/0815973183.html,/Periodical_jxsjyyj200303011.aspx

相关文档
最新文档