明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2218|回复: 6

如何获得矩形的4个点的坐标

[复制链接]
发表于 2007-7-12 15:39:00 | 显示全部楼层 |阅读模式

用什么样的命令可以获得AutoCAD中一个矩形的四个点的坐标,并且在其中的一个点上建立新的坐标系。

发表于 2007-7-12 16:37:00 | 显示全部楼层
本帖最后由 作者 于 2007-7-12 17:14:58 编辑

object.GetBoundingBox MinPoint, MaxPoint

发表于 2007-7-12 17:49:00 | 显示全部楼层
如果是不平行于坐标系的呢?
发表于 2007-7-13 10:31:00 | 显示全部楼层
矩形就是多义线,用多义线的命令。<pre class="Code">Sub Example_Coordinates()
    ' This example creates a polyline. It then uses the Coordinates
    ' property to return all the coordinates  in the polyline. It then
    ' resets one of the vertices using the Coordinates property.
   
    Dim plineObj As AcadPolyline

    ' Create Polyline
    Dim points(5) As Double
    points(0) = 3: points(1) = 7: points(2) = 0
    points(3) = 9: points(4) = 2: points(5) = 0
    Set plineObj = ThisDrawing.ModelSpace.AddPolyline(points)
    ThisDrawing.Regen True

    ' Return all the coordinates of the polyline
    Dim retCoord As Variant
    retCoord = plineObj.Coordinates

    ' Display current coordinates for the first vertex
    MsgBox "The current coordinates of the second vertex are: " &amp; points(3) &amp; ", " &amp; points(4) &amp; ", " &amp; points(5), vbInformation, "Coordinates 示例"

    ' Modify the coordinate of the second vertex to (5,5,0). Note that in
    ' case of a lightweight Polyline, indices will be different because the points are 2D only.
    points(3) = 5
    points(4) = 5
    points(5) = 0
    plineObj.Coordinates = points

    ' Update display
    ThisDrawing.Regen True

    MsgBox "The new coordinates have been set to " &amp; points(3) &amp; ", " &amp; points(4) &amp; ", " &amp; points(5), vbInformation, "Coordinates 示例"
End Sub</pre>
发表于 2007-7-13 10:31:00 | 显示全部楼层
<pre class="Code">Sub Example_Coordinates()
    ' This example creates a polyline. It then uses the Coordinates
    ' property to return all the coordinates  in the polyline. It then
    ' resets one of the vertices using the Coordinates property.
   
    Dim plineObj As AcadPolyline

    ' Create Polyline
    Dim points(5) As Double
    points(0) = 3: points(1) = 7: points(2) = 0
    points(3) = 9: points(4) = 2: points(5) = 0
    Set plineObj = ThisDrawing.ModelSpace.AddPolyline(points)
    ThisDrawing.Regen True

    ' Return all the coordinates of the polyline
    Dim retCoord As Variant
    retCoord = plineObj.Coordinates

    ' Display current coordinates for the first vertex
    MsgBox "The current coordinates of the second vertex are: " &amp; points(3) &amp; ", " &amp; points(4) &amp; ", " &amp; points(5), vbInformation, "Coordinates 示例"

    ' Modify the coordinate of the second vertex to (5,5,0). Note that in
    ' case of a lightweight Polyline, indices will be different because the points are 2D only.
    points(3) = 5
    points(4) = 5
    points(5) = 0
    plineObj.Coordinates = points

    ' Update display
    ThisDrawing.Regen True

    MsgBox "The new coordinates have been set to " &amp; points(3) &amp; ", " &amp; points(4) &amp; ", " &amp; points(5), vbInformation, "Coordinates 示例"
End Sub</pre>
发表于 2007-8-13 22:02:00 | 显示全部楼层

谢谢楼上精彩的解答

我顺便问一下如何获取图形里所有圆的圆心坐标呢

是遍历所有图元吗?

具体如何实现呢?

谢谢

发表于 2007-8-16 15:57:00 | 显示全部楼层
建立圆选择集,遍历所有图元,取圆心
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-22 18:47 , Processed in 0.183320 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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