[求助]如何获取当前视口(是主视、俯视、……)模式?
<p>这是与三维有关,如打开一个DWG文件,如果当前模型空间视口是俯视、或西南等轴测……,则切换为主视模式。</p><p>如何获取当前视口是何种模式?谢谢!</p> <p>请参考DXF的viewport段。</p><p><font style="BACKGROUND-COLOR: #316ac5;">VIEWPORT</font></p><p><table class="BasicLeft" rules="cols" cellspacing="0"><tbody><tr class="row_2"><td class="BasicLeft_CELL"><p class="table_body">79</p></td><td class="BasicLeft_CELL"><p class="table_body">UCS 的正交类型:</p><p class="table_body">0 = UCS 为非正交视图</p><p class="table_body">1 = 俯视图;2 = 仰视图</p><p class="table_body">3 = 主视图;4 = 后视图</p><p class="table_body">5 = 左视图;6 = 右视图</p></td></tr></tbody></table></p><p></p><p>所以如果其(cdr (assoc 79 DXF))为0的话,可以判断为非正交视图。</p> <p>谢谢版主的指点,非常感谢!</p><p>由于以前只用过图元数据,不明白在(cdr (assoc 79 DXF))中,当前视口的DXF怎么得到?</p><p>例如:如果当前模型空间视口是俯视,则切换为主视,类似(setq dxf(entget ?))这样的语句具体怎么写?</p> (vla-get-activeViewport (vla-get-activeDocument (vlax-get-acad-object))) highflybir发表于2009-7-29 12:41:00static/image/common/back.gif(vla-get-activeViewport (vla-get-activeDocument (vlax-get-acad-object)))<p></p>再次谢谢!正在研究中……。 <p>正在困惑中……还是不会用呀……?</p><p> </p><p></p> <p>(setq obj(vla-get-activeViewport (vla-get-activeDocument (vlax-get-acad-object))))</p><p>(assoc 79 (entget (vlax-vla-object->ename obj)))</p> cauin发表于2009-7-30 11:22:00static/image/common/back.gif(setq obj(vla-get-activeViewport (vla-get-activeDocument (vlax-get-acad-object))))(assoc 79 (entget (vlax-vla-object->ename obj)))谢谢你的指点,但是无论怎么切换视图,(assoc 79 (entget (vlax-vla-object->ename obj)))总是返回(79 0)?这是为什么呢?(defun C:tst( )
(vl-load-com)
(setq obj(vla-get-activeViewport (vla-get-activeDocument (vlax-get-acad-object))))
(print (cdr(assoc 79 (entget (vlax-vla-object->ename obj)))));这句永远返回 0 值?
(princ)
)
页:
[1]