jiapeng2008 发表于 2009-2-27 18:17:00

如何获得图纸空间中与视口相对应模型空间中的位置

<p>各位大虾好:</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 遇到一个问题。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 模型空间里有一个路线的平面图,我做了很多标记,主要是文字。因为在模型空间里的文字都是一个方向。而打印是在图纸空间打印,而每个布局里的视口的方向因为路线曲折因素而不同。我想在每个图纸空间里的视口里修改在其中的文本的角度属性。主要问题是:某个布局里的视口多边形如何映射到模型空间的对应位置。如果这个问题可以解决,那么我可以据此建立多边形对应的选择集,统一修改就行了。我怎么做呢?</p>

fjfhgdwfn 发表于 2009-2-27 22:21:00

<p>Public Sub VPCoords(vp As AcadPViewport, ll, ur)</p><p>&nbsp;&nbsp;&nbsp; Dim min, max, oldMode As Boolean<br/>&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; vp.GetBoundingBox min, max<br/>&nbsp;&nbsp;&nbsp; oldMode = ThisDrawing.MSpace<br/>&nbsp;&nbsp;&nbsp; ThisDrawing.MSpace = True<br/>&nbsp;&nbsp;&nbsp; ll = ThisDrawing.Utility.TranslateCoordinates(min, acPaperSpaceDCS, acDisplayDCS, False)<br/>&nbsp;&nbsp;&nbsp; ur = ThisDrawing.Utility.TranslateCoordinates(max, acPaperSpaceDCS, acDisplayDCS, False)<br/>&nbsp;&nbsp;&nbsp; ThisDrawing.MSpace = oldMode<br/>&nbsp;&nbsp;&nbsp; <br/>End Sub<br/>这个程序可以实现反图纸中的视口最大点和最小点找出对应模型窗口,你改下就可以直接用了。</p>

jiapeng2008 发表于 2009-2-28 00:03:00

是。Psdcs 转到DCS,然后再转到WCS。里坐标就和模型空间里相同了。
页: [1]
查看完整版本: 如何获得图纸空间中与视口相对应模型空间中的位置