fengfan 发表于 2007-4-3 14:21:00

vba取直线俩端点与autocad中的不一致,为什么?帮忙

<p>vba取直线俩端点与autocad中的不一致,取的是x轴和y轴 在cad中显示 两个端点 x =0 或者 y =0 但是通过vba取出来却不是.是那里出现了误差?怎么解决?只有一个正确.</p><p>&nbsp;</p><p>&nbsp;</p><p>0&nbsp; -239.524761643031&nbsp; 0&nbsp; 302.065585840464<br/>392.5594&nbsp; 0&nbsp; -360&nbsp; 1.4210854715202E-13<br/>-2.27373675443232E-13&nbsp; 7.105427357601E-14&nbsp; 39.9999999999998&nbsp; -11.9999999999997<br/>-40.0000000000002&nbsp; 15.0000000000001&nbsp; -2.27373675443232E-13&nbsp; 7.105427357601E-14</p><p>&nbsp;</p><p>Public Sub shanchu()<br/>&nbsp;&nbsp;&nbsp; Dim fs<br/>&nbsp;&nbsp;&nbsp; Dim a<br/>&nbsp;&nbsp;&nbsp; Set fs = CreateObject("Scripting.FileSystemObject")<br/>&nbsp;&nbsp;&nbsp; Set a = fs.CreateTextFile(ThisDrawing.Path + ThisDrawing.Name + ".txt", True)<br/>&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; Dim item As AcadEntity<br/>&nbsp;&nbsp;&nbsp; Dim eLine As AcadLine<br/>&nbsp;&nbsp;&nbsp; For Each item In ThisDrawing.ModelSpace<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'a.writeline (item.EntityName)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If (item.EntityName = "AcDbLine") Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set eLine = item<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a.writeline (eLine.StartPoint(0) &amp; "&nbsp; " &amp; eLine.StartPoint(1) &amp; "&nbsp; " &amp; eLine.EndPoint(0) &amp; "&nbsp; " &amp; eLine.EndPoint(1))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br/>&nbsp;&nbsp;&nbsp; Next<br/>&nbsp;&nbsp;&nbsp; a.Close<br/>End Sub<br/></p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>

翔羽 发表于 2007-4-3 20:52:00

要进行用户坐标系和世界坐标系之间的转化
页: [1]
查看完整版本: vba取直线俩端点与autocad中的不一致,为什么?帮忙