2024年8月11日发(作者:欧派整装大家居)
科学进步
科学与财富
基于AutoCAD
二次开发室内设计软件开发方法研究
李伙皮
(龙岩学院数学与计算机科学学院,福建尼岩364012)
摘要:根据某室内装修行业对室内装修软什的需求,提出了基于AutoCAD的室内设计软件开发平台的总体结构和主要功能设计实现,对他用
VisualLisp编程设计图库进行了深入的研究。实例验证,能够帮助室内设计人员更快速、便捷完成绘图工作。
关键词:AutoCAD—:次开发i室内设计软件:VisualLisp
金项I I:福建省教育 科技项日0B]2209)
l引言
总体结构和功能主包括菜单定制、绘图工具、图库管理和对话框四个部
分,以 分别介绍。
3.1菜单定制设计
用户可以根据需要通过仟何文字编辑工具打开ACAD.iqlnu根据自己的
操作习惯定制。这样,用,1可以从菜单文件中删除很少使用的命令,也可以
定义新的命令,实现菜单个性化设置,方便操作。F面就F.挝式菜单的定制
做介绍,结果如图1所示。
★★★POP7
★★DRAW
在室内设计的创作上,AumCAD为 提供了广‘阔的 间,给设计师提
供了多种多样的设讣途径和制作 问。相对于徒下绘制而言,AutoCAD为
设计者在家内平面图的制作l:提供了更为方便、快捷、精确的操作。虽然
AutoCAD小身的功能集己 足以协助设计者完成各种设计工作, ̄t1.Auto—
cAD 不具备室内设汁这种特定专业领域的々用设计工具,这样就需要用
户对其进{ ■次肝发,以提高室内设 ‘的效率。
小文将针对窀内设计中专用绘图工具、专用图形库和专用对话框进 J
二次开发研究。
2 AutoCAD--次开发方法
ID MnDraw
ID
ID
—
【绘图(&D)】
Line
Ray
Xline
Mfine
f直线(&L)rC C_line
I射线(&R)rC C_ray
I构造线(&T)rC C~xline
I多线(&M)l^C C—mline
_
2.1 AutoCAD软件开发途径
开发AutoCAD软件的方法有两种:一种是利用众多的技术人员扑发自
主版权的AutoCAD软什,如华中理工大学开发的项I AutoCAD;另 种是
AutoCAD攮础L进 ■次开发,如_人和公司的AutoCAD等。 自 1 版权
的AutoCAD软什,都要花费大量人力物力同心 力完成的。而采用二次”
发厅法升发软件肃1对足一种便捷的途径。
2.2 AutoCAD-'.次开发T具选择
2.2.1 VBA
ID
ID
_
—
ID Paraline I外摆线(&P)l^C C_Swing
ID
Rose f三叶玫瑰线(&o)rC C—Rose
【一一】
ID
—
Pline f多段线(&P)l C C_pline
【三维多段线(&3)rC C_3dr,oly
【上E多边形(&Y)rC C polygon
ID 3dpoly
ID Polygon
VBA足嵌套在AumCAD中的一个基丁:对象的编程环境,它提供了丰富
的开发能力,提供了 向对象的程序设计疗法,能直接 AutoCAD内部执
行。VBAT.程能够单独存储或放 图形文件r}I,且能快速高效的创建对话
框, r助丁使工作自动化,提高工作效率。仉VBA不能随心所欲地使用Au—
ID Rectang 【矩形(&G)rC C._rectang
toCAD命令,且源程序始终以相当容易接近的方式,暴露在最终用,’t面前,
常会阂为用户的误操作而使正常的应用程序出错其至崩溃。
2.2.2 Object ARX
ARX足一个以c++语言为基础,面向对象开发环境和应用程序接口。
ARX运行速度更快,运行更稳定、更简单,可以直接实现多图档操作,并能
有效地利用内存。ObjectARX包含一组动态链接库,能A接利用AutoCAD
核心数据 构和代码,并能对AutoCAD作直接的函数调用。fll其对开发者
的编程能力要求较高,同时开发过程也相当复杂,且程序运行风险较大。
2 2.3 AutoLisp和VisualLisp
图l下拉菜单定制结果示意图
3.2绘图工具设计制作
针对室内设计对特殊曲线的需求,这里以定制三叶玫瑰线为例说叫。
在AutoCAD2012中,模拟曲线一般有以下三种方法:
1)把曲线划分成极微小的曲线段,每微小的曲线段用微小直线段代替,
以大最的直线段模拟曲线;
2)先计算出曲线上的控制点,然后使用多段线、样条曲线穿过这 点,
绘制曲线:
3)设法创造f}__j曲面、实体,然后从曲面、实体中提取曲线。
直线模拟法比较容易理解,所以我们利用这种方法设计三叶玫瑰线。但
AutoLisp是一种人工智能语言 嵌入AutoCAD内部的目的是为了使用
户充分地利用AutoCAD进{j:二次开发。在AutoCAD的二次开发工具中,它
是唯一的诤}1解释性语言,它既可直接增加和修改AutoCAD命令,随意扩
大图形编辑功能,建立图形库和数据库,又能直接调用儿乎全部的Auto—
CAD命令。AutoLisp ̄有语青规则卜分简单,易学易用,心用广泛;直接针对
AutoCAD,易。r交互;解释执行,立竿见影等优点。 其功能单一,综合处理
能力差:程序运行速度慢;源程序保密性差。
VisualLisp足设计用来加速AutoLisp程序开发的软件T具,使用, 存创
建和修改源代码、程序测试和调试时更容易。
综j 所述,我们l』JJ以看出VBA和ARX主要用于编写复杂庞大以及其接
近丁AutoCAD底层数据的软件,而Au∞Lisp和visualLisp能充分灵活地使用
AutoCAD的现仃功能,是 般工程技术人员开发AutoCAD的理想工具。
此种疗法可能会产生大最的图形对象,l上『用大量的训‘算机资源和绘图时间。
_二叶玫瑰线的方程是:r=asin(3 )需使用坐标变换方程:x=rcos ,v=
rsin ̄b
AumCAD--次JI:发T具的选用,将直接影响到二次开发的周期、编程难度、
开发效牢及软件的后期维护。在选择时我们即要考虑程序的运行速度、程序
控制AutoCAD的能力、稳定性、可移植性及技术难度也要考虑开发者自身
的条件,对语言的熟悉程度等。综合考虑,本文使J ̄AutoLisp和VisualLisp在
AutoCAD2012平台进行■次开发。
程序如下:
(defun c:Rose(/a b Cm xO x1 x2 y1 y2 n1 n2);定义函数名名称为Rose
0etq a O.91 :给参数赋值
Oetq b O.51
(setq r 3.01
(setq x0 0.o)
3总体结构及功能实现
:给特称点赋值
■ 208
科学进步
(setq n1 0)
(while(<=m xO 3.5))
fsetq h()(J11
(setq xl( a(sin(*3 m))(cos m)))
(setq yl( a Gin(★3 m))(sin n1)))
(setq n (+nl h))
(setq x2(★a(Sjn(★3 m))(cos m)))
(setq y2( a(sin( 3 m))(sin n1)))
(setq I11(1ist x1 y1))
(setq n2(1ist x2 y2))
fcomnland"line”nl n2 1]
)
(sctq nzOOist 0 0)
nz1 0ist 0 0.81
硪 嗨 蛄
;设置白变量的起点
;设置循环函数
:设置白变量的步长
;汁算起点的横 标
;计算起点的纵 标
;设置自变量的变化规律
:训算终点的横坐标
;计算终 的纵坐标
;构造 线段起点点对
;构造 线段终点点对
;绘制 线
:结束循环体
;指定纵坐标的起点
:指定纵 标的终点
使用该二次"发甲台IU以快速绘j_I_{室内装饰甲面图(如图4所示)。经过
对比,可以提高 分五 的工作效率。
l 鼬
翰斯 。D 瞄圆@煳豢 蝻 一
卷
’
蚺
口
D
——..
、阿 兰三
嚣
\、
l
一az3(1ist 0 0)
nz4(1ist 0.8 01
)
fcol11mand・'layer"”m”1.ct・1
fcommand”qleader”nzl nz0\E)
”)
;指定坐标横轴起点
;指定坐标横轴端点
;结束定义坐标的二个点
;设置纵轴的颜色
:绘制纵轴
l口口。t 【....U 繇
——
u
(conlJlland”layer.t.-m”2 r.-C,6 .m1)
(COnlmand"qleader't nz4 nz3\E1
(command”layer'-..m”0”on...…...・)
1
结果如图2所示。
;设置横轴的颜色
:绘制横轴
;返[口J0图层待命
:结束整个函数定义
1 34 0 242O 1 38 D
二J挂射抨面圈
图4利用该平台快速绘出二居室装饰平面图
5总结与展望
本文仅是对开发方法进行研究,总体设计和功能实现都仅仅是部分的
实现,要作为商用软件使用,需要投入‘定的人力物力进行深入全可的研究
和升发。
就如这里设汁的图库管理系统,使用图库时是调用“Insert”命令捅入。
但如果要调用的图块较多时,而 图库义分许多类,每类【f1又包含许多组,
如家具库、电器库、l 生设备库等,家具库中又分床组、桌组、椅组等,这样就
会给用户的使用带来许多不便。如果能在这个图库管理系统里采用 种集
中式符号库的管理 法来建立图库,HD将许多图块放在‘个图形文件一”保
存,每个物体的图形f1:为该图形文件巾的一个图块,查找时可根据图块名找
到所需的物体的图形。这样用户就能够更好地使用图库。■
图2三叶玫瑰线示意图
3l3图库管理设计
参考文献
f11郑立楷,广干择临, t成煌.AutoCAD vBA二次开发教程[ml北京:清华
大学出版社,2006
【2】舒飞.AutoCAD 2004二次开发标准教程IM].卜海:上海科学普及}十{
版社,2004
在室内设计系统L}1,要用到很多常用的物品,如家具、灯具等。虽然可以
随接用AutoCAD提供的功能绘出这些图形,但并不方便。因此,我们需建市
图库管理系统,保存图块,供设计者在进行室内设计时调用。
『3陈志明 AutoCAD2012实用教程陈道洁【3IM】.北京:机械工业出版社,
2n11
用AutoLisp建立的图库管理系统,是将每个图块用一个Dwg存放,使用
时调用“INSERT”命令插入。
功能实现如图3所示:
图3图库管理示意图
绘图时调用“INSERT’,命令插入操作即可完成。
3.4对话框的应用
对话框的使用给用户提供更多的信息和选择,能够适应众多不同的个
性化需求,强化使用者输入数据时的操作舒适性。对话框具有以下特点:
1)允许用户在对话框界面进行输入输出操作:
2)界面可包含丰富的信息最,可图文并茂、 时娃示多项信息;
3)对话框界面形象友好;
利用对话框语言DCL设计对话框的显示方式和内容,使用AutoLisp编
制支持对话框的应用程序便可完成数据的输入、传递和输出。
4实例分析
209
更多推荐
使用,图库,对话框
发布评论