找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1190|回复: 2

[文件] (XD::Plot->File)打印到文件通用函数

[复制链接]

已领礼包: 20个

财富等级: 恭喜发财

发表于 2021-1-29 02:10:26 | 显示全部楼层 |阅读模式
函数发布
函数名称: XD::Plot->File
调用格式: (XD::Plot->File ConfigName MediaName Window FileName)
参数说明: ConfigName -- 配置文件名
MediaName -- 图纸尺寸
Window -- 表(窗口左下点 右上点)
FileName -- 输出文件名
返回值: 成功返回文件名,否返回NIL
函数简介: 打印到文件通用函数
函数来源: 二次修改
函数作者: marting
适用版本: 不限 
最后更新时间: 2021-01-29
备注: -
演示图片: -

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

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

×
本帖最后由 marting 于 2021-1-29 02:12 编辑

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



  1. (defun c:tt ()
  2.   (setq llpt (getpoint "\nll corner"))
  3.   (setq urpt (getcorner llpt "\nur corner"))
  4.   (if (setq
  5.         fn (xd::plot->file
  6.              "DWG To PDF.pc3"
  7.              "ISO_A2_(594.00_x_420.00_MM)"
  8.              (list (list (car llpt) (cadr llpt))
  9.                    (list (car urpt) (cadr urpt))
  10.              )
  11.              (strcat (getvar "DWGPREFIX") "FULL-FILE-NAME-TEST" ".pdf")
  12.            )
  13.       )
  14.     (princ "\n文件成功打印到" fn)
  15.     (princ "\n文件打印失败.")
  16.   )
  17.   (princ)
  18. )


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

已领礼包: 14个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 14个

财富等级: 恭喜发财

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-1 20:59 , Processed in 0.177419 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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