[求助][VBA]急:如何读取端点坐标?
请问vba里有可以直接读取图形中直线、弧线等的端点坐标吗? Obj.StartPointObj.EndPoint
太感谢了,我看书都看不懂
再问一下,obj指的是整幅图,还是图中的某条线段?用这个就可以把图中所有线段的端点读出来了?
当然是一条直线、弧线的,你想要所有的得做个循环 怎么做循环阿?可以不用鼠标直接自动从图中读取所有直线、弧线的端点坐标吗?
我看过好多帖子都是需要用鼠标选中直线的
Sub GetThePoint()
Dim Entry As AcadEntity
Dim StrPnt As Variant
Dim EndPnt As Variant
Dim TextString As String
For Each Entry In ThisDrawing.ModelSpace
If TypeName(Entry) = "IAcadLine" Or TypeName(Entry) = "IAcadArc" Or TypeName(Entry) = "IAcadEllipse" Then
StrPnt = Entry.StartPoint
EndPnt = Entry.EndPoint
TextString = "物体: " + TypeName(Entry) + vbCr
TextString = TextString + "起点坐标 X=" + Trim(Str(StrPnt(0))) + vbCr
TextString = TextString + "起点坐标 Y=" + Trim(Str(StrPnt(1))) + vbCr
TextString = TextString + "起点坐标 Z=" + Trim(Str(StrPnt(2))) + vbCr
TextString = TextString + "终点坐标 X=" + Trim(Str(EndPnt(0))) + vbCr
TextString = TextString + "终点坐标 Y=" + Trim(Str(EndPnt(1))) + vbCr
TextString = TextString + "终点坐标 Z=" + Trim(Str(EndPnt(2)))
MsgBox TextString
End If
Next Entry
End Sub
谢谢各位了,我可不可以说一下我的论文思路,你们帮我看一下?:)
我是想在读出图中的端点坐标以后,将这些端点中y值最大的两个点的连线作为x'轴,两点连线的中垂线最为y'轴。然后求出图中所有的直线、弧线跟x'轴,y'轴的交点,比较交点的y坐标,最后输出y坐标最大的交点所在的直线的长度和角度。
页:
[1]