明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2805|回复: 10

关于autocadVBA开发精彩实例教程6.2节螺栓模型

[复制链接]
发表于 2005-4-20 13:50:00 | 显示全部楼层 |阅读模式
各位大侠,


能否帮忙看下此书中6.2螺栓模型程序,在创建六边形这一部分,有个set objpline=addpolygon(ptcen,6,7.5) ,调试过程中,说没有addpolygon()这个函数,难道在vba中没有这个函数的吗?应该怎么解决这个问题?请帮忙啊!万分感谢!
发表于 2005-4-20 15:54:00 | 显示全部楼层
addpolygon()可能是自己定义的一个函数,你在6.2节前后仔细找找,哪个地方可能有这个函数吧.
 楼主| 发表于 2005-4-20 16:52:00 | 显示全部楼层
我找了,没有的。请问有此函数的vb代码吗?谢谢了啊!
发表于 2005-4-20 17:25:00 | 显示全部楼层
我都找到了,代码如下: '创建正多边形
Public Function AddPolygon(ByVal ptCen As Variant, ByVal number As Integer, ByVal radius As Double, _
Optional width As Double = 0, Optional angle As Double = 0) As AcadLWPolyline
'定义动态数组
Dim objPline As AcadLWPolyline
Dim ptArr() As Double
'顶点的个数为number,需要2*number个元素来表示
ReDim ptArr(2 * number - 1)

'每条边对应的角度
Dim ang As Double
ang = 2 * PI / number

'为点的坐标数组赋值
Dim i As Integer
For i = 0 To 2 * number - 1
If i Mod 2 = 0 Then
ptArr(i) = ptCen(0) + radius * Cos((i \ 2) * ang)
ElseIf i Mod 2 <> 0 Then
ptArr(i) = ptCen(1) + radius * Sin((i \ 2) * ang)
End If
Next i

'创建多段线,并调整其特性
Set objPline = AddLWPline(ptArr, width)
objPline.Closed = True
objPline.Rotate ptCen, angle
objPline.Update

Set AddPolygon = objPline
End Function
 楼主| 发表于 2005-4-20 18:22:00 | 显示全部楼层
谢谢啊,在书上哪呢~?
 楼主| 发表于 2005-4-20 18:38:00 | 显示全部楼层
不对啊,我调试了,在AddLWPline(ptArr, width)         处调试不通,没有这个函数,难道这个也不是vba自带的么?需要自行编写?
 楼主| 发表于 2005-4-20 19:40:00 | 显示全部楼层
程序已经能够运行出来了,可是图象不对,不是如书上所示的螺栓图象,可完全是按照书上的程序运行啊?
 楼主| 发表于 2005-4-20 19:50:00 | 显示全部楼层
哪位高手能不能帮忙看一下下,


图象是


 楼主| 发表于 2005-4-20 19:53:00 | 显示全部楼层
图象是


www.sxszjzx.com/~c18/2.bmp
发表于 2005-5-23 23:55:00 | 显示全部楼层
问题是否已经解决?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 14:34 , Processed in 0.197977 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表