cad二次开发中介绍vba
源代码在线查看: cad世界__autocad vba初级教程 (第五课 画函数曲线).htm
CAD世界__Autocad VBA初级教程 (第五课 画函数曲线)
BODY {
BACKGROUND-IMAGE: url(image/pagebg.gif)
}
.style1 {
FONT-WEIGHT: bold; COLOR: #ff0066
}
.style2 {
FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Times New Roman, Times, serif, "黑体"
}
.style3 {
COLOR: #336699
}
.style4 {
COLOR: #333333
}
.style6 {
COLOR: #f76c8c
}
.style15 {
COLOR: #ff0033
}
.style16 {
FONT-WEIGHT: bold; COLOR: #ff0000
}
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
rel=stylesheet>
src="CAD世界__Autocad VBA初级教程 (第五课 画函数曲线).files/headadA.js">
src="CAD世界__Autocad VBA初级教程 (第五课 画函数曲线).files/headmenuA.js">
align=center>
src="CAD世界__Autocad VBA初级教程 (第五课 画函数曲线).files/mu_search_red.gif"
width=159>
value=all name=datesearch> name=AreaSearch>
src="CAD世界__Autocad VBA初级教程 (第五课 画函数曲线).files/leftmenu2_01_red.gif"
width=159>
src="CAD世界__Autocad VBA初级教程 (第五课 画函数曲线).files/class2.js">
src="CAD世界__Autocad VBA初级教程 (第五课 画函数曲线).files/leftmenu2_02_red.gif"
width=160>
src="CAD世界__Autocad VBA初级教程 (第五课 画函数曲线).files/lttop6.js">
src="CAD世界__Autocad VBA初级教程 (第五课 画函数曲线).files/mu_mail_red.gif"
width=160>
src="CAD世界__Autocad VBA初级教程 (第五课 画函数曲线).files/tougaoA.js">
background="CAD世界__Autocad VBA初级教程 (第五课 画函数曲线).files/lbg1.gif">
-->
当前位置:ICAD >> 数字化设计 >> CAD >>
正文
style="FONT-SIZE: 16px">Autocad VBA初级教程 (第五课 画函数曲线) height=12 src="CAD世界__Autocad VBA初级教程 (第五课 画函数曲线).files/zi.jpg"
width=15>
作者:普天同庆 | 阅读次数:1190 转自: color=#cc0000>CAD世界网-论坛
时间:2005年5月30日15:38
size=3>
先画一组下图抛物线。
src="CAD世界__Autocad VBA初级教程 (第五课 画函数曲线).files/20055892956.jpg">
下面是源码:Sub myl()Dim p(0 To 49) As Double '定义点坐标Dim
myl As Object '定义引用曲线对象变量co = 15 '定义颜色For a = 0.01 To 1 Step
0.02 '开始循环画抛物线 For i = -24 To 24 Step 2
'开始画多段线 j = i + 24
'确定数组元素 p(j) = i '横坐标
p(j + 1) = a * p(j) * p(j) / 10 '纵坐标 Next i
'至此p(0)-p(40)所有元素已定义,结束循环 Set myl =
ThisDrawing.ModelSpace.AddLightWeightPolyline(p) '画多段线
myl.Color = co '设置颜色属性 co = co + 1 '改变颜色,供下次定义曲线颜色Next
aEnd sub
为了鼓励大家积极思考,从本课开始,我不再解释每一条语句的作用,只对以前没有提过的语句进行一些解释,也许你一时很难明白,建议用上一课提到的跟踪变量、添加断点的办法领悟每一条语句的作用,如果有问题不懂请跟贴提问。在跟踪变量p时请在跟踪窗口中单击变量p前的+号,这样可以看清数组p中每一个元素的变化。
ACAD没有现成的画抛物线命令,我们只能用程序编写多段线画近似抛物线。理论上,抛物线的X值可以是无限小、无限大,这里取值范围在正负24之间。
程序第二行:Dim myl As Object
'定义引用曲线对象变量Object也是一种变量类型,它可以把变量定义为对象,本例中myl变量将引用多段线,所以要定义为Objet类型。
看画多段线命令:Set myl =
ThisDrawing.ModelSpace.AddLightWeightPolyline(p)
'画多段线其中括号中的p是一个数组,这个数组的元素数必须是偶数,每两个元数作为一个点坐标。等号前面部分“Set
myl”的作用就将myl变量去引用画好的多段线。myl.Color = co
'设置颜色属性。在ACAD中,颜色可以用数字表示,本例中co会增值,这样就会有五彩缤纷的效果。
本课第二张图:正弦曲线,下面是源码:Sub sinl()Dim p(0 To 719) As Double
'定义点坐标For i = 0 To 718 Step 2 '开始画多段线 p(i)
= i * 2 * 3.1415926535897 / 360 '横坐标 p(i + 1)
= 2 * Sin(p(i)) '纵坐标Next
iThisDrawing.ModelSpace.AddLightWeightPolyline (p)
'画多段线ZoomExtents '显示整个图形End Sub
p(i) = i * 2 * 3.1415926535897 / 360
'横坐标横坐标表示角度,后面表达式的作用是把角度转化弧度ZoomExtents语句是缩放命令,它的作用是显示整个图形,消除图形以外的区域
本课思考题:画一条抛物线:y=0.5*x*x+3,其中X取值范围在正负50之间(编辑:zhaozh)
if (window.print) {
document.write('【打印本文】 ');
}
// End -->
【 href="http://old.icad.com.cn/review/index.asp?article=2005530153847"
target=_blank>发表评论】【 href="javascript:window.close()"> color=#cc0000>关闭窗口】
上一篇: href="http://old.icad.com.cn/html/2005-5-30/2005530153745.asp"
target=_blank>[文章]Autocad VBA初级教程 (第四课 程序的调试和保存)下一篇: href="http://old.icad.com.cn/html/2006-6-1/200661105959.asp"
target=_blank>[文章]CATIA车座设计中文教程(二)
src="CAD世界__Autocad VBA初级教程 (第五课 画函数曲线).files/endA.js">