adsl1 发表于 2009-6-19 12:52:00

[求助] (Command "ZOOM" "_E")不起作用

本帖最后由 作者 于 2009-6-19 14:46:54 编辑 <br /><br /> <p>我想轉出一個固定長寬比例的wmf,設定好畫面的長寬,但"zomm" "_e" 時,畫面並不依實際畫面縮放.但我試著加入了(VL-CMDF pause),畫面還是不正確.但轉出的圖片正確了.求解.</p><p>(Defun C:gg ()<br/>&nbsp; (SetVar "WMFBKGND" 0) <br/>&nbsp; (SetVar "WMFFOREGND" 0)<br/>&nbsp; ;(setq oldWidth (vla-get-Width AcadObject))<br/>&nbsp; (VL-LOAD-COM)<br/>&nbsp; (setq AcadObject(vlax-get-acad-object)&nbsp; ;object<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AcadDocument(vla-get-ActiveDocument AcadObject)&nbsp; ;Document<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mSpace(vla-get-ModelSpace AcadDocument)&nbsp; ;Space<br/>&nbsp; )<br/>&nbsp; (vla-put-Width AcadDocument 800)<br/>&nbsp; (vla-put-Height AcadDocument 600)<br/>&nbsp; (Command "ZOOM" "_E")<br/>&nbsp; (SetQ wfn "c:\\abc.wmf")<br/>&nbsp; (Command "WMFOUT" wfn "all" "")<br/>&nbsp; (PrinC) <br/>)<br/>&nbsp;</p>

my_autocad 发表于 2009-6-21 09:25:00

<p>(Command "ZOOM" "_E")</p><p>-&gt;(Command "ZOOM" "_E" "")</p>

adsl1 发表于 2009-8-24 17:40:00

還是不行,不起作用.請各位再幫忙.可以把代碼運行一下看看.

淮上 发表于 2009-8-24 23:56:00

直接用 (Command "ZOOM" "_W" ........)

adsl1 发表于 2009-8-25 00:30:00

大哥,我還不會用取最大點和最小點.可否以我上面的程序修改教我.謝謝!

淮上 发表于 2009-8-25 00:41:00

<p>说错了,如果是cad2006或更高版本用</p><p>(setq ss (ssget))</p><p>(command "_.zoom" "object" ss "")</p><p>如果cad版本低,就要求选集的最小包围盒,搜索论坛应该找得到</p>

adsl1 发表于 2009-8-25 01:01:00

<p>淮上,我在cad2006下試了不行.還請指教.</p><p>(defun C:gg ()<br/>&nbsp; ;初始化<br/>&nbsp; (SetVar "WMFBKGND" 0) <br/>&nbsp; (SetVar "WMFFOREGND" 0)<br/>&nbsp; (VL-LOAD-COM)<br/>&nbsp; (setq AcadObject(vlax-get-acad-object)&nbsp; ;object<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AcadDocument(vla-get-ActiveDocument AcadObject)&nbsp; ;Document<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mSpace(vla-get-ModelSpace AcadDocument)&nbsp; ;Space<br/>&nbsp; )<br/>&nbsp; (setq oldWidth (vla-get-Width AcadDocument))<br/>&nbsp; (setq oldHeight (vla-get-Height AcadDocument))<br/>&nbsp; (setq oldWindowState (vla-get-WindowState AcadDocument))<br/>&nbsp; ;轉檔<br/>&nbsp; (command "._zoom" "_e")<br/>&nbsp; (vla-put-Width AcadDocument 800)<br/>&nbsp; (vla-put-Height AcadDocument 600)<br/>&nbsp; (setq ss (ssget))<br/>&nbsp; (command "_.zoom" "object" ss "")</p><p>&nbsp; ;(vla-ZoomExtents AcadObject)<br/>&nbsp; ;(command "._zoom" "_e")<br/>&nbsp; (SetQ wfn "c:\\abc.wmf")<br/>&nbsp; (Command "WMFOUT" wfn "all" "")<br/>&nbsp; ;恢複窗口<br/>&nbsp; ;(if (= oldWindowState acNorm)<br/>&nbsp; ;&nbsp; ((vla-put-Width AcadDocument oldWidth)<br/>&nbsp; ;&nbsp;&nbsp; (vla-put-Height AcadDocument oldHeight))&nbsp;&nbsp;&nbsp; <br/>&nbsp; ;&nbsp; (vla-put-WindowState AcadDocument oldWindowState)<br/>&nbsp; ;)<br/>&nbsp; ;(VL-CMDF pause)<br/>&nbsp; (PrinC) <br/>)<br/>&nbsp;</p>

淮上 发表于 2009-8-25 01:19:00

(Defun C:gg ()<br/>&nbsp; (SetVar "WMFBKGND" 0) <br/>&nbsp; (SetVar "WMFFOREGND" 0)<br/>&nbsp; (setq AcadObject(vlax-get-acad-object)&nbsp; ;object<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AcadDocument(vla-get-ActiveDocument AcadObject)&nbsp; ;Document<br/>&nbsp; )<br/>&nbsp; (vla-put-Width AcadDocument 800)<br/>&nbsp; (vla-put-Height AcadDocument 600)<br/>&nbsp; (vla-ZoomExtents AcadObject)<br/>&nbsp; (setq ss (ssget "x"))<br/>&nbsp; (vla-Export AcadDocument "c:\\abc""wmf" (vla-get-ActiveSelectionSet AcadDocument))<br/>&nbsp; (Princ)<br/>)

adsl1 发表于 2009-8-25 10:19:00

<p>運行一次的時候他是這個樣子.並沒有縮放到位.轉出來的圖形並非我所要的比例.比例還是之前(窗口)的比例.</p><p></p>

adsl1 发表于 2009-8-25 12:47:00

<p>我今天又試了很多次.感覺問題應該不是出在(command "._zoom" "_e")</p><p>因為即使我用</p><p>&nbsp; (setq top '(1110.0 1010.0))<br/>&nbsp; (setq bot '(990.0 890.0))<br/>&nbsp; (command "zoom" "w" top bot)</p><p>去處理.雖然畫面上看起來對了.但轉出來的圖還是不正確.還是之前的長寬,並沒有依800*600輸出.</p><p>求各位高人指點.</p><p><br/></p>
页: [1] 2
查看完整版本: [求助] (Command "ZOOM" "_E")不起作用