玩软件 > AutoCAD
+

AutoCAD VBA编程初级教程(5)

2016-09-26    作者:未知    来源:网络文摘

第五课 画函数曲线

    先画一组下图抛物线

AutoCAD_VBA编程初级教程 图1

    下面是源码:
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 a
End 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 i
ThisDrawing.ModelSpace.AddLightWeightPolyline (p) '画多段线
ZoomExtents '显示整个图形
End Sub
p(i) = i * 2 * 3.1415926535897 / 360 '横坐标
    横坐标表示角度,后面表达式的作用是把角度转化弧度
ZoomExtents语句是缩放命令,它的作用是显示A个图形,消除图形以外的区域

    本课思考题:画一条抛物线:y=0.5*x*x+3,其中X取值范围在正负50之间

阅读:15722    评论:0
  • 相关文章
  • 热门文章
  • 相关评论
网站地图

免责申明:我要玩起网旨在提供一个相互学习交流的平台,是一个完全免费的网站,部分原创作品,欢迎转载,部分内容来自互联网,如果侵犯了您的权利请尽快通知我们!邮箱:279459762@qq.com Copyright 2018-2021我要玩起网

  湘ICP备17006802号-2
【电脑版】  【回到顶部】