明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1524|回复: 2

求教

[复制链接]
发表于 2007-1-19 23:27:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2007-1-19 23:41:10 编辑

我是刚开始学习AutoCAD VBA,想试着编一段,结果总是出错,因为没有老师,全靠自学,困难程度可想而知,幸好我找到了这个网站,看着这里高手如云,心里很是激动,又担心距离相差太大,没人愿意指点我.如有哪位老师不计较我的肤浅可笑,愿意指点我,在下万分感谢,愿择良日行拜师大礼.

下面是我的一段代码,可能有许多处低级错误,烦请老师们看看,帮我指正一下,谢谢了.

Sub dor()
Dim cir As AcadCircle  '我的想法是遍历选择集中的圆,标出圆心的x坐标

Dim cen(0 To 2) As Double  '定义圆心
Dim sset As AcadSelectionSet                              '定义选择集
Set sset = ThisDrawing.SelectionSets.Add("ss2") '
sset.SelectOnScreen '
On Error Resume Next '
For Each cir In sset '
cen(0) = cir.Center(0) '找出圆心坐标
cen(1) = cir.Center(1)
cen(2) = cir.Center(2)
Dim pt(0 To 2) As Double
pt(0) = cen(0): pt(1) = cen(1) - 5: pt(3) = 0 '   定义尺寸线,向下拉5单位


Dim line As AcadLine

Set line = ThisDrawing.ModelSpace.AddLine(cen, pt) '画尺寸线


Call ThisDrawing.ModelSpace.AddText(CStr(cen(0)), pt, 3) '标出坐标值

Next
sset.Delete
End Sub

发表于 2007-1-22 08:48:00 | 显示全部楼层
  1. Sub dor()
  2. Dim cir As AcadCircle  '我的想法是遍历选择集中的圆,标出圆心的x坐标
  3. Dim cen(0 To 2) As Double  '定义圆心
  4. Dim sset As AcadSelectionSet '定义选择集
  5. On Error Resume Next '程序只需要一个就可以了
  6. Set sset = ThisDrawing.SelectionSets.Add("ss2") '
  7. '建立圆的选择集最快了
  8. Dim FilterType(0) As Integer
  9. Dim FilterData(0) As Variant
  10. FilterType(0) = 0: FilterData(0) = "circle" '过滤条件
  11. sset.SelectOnScreen FilterType, FilterData
  12. Dim pt(0 To 2) As Double '变量定义尽量放到循环外
  13. Dim line As AcadLine
  14. For Each cir In sset '
  15. cen(0) = cir.Center(0) '找出圆心坐标
  16. cen(1) = cir.Center(1)
  17. cen(2) = cir.Center(2)
  18. pt(0) = cen(0): pt(1) = cen(1) - 5: pt(3) = 0 '   定义尺寸线,向下拉5单位
  19. Set line = ThisDrawing.ModelSpace.AddLine(cen, pt) '画尺寸线
  20. Call ThisDrawing.ModelSpace.AddText(CStr(cen(0)), pt, 3) '标出坐标值
  21. Next
  22. sset.Delete
  23. End Sub
 楼主| 发表于 2007-1-28 21:00:00 | 显示全部楼层
谢谢楼上老师,你的指点让我进步不少.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 18:34 , Processed in 0.176630 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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