淮上 发表于 2009-8-25 16:56:00
<p>我明白了,我8楼的代码没问题,是显示器分辨率的问题,假如你的当前分辨率为1024*768,而cad的图形窗口设为600,去掉cad标题、菜单、工具栏、命令行等占用的像素,图形窗口的实际像素<600,所以会出现这个问题</p><p>你把图形窗口的高度设置小一点就没问题了,如</p><p> (vla-put-Height AcadDocument 400)</p>adsl1 发表于 2009-8-27 16:07:00
<p>也是不行的.這個我考慮到.按Ctrl+0和Ctrl+9.把那些菜單,命令行什么的.去掉.還是不行的.我的顯示器是1440*1050第一次轉出來的圖形是這樣的.</p><p> </p><p></p><p>為了確認其不受顯示器影響.我特地弄成了長寬相等.</p><p> (vla-put-Width AcadDocument 300)<br/> (vla-put-Height AcadDocument 300)</p>淮上 发表于 2009-8-27 16:25:00
上面的图片不是已经可以了?adsl1 发表于 2009-8-27 17:03:00
<p>上面的圖片是不正確的.因為我設的長寬比例是300.第第次還是用了未縮放窗口之前的長寬.要這樣才正確</p><p> </p><p></p><p></p><p>附程序</p><p>(Defun C:gg ()<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/> )<br/> ;(command "_CleanScreenON")<br/> ;(command "_commandlinehide")<br/> ;(vla-put-WindowState AcadObject acNorm)<br/> ;(vla-put-Width AcadObject 300)<br/> ;(vla-put-Height AcadObject 300)<br/> (vla-put-Width AcadDocument 300)<br/> (vla-put-Height AcadDocument 300)<br/> (vla-ZoomExtents AcadObject)<br/> (command "_zoom" "_E" "")<br/> (setq AcadObject(vlax-get-acad-object) ;object<br/> AcadDocument(vla-get-ActiveDocument AcadObject) ;Document<br/> ) <br/> (setq ss (ssget "x"))<br/> (vla-Export AcadDocument "c:\\abc" "wmf" (vla-get-ActiveSelectionSet AcadDocument))<br/> (Princ)<br/>)</p>
页:
1
[2]