在线观看av毛片亚洲_伊人久久大香线蕉成人综合网_一级片黄色视频播放_日韩免费86av网址_亚洲av理论在线电影网_一区二区国产免费高清在线观看视频_亚洲国产精品久久99人人更爽_精品少妇人妻久久免费
首頁 > 文章中心 > 正文

VB控制AutoCAD繪制三維分形圖案

前言:本站為你精心整理了VB控制AutoCAD繪制三維分形圖案范文,希望能為你的創(chuàng)作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。

VB控制AutoCAD繪制三維分形圖案

摘要:本文介紹autocad2000與vb以ActiveAutomation實現(xiàn)連接,實現(xiàn)可編程CAD設(shè)計在分形圖案設(shè)計領(lǐng)域的應(yīng)用。

關(guān)鍵詞:AutoCAD2000;OLEAutomation;

1.引言

大量分形例子是由數(shù)學(xué)方法,特別是迭代和遞歸算法產(chǎn)生出來的圖形或圖象。不論是自然界中的個體分形形態(tài),還是數(shù)學(xué)方法產(chǎn)生的分形圖案,都有無窮嵌套、細(xì)分再細(xì)分的自相似的幾何結(jié)構(gòu),并是個動態(tài)過程[1]。在AutoCAD里使用手工繪圖無法實現(xiàn)這種復(fù)雜、動態(tài)、多向、結(jié)合數(shù)學(xué)運(yùn)算的設(shè)計。

在VB中利用ActiveAutomation技術(shù)可實現(xiàn)可編程設(shè)計,符合分形圖案的在三維空間的展現(xiàn)。AutoCAD有豐富的線,面,體的構(gòu)筑功能,如B樣條曲線(在CAD里定為Spline),布爾運(yùn)算,實體擠壓技術(shù),在AutoCAD里可輕易實現(xiàn),并突破傳統(tǒng)的二維空間分形,使分形圖案在三維世界里更加絢麗。

2.AutoCAD與VB的ActiveXAutomation連接技術(shù)

為使用AutoCAD的Auotomation對象,必須首先在VisualBasic6.0中引用該對象類型庫acad.tlb,并連接如下[1]:

subMain()

PublicacadAppAsObject‘AutoCAD的application對象

PublicacadDocAsObject‘AutoCADdocument對象

PublicmoSpaceAsObject‘Modelspace模型空間對象集合

PublicpaSpaceAsObject‘PaperSace圖紙空間對象集合

OnErrorResumeNext

SetacadApp=GetObject(,”AutoCAD.Application”)

IfErrThen

Err.Clear

SetacadApp=CreateObject(“AutoCAD.Application”)

IfErrThen

MsgboxErr.description

ExitSub

EndIf

Endif

Endsub

在存儲及繪圖模板使用如下[3]:

acadDoc.activedocument.SaveAs(′d:\capp\fractal.dwg′)

’執(zhí)行ActiveDocument對象的SaveAs方法

exportFile:=′d:\capp\fractal′

將AutoCAD應(yīng)用程序關(guān)閉使用Quit方法:acadApp.Quit.:SetacadApp=Nothing

3.AutoCAD中圖形的創(chuàng)建

各類線創(chuàng)建:1)AddLine;2)AddLightweightPolyline;3)AddMLine;4)AddPolyline;

5)AddArc;6)AddCircle;7)AddEllipse;

8)AddSpline:二,三次NURBS(nonuniformrationalB-spline)曲線.

各類面創(chuàng)建:1)Add3Dface;2)AddPolyfaceMesh;3)AddPolygonMesh;4)AddSolid

各類體創(chuàng)建:1)AddBox;2)AddCone;3)AddCylinder;4)AddEllipticalCone;5)AddSphere;

6)AddTorus7)AddExtrudesolid;8)AddWedge;9)AddRevolveSolid;

10)AddElliptcalCylinder;11)AddextrudeSolidAlongPath

樣條曲線實例:SubCreateSpline()

DimsplineObjAsAcadSpline

DimnoOfPointsAsInteger

DimstartTan(0To2)AsDouble

DimendTan(0To2)AsDouble

DimfitPoints(0To8)AsDouble

noOfPoints=3

startTan(0)=0.5:startTan(1)=0.5:startTan(2)=0

endTan(0)=0.5:endTan(1)=0.5:endTan(2)=0

fitPoints(0)=1:fitPoints(1)=1:fitPoints(2)=0

fitPoints(3)=5:fitPoints(4)=5:fitPoints(5)=0

fitPoints(6)=10:fitPoints(7)=0:fitPoints(8)=0

SetsplineObj=moSpace.AddSpline(fitPoints,startTan,endTan)

ZoomAll

EndSub

4.三維謝氏塔的自相似結(jié)構(gòu):

三棱錐型的創(chuàng)建法:1)生成三維線(Add3Dpolyline);

2)產(chǎn)生區(qū)域(AddRegion)后通過擠壓(AddExtrudedSolid)

subCreatePyramid()

DimpolyObjAsAcad3Dpolyline

Dimpoints(0To11)AsDouble

Point(0)=0:Point(1)=0:Point(2)=0

Point(3)=255:Point(4)=0:Point(5)=0

Point(6)=128:Point(7)=221.7025:Point(8)=0

Point(9)=0:Point(10)=0:Point(11)=0

SetpolyObj=moSpace.Add3Dpolyline(poits)

DimregionObjAsVariant

SetRegionObj=moSpace.AddRegion(polyObj)

DimheightAsDouble

DimtaperAngleAsDouble

height=255:taperAngle=

DimsolidObjAsAcad3Dsoild

SetsolidObj=moSpace.AddExtrudeSolid(regionObj,height,taperAngle)

Endsub

布爾運(yùn)算法語法為:solidObj1.BooleanacUnion,solidObj2(并運(yùn)算)

solidObj1.BooleanacIntersection,solidObj2(交運(yùn)算)

參考文獻(xiàn)

[1]劉華杰.分形藝術(shù),湖南電子音像出版社1997年

[2]王玨.用VBA開發(fā)AutoCAD2000應(yīng)用程序人民郵電出版社,1999

[3]劉艷斌等.OLEAutomation技術(shù)在CAD/CAPP基成中的應(yīng)用.計算機(jī)應(yīng)用2000.Vol.4

免责声明:以上文章内容均来源于本站老师原创或网友上传,不代表本站观点,与本站立场无关,仅供学习和参考。本站不是任何杂志的官方网站,直投稿件和出版请联系出版社。

工信部备案:蜀ICP备18023296号-3川公网安备51010802001409 出版物经营许可证:新出发蓉零字第CH-B061号 统一信用码:91510108MA6CHFDC3Q © 版权所有:四川好花科技有限公司

免责声明:本站持有《出版物经营许可证》,主要从事期刊杂志零售,不是任何杂志官网,不涉及出版事务,特此申明。

在线服务

文秘服务 AI帮写作 润色服务 论文发表

阿尔山市| 监利县| 吉林省| 通城县| 孟州市| 新乐市| 亳州市| 泗洪县| 灵川县| 延吉市| 鄂尔多斯市| 麻江县| 扎兰屯市| 民和| 襄城县| 灵川县| 安义县| 丰县| 安平县| 秀山| 都江堰市| 台北市| 台东县| 乐都县| 绿春县| 双流县| 桃源县| 布拖县| 阳山县| 资源县| 浏阳市| 西峡县| 贵港市| 大同县| 鸡东县| 云龙县| 文成县| 武胜县| 阿拉善左旗| 宣城市| 凤庆县|