明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2371|回复: 3

VBA中如何获得CAD modelspace中坐标

[复制链接]
发表于 2009-6-11 20:40:00 | 显示全部楼层 |阅读模式

Hi every master,

我是VBA编程新手,现有一问题要向高手请教,VBA中如何获得AutoCAD modelspace中所有circle和块的中心坐标,

我试了很久,都没实现,不知道可以用什么方法实现?thanks.

 

发表于 2009-6-11 21:24:00 | 显示全部楼层

使用选择集,选择圆和块。

如果是圆,则可直接读到圆心。

如果是块,则使用GetBoundingBox来取得对角点后计算中心点。

 楼主| 发表于 2009-6-13 11:16:00 | 显示全部楼层

谢谢版主的解答 ,

只不过我还是不知道用哪个命令来获取圆心,我的目的是这样的,我想遍历图形中所有的circle and block and polyline的中心位置,然后把它们中心坐标写到一个文本文件中去,不知道要用到哪几个command来实现,我买了版主二次开发的一本书,可书上也没有这方面的教材,还望版主不吝赐教。Thanks.

发表于 2009-6-13 17:47:00 | 显示全部楼层
书上没有的找帮助
  1. Sub Example_Center()
  2.    
  3.     Dim circObj As AcadCircle
  4.     Dim currCenterPt(0 To 2) As Double
  5.     Dim newCenterPt(0 To 2) As Double
  6.     Dim radius As Double
  7.    
  8.     ' Define the initial center point and radius for the circle
  9.     currCenterPt(0) = 20: currCenterPt(1) = 30: currCenterPt(2) = 0
  10.     radius = 3
  11.    
  12.     ' Create the circle in model space
  13.     Set circObj = ThisDrawing.ModelSpace.AddCircle(currCenterPt, radius)
  14.     ZoomAll
  15.     MsgBox "The center point of the circle is " & currCenterPt(0) & ", " & currCenterPt(1) & ", " & currCenterPt(2), vbInformation, "Center Example"
  16.     ' Change the center point of the circle
  17.     newCenterPt(0) = 25: newCenterPt(1) = 25: newCenterPt(2) = 0
  18.     circObj.center = newCenterPt
  19.     circObj.Update
  20.    
  21.     ' Query the results of the new center position
  22.     ' Notice the output from the center property is a variant
  23.     Dim centerPoint As Variant
  24.     centerPoint = circObj.center
  25.     MsgBox "The center point of the circle is " & centerPoint(0) & ", " & centerPoint(1) & ", " & centerPoint(2), vbInformation, "Center Example"
  26. End Sub
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 02:34 , Processed in 0.157391 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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