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

用户注册

设为首页

您现在的位置: 中国论文网 >> 计算机论文 >> 计算机应用论文 >> 正文 会员中心
 计算机应用论文   计算机理论论文   计算机网络论文   电子商务论文   软件工程论文   操作系统论文   通信技术论文
浅析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
  • 上一个计算机论文:
  • 下一个计算机论文:
  •  作者:沈晓东 杨明 [标签: 控制 绘制 分形 ]
    姓 名: *
    E-mail:
    评 分: 1分 2分 3分 4分 5分
    评论内容:
    发表评论请遵守中国各项有关法律法规,评论内容只代表网友个人观点,与本网站立场无关。
    浅析如何培养初中生的数学能力
    浅析建筑工程监理实施的准备过程及工作
    浅析黑龙江省农村养老保障制度存在的问题
    浅析绿色建筑推动低碳经济新发展
    浅析Mostaganem700套项目工期索赔案例
    浅析城市建筑中的文化元素应用
    浅析企业文化与员工招聘
    浅析建筑施工安全管理中信息化的建设
    浅析子午岭隧道渗漏水处理的新工艺及新材料
    浅析火力发电厂运煤系统煤尘控制的设计方案
    浅析传统工艺对斯洛伐克民族服饰的影响
    浅析文成县文化特色村的现状及品牌策略
    | 设为首页 | 加入收藏 | 联系我们 | 网站地图 | 手机版 | 论文发表

    Copyright 2006-2013 © 毕业论文网 All rights reserved 

     [中国免费论文网]  版权所有