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