论文网首页|会计论文|管理论文|计算机论文|医药学|经济学论文|法学论文|社会学论文|文学论文|教育论文|理学论文|工学论文|艺术论文|哲学论文|文化论文|外语论文|论文格式
中国论文网

用户注册

设为首页

您现在的位置: 论文大全网 >> 计算机论文 >> 计算机应用论文 >> 正文 会员中心
 计算机应用论文   计算机理论论文   计算机网络论文   电子商务论文   软件工程论文   操作系统论文   通信技术论文
浅析VB控制AutoCAD绘制三维分形图案

摘   要: 本文介绍autocad2000与vb以active automation实现连接,实现可编程cad设计在分形图案设计领域的应用。
关键词: autocad2000;ole automation;
 
1. 引言
大量分形例子是由数学方法,特别是迭代和递归算法产生出来的图形或图象。不论是自然界中的个体分形形态,还是数学方法产生的分形图案,都有无穷嵌套、细分再细分的自相似的几何结构,并是个动态过程[1]。在autocad里使用手工绘图无法实现这种复杂、动态、多向、结合数学运算的设计。
在vb中利用active automation技术可实现可编程设计,符合分形图案的在三维空间的展现。autocad有丰富的线,面,体的构筑功能,如b样条曲线(在cad里定为spline),布尔运算,实体挤压技术,在autocad里可轻易实现,并突破传统的二维空间分形,使分形图案在三维世界里更加绚丽。
 
 
 


2.       autocad与vb的activex automation 连接技术
   为使用autocad的auotomation对象,必须首先在visual basic 6.0中引用该对象类型库acad.tlb  ,并连接如下[1]:
sub main()
     public acadapp as object   ‘autocad 的application对象
     public acaddoc as object   ‘autocad document对象
     public mospace as object   ‘modelspace 模型空间对象集合
     public paspace as object    ‘papersace 图纸空间对象集合
     on error resume next
     set acadapp = getobject(,” autocad.application”)
     if  err then
            err.clear
            set acadapp = createobject(“autocad.application”)
            if err then
                 msgbox err.description
                 exit sub
            end if
end if
  end sub
在存储及绘图模板使用如下[3]:
acaddoc.activedocument.saveas(′d:\capp\fractal.dwg′)
 ’执行activedocument对象的saveas方法
exportfile := ′d:\capp\fractal′
将autocad应用程序关闭使用quit方法:acadapp.quit. :set acadapp =nothing
 
3.       autocad中图形的创建
各类线创建:1)addline;2)addlightweightpolyline;3)addmline;4)addpolyline;
5) addarc;6) addcircle;7) addellipse;
8)addspline:二,三次 nurbs (nonuniform rational b-spline) 曲线.
各类面创建:1)add3dface;2)addpolyfacemesh;3)addpolygonmesh;4)addsolid
各类体创建:1)addbox; 2) addcone;3)addcylinder;4)addellipticalcone;5)addsphere;
6)addtorus7) addextrudesolid;8)addwedge;9)addrevolvesolid;
10)addelliptcalcylinder;11)addextrudesolidalongpath

样条曲线实例:sub createspline()
                 dim splineobj as acadspline
                 dim noofpoints as integer
     dim starttan(0 to 2) as double
                 dim endtan(0 to 2) as double
   dim fitpoints(0 to 8) as double
               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
                set splineobj =mospace.addspline (fitpoints, starttan, endtan)
                zoomall
end sub
4.三维谢氏塔的自相似结构:
   三棱锥型的创建法: 1)生成三维线(add3dpolyline);
2)产生区域(addregion)后通过挤压(addextrudedsolid)
sub createpyramid()
dim polyobj as acad3dpolyline
dim points(0 to 11) as double
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
set polyobj=mospace.add3dpolyline(poits)
dim regionobj as variant
set regionobj=mospace.addregion(polyobj)
dim height as double
dim taperangle as double
height=255:taperangle=
dim solidobj as acad3dsoild
set solidobj=mospace.addextrudesolid(regionobj,height,taperangle)
end sub
布尔运算法语法为:solidobj1.boolean acunion,solidobj2(并运算)
                  solidobj1.boolean acintersection,solidobj2(交运算)
参考文献
[1]刘华杰.   分形艺术, 湖南电子音像出版社1997年
[2]王珏.  用vba开发autocad2000应用程序  人民邮电出版社,1999
[3]刘艳斌等.ole automation技术在cad/capp基成中的应用.计算机应用 2000.vol.4
  • 上一个计算机论文:
  • 下一个计算机论文:
  •  更新时间:
    浅析无公害水稻栽培技术
    浅析小学语文阅读教学的方法和策略
    浅析水利施工技术创新及混凝土施工技术
    浅析糯扎渡水电站水轮发电机失磁保护与欠励
    浅析水电站双管式空气冷却器应用
    浅析建筑工程中混凝土施工技术
    浅析建筑工程造价管理如何优化
    浅析新课程理念下高中英语听力教学的问题与
    浅析宇宙观与中国传统绘画的写意表现
    浅析高层建筑工程施工中存在的问题及措施
    浅析监理工程师对费用索赔的控制
    浅析当代大学生消费现状及应对措施
    | 设为首页 | 加入收藏 | 联系我们 | 网站地图 | 手机版 | 论文发表

    版权所有 www.11665.com © 论文大全网 All rights reserved