找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 861|回复: 3

[每日一码] 打印到文件通用函数

[复制链接]

已领礼包: 20个

财富等级: 恭喜发财

发表于 2021-1-29 01:50:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 marting 于 2021-1-29 01:54 编辑

  1. (vl-load-com)
  2. (defun PlotToFile (ConfigName         MediaName     Window
  3.                    FileName         /               AcadObj
  4.                    ActiveDocObj         ActiveLayoutObj
  5.                    PlotObj
  6.                   )
  7.   (setq        AcadObj                (vlax-get-acad-object)
  8.         ActiveDocObj        (vla-get-ActiveDocument AcadObj)
  9.         ActiveLayoutObj        (vla-get-ActiveLayout ActiveDocObj)
  10.   )
  11.   (vla-RefreshPlotDeviceInfo ActiveLayoutObj)
  12.   (vla-Put-ConfigName ActiveLayoutObj ConfigName)
  13.   (setq PlotObj (vla-get-Plot ActiveDocObj))
  14.   (vla-Put-CanonicalMediaName ActiveLayoutObj MediaName)
  15.   (vla-Put-StandardScale ActiveLayoutObj acScaleToFit)
  16.   (vla-Put-PlotRotation ActiveLayoutObj ac0degrees)
  17.   (vla-put-PlotOrigin
  18.     ActiveLayoutObj
  19.     (vlax-make-variant
  20.       (vlax-make-safearray vlax-vbDouble '(0 . 1))
  21.     )
  22.   )
  23.   (vla-Put-CenterPlot ActiveLayoutObj :vlax-false)
  24.   (vla-SetWindowToPlot
  25.     ActiveLayoutObj
  26.     (vlax-make-variant
  27.       (vlax-safearray-fill
  28.         (vlax-make-safearray vlax-vbDouble '(0 . 1))
  29.         (car Window)
  30.       )
  31.     )
  32.     (vlax-make-variant
  33.       (vlax-safearray-fill
  34.         (vlax-make-safearray vlax-vbDouble '(0 . 1))
  35.         (cadr Window)
  36.       )
  37.     )
  38.   )
  39.   (vla-Put-PlotType ActiveLayoutObj acWindow)
  40.   (vla-PlotToFile PlotObj FileName)
  41.   (foreach o (list PlotObj ActiveLayoutObj ActiveDocObj AcadObj)
  42.     (vlax-release-object o)
  43.   )
  44. )


用法:
  1. (PlotToFile
  2.   "DWG To PDF.pc3"
  3.   "ANSI_A_(11.00_x_8.50_Inches)"
  4.   (list (list 0 0) (list 100 100))
  5.   (strcat (getvar "DWGPREFIX") (getvar "DWGNAME") ".pdf")
  6. )


  1. (defun c:tt ()
  2.   (setq llpt (getpoint "\nll corner"))
  3.   (setq urpt (getcorner llpt "\nur corner"))
  4.   (PlotToFile
  5.     "DWG To PDF.pc3"
  6.     "ISO_A2_(594.00_x_420.00_MM)"
  7.     (list (list (car llpt) (cadr llpt))
  8.           (list (car urpt) (cadr urpt))
  9.     )
  10.     (strcat (getvar "DWGPREFIX") "FULL-FILE-NAME-TEST" ".pdf")
  11.   )
  12. )


微信截图_20210129015421.png
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 2230个

财富等级: 金玉满堂

发表于 2021-1-29 10:34:42 | 显示全部楼层
做个对论坛有益的人。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2470个

财富等级: 金玉满堂

发表于 2021-1-29 10:40:30 | 显示全部楼层
多谢分享!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 418个

财富等级: 日进斗金

发表于 2021-1-29 13:18:01 | 显示全部楼层
非常有用,多谢分享。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-15 08:36 , Processed in 0.228858 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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