明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1238|回复: 5

[提问] 关于设定打印机参数

[复制链接]
发表于 2024-9-6 15:11:32 | 显示全部楼层 |阅读模式
  1. (defun c:gg()
  2.   (setq obj(vlax-ename->vla-object(car(entsel "\n点击要打印的外框:"))))(or obj(quit))
  3.   (vla-getboundingbox obj 'minp 'maxp)
  4.   (setq p1(vlax-safearray->list minp))
  5.   (setq p9(vlax-safearray->list maxp))
  6.   (setq desktop(strcat(vla-item(vlax-get(vlax-create-object "WScript.Shell" )'SpecialFolders)"Desktop")"\\PDF图纸"));---获取桌面位置
  7.   (if(>(-(car p9)(car p1))(-(cadr p9)(cadr p1)));---如果宽度大于高度,横向打印,否则纵向打印
  8.     (setq fx "l")
  9.     (setq fx "p")
  10.   )
  11.   (setvar "CMDECHO" 0)
  12.   (command "-plot" "y" "模型" "DWG To PDF.pc3" "ISO full bleed 4A0 (1682.00 x 2378.00 毫米)" "m" fx "n" "w" "non" p1 "non" p9 "f" "c" "y" "" "y" "a" desktop "n" "y")
  13.   (setvar "CMDECHO" 1)
  14.   (princ)
  15. )



请问这段里面的command命令,如何改成其他方式编写?比如vla函数。
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2024-9-6 17:24:21 | 显示全部楼层
http://bbs.xdcad.net/forum.php?m ... B%E6%89%93%E5%8D%B0
看看晓东的
(vl-load-com)
(defun PlotToFile (ConfigName         MediaName     Window
                   FileName         /               AcadObj
                   ActiveDocObj         ActiveLayoutObj
                   PlotObj
                  )
  (setq        AcadObj                (vlax-get-acad-object)
        ActiveDocObj        (vla-get-ActiveDocument AcadObj)
        ActiveLayoutObj        (vla-get-ActiveLayout ActiveDocObj)
  )
  (vla-RefreshPlotDeviceInfo ActiveLayoutObj)
  (vla-Put-ConfigName ActiveLayoutObj ConfigName)
  (setq PlotObj (vla-get-Plot ActiveDocObj))
  (vla-Put-CanonicalMediaName ActiveLayoutObj MediaName)
  (vla-Put-StandardScale ActiveLayoutObj acScaleToFit)
  (vla-Put-PlotRotation ActiveLayoutObj ac0degrees)
  (vla-put-PlotOrigin
    ActiveLayoutObj
    (vlax-make-variant
      (vlax-make-safearray vlax-vbDouble '(0 . 1))
    )
  )
  (vla-Put-CenterPlot ActiveLayoutObj :vlax-false)
  (vla-SetWindowToPlot
    ActiveLayoutObj
    (vlax-make-variant
      (vlax-safearray-fill
        (vlax-make-safearray vlax-vbDouble '(0 . 1))
        (car Window)
      )
    )
    (vlax-make-variant
      (vlax-safearray-fill
        (vlax-make-safearray vlax-vbDouble '(0 . 1))
        (cadr Window)
      )
    )
  )
  (vla-Put-PlotType ActiveLayoutObj acWindow)
  (vla-PlotToFile PlotObj FileName)
  (foreach o (list PlotObj ActiveLayoutObj ActiveDocObj AcadObj)
    (vlax-release-object o)
  )
)

(PlotToFile
  "DWG To PDF.pc3"
  "ANSI_A_(11.00_x_8.50_Inches)"
  (list (list 0 0) (list 100 100))
  (strcat (getvar "DWGPREFIX") (getvar "DWGNAME") ".pdf")
)
 楼主| 发表于 2024-9-7 09:44:07 | 显示全部楼层
sandyvs 发表于 2024-9-6 17:24
http://bbs.xdcad.net/forum.php?mod=viewthread&tid=727578&highlight=%E9%80%9A%E7%94%A8%2B%E6%89%93%E5 ...

我滴天,跟天书一样。
发表于 2024-9-14 23:40:17 | 显示全部楼层
sandyvs 发表于 2024-9-6 17:24
http://bbs.xdcad.net/forum.php?mod=viewthread&tid=727578&highlight=%E9%80%9A%E7%94%A8%2B%E6%89%93%E5 ...

试了一下这个,输出文件时,好慢。
发表于 2024-9-19 09:01:01 | 显示全部楼层
qazxswk 发表于 2024-9-14 23:40
试了一下这个,输出文件时,好慢。

按说应该不会,应该是跟cad文件本身有关系吧
发表于 2024-9-19 22:50:03 | 显示全部楼层
sandyvs 发表于 2024-9-19 09:01
按说应该不会,应该是跟cad文件本身有关系吧

我找到解决办法了。谢谢你的源代码。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-22 20:31 , Processed in 0.190623 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表