[求助] (Command "ZOOM" "_E")不起作用
本帖最后由 作者 于 2009-6-19 14:46:54 编辑 <br /><br /> <p>我想轉出一個固定長寬比例的wmf,設定好畫面的長寬,但"zomm" "_e" 時,畫面並不依實際畫面縮放.但我試著加入了(VL-CMDF pause),畫面還是不正確.但轉出的圖片正確了.求解.</p><p>(Defun C:gg ()<br/> (SetVar "WMFBKGND" 0) <br/> (SetVar "WMFFOREGND" 0)<br/> ;(setq oldWidth (vla-get-Width AcadObject))<br/> (VL-LOAD-COM)<br/> (setq AcadObject(vlax-get-acad-object) ;object<br/> AcadDocument(vla-get-ActiveDocument AcadObject) ;Document<br/> mSpace(vla-get-ModelSpace AcadDocument) ;Space<br/> )<br/> (vla-put-Width AcadDocument 800)<br/> (vla-put-Height AcadDocument 600)<br/> (Command "ZOOM" "_E")<br/> (SetQ wfn "c:\\abc.wmf")<br/> (Command "WMFOUT" wfn "all" "")<br/> (PrinC) <br/>)<br/> </p> <p>(Command "ZOOM" "_E")</p><p>->(Command "ZOOM" "_E" "")</p> 還是不行,不起作用.請各位再幫忙.可以把代碼運行一下看看. 直接用 (Command "ZOOM" "_W" ........) 大哥,我還不會用取最大點和最小點.可否以我上面的程序修改教我.謝謝! <p>说错了,如果是cad2006或更高版本用</p><p>(setq ss (ssget))</p><p>(command "_.zoom" "object" ss "")</p><p>如果cad版本低,就要求选集的最小包围盒,搜索论坛应该找得到</p> <p>淮上,我在cad2006下試了不行.還請指教.</p><p>(defun C:gg ()<br/> ;初始化<br/> (SetVar "WMFBKGND" 0) <br/> (SetVar "WMFFOREGND" 0)<br/> (VL-LOAD-COM)<br/> (setq AcadObject(vlax-get-acad-object) ;object<br/> AcadDocument(vla-get-ActiveDocument AcadObject) ;Document<br/> mSpace(vla-get-ModelSpace AcadDocument) ;Space<br/> )<br/> (setq oldWidth (vla-get-Width AcadDocument))<br/> (setq oldHeight (vla-get-Height AcadDocument))<br/> (setq oldWindowState (vla-get-WindowState AcadDocument))<br/> ;轉檔<br/> (command "._zoom" "_e")<br/> (vla-put-Width AcadDocument 800)<br/> (vla-put-Height AcadDocument 600)<br/> (setq ss (ssget))<br/> (command "_.zoom" "object" ss "")</p><p> ;(vla-ZoomExtents AcadObject)<br/> ;(command "._zoom" "_e")<br/> (SetQ wfn "c:\\abc.wmf")<br/> (Command "WMFOUT" wfn "all" "")<br/> ;恢複窗口<br/> ;(if (= oldWindowState acNorm)<br/> ; ((vla-put-Width AcadDocument oldWidth)<br/> ; (vla-put-Height AcadDocument oldHeight)) <br/> ; (vla-put-WindowState AcadDocument oldWindowState)<br/> ;)<br/> ;(VL-CMDF pause)<br/> (PrinC) <br/>)<br/> </p> (Defun C:gg ()<br/> (SetVar "WMFBKGND" 0) <br/> (SetVar "WMFFOREGND" 0)<br/> (setq AcadObject(vlax-get-acad-object) ;object<br/> AcadDocument(vla-get-ActiveDocument AcadObject) ;Document<br/> )<br/> (vla-put-Width AcadDocument 800)<br/> (vla-put-Height AcadDocument 600)<br/> (vla-ZoomExtents AcadObject)<br/> (setq ss (ssget "x"))<br/> (vla-Export AcadDocument "c:\\abc""wmf" (vla-get-ActiveSelectionSet AcadDocument))<br/> (Princ)<br/>) <p>運行一次的時候他是這個樣子.並沒有縮放到位.轉出來的圖形並非我所要的比例.比例還是之前(窗口)的比例.</p><p></p> <p>我今天又試了很多次.感覺問題應該不是出在(command "._zoom" "_e")</p><p>因為即使我用</p><p> (setq top '(1110.0 1010.0))<br/> (setq bot '(990.0 890.0))<br/> (command "zoom" "w" top bot)</p><p>去處理.雖然畫面上看起來對了.但轉出來的圖還是不正確.還是之前的長寬,並沒有依800*600輸出.</p><p>求各位高人指點.</p><p><br/></p>
页:
[1]
2