ningyong58 发表于 2009-8-31 15:51:00

[转帖]建立图纸空间视口

本帖最后由 作者 于 2009-8-31 22:20:44 编辑 <br /><br /> <p><a href="http://www.mjtd.com/Manual/ArticleShow.asp?ArticleID=681">http://www.mjtd.com/Manual/ArticleShow.asp?ArticleID=681</a></p><p class="pagenom">图纸空间视口是由AddPViewport方法建立的。这个方法需要输入一个中心点及新视口的宽度和高度。在建立新视口之前,要用ActiveSpace属性将图纸空间设为当前的空间(通常是将TILEMODE设为0)。</p><p class="pagenom">在建立了一个Pviewport对象之后,你可以设置这个视图自己的属性,例如观察方向(Direction属性)、透视图的焦距(LensLength属性)以及栅格显示(GridOn属性)。你也可以控制视口自己的属性,例如图层(Layer属性),线型(Linetype属性), <br/>以及线型比例 (LinetypeScale属性)。</p><p class="pagenom">要学更多VBA见<a href="http://www.mjtd.com/Manual/ShowClass.asp?ClassID=60&amp;SpecialID=0&amp;page=1">http://www.mjtd.com/Manual/ShowClass.asp?ClassID=60&amp;SpecialID=0&amp;page=1</a></p><p class="pagenom"></p><p class="pagenom">Sub ll()<br/>&nbsp; Dim objLayout As AcadLayout, objLayouts As AcadLayers<br/>&nbsp; With ThisDrawing<br/>&nbsp;&nbsp;&nbsp; Set objLay = .Layers.Add("aa")<br/>&nbsp;&nbsp;&nbsp; Set objLay = .Layers.Add("bb")<br/>&nbsp;&nbsp;&nbsp; For Each objLayout In .Layouts<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Debug.Print objLayout.Name<br/>&nbsp;&nbsp;&nbsp; Next objLayout<br/>&nbsp;&nbsp;&nbsp; .ActiveLayout = .Layouts("布局1")<br/>&nbsp;&nbsp;&nbsp; Set objLayout = .Layouts("布局1")<br/>&nbsp;&nbsp;&nbsp; Debug.Print objLayout.ViewToPlot<br/>&nbsp;&nbsp;&nbsp; '.Layers("aa").LayerOn = False<br/>&nbsp;&nbsp;&nbsp; ZoomExtents<br/>&nbsp;&nbsp;&nbsp; .MSpace = True<br/>&nbsp;&nbsp;&nbsp; ZoomExtents<br/>&nbsp;&nbsp;&nbsp; .SendCommand "VPLayer" &amp; vbCr &amp; "F" &amp; vbCr &amp; "aa" &amp; vbCr &amp; vbCr &amp; vbCr<br/>&nbsp; End With<br/>End Sub</p>
页: [1]
查看完整版本: [转帖]建立图纸空间视口