明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: w245272914

[源码] 智能批量打印程序

[复制链接]
 楼主| 发表于 2017-12-28 10:25 | 显示全部楼层
lostbalance 发表于 2017-12-27 09:06
最近正好也在研究这块。
1. 关于打印方向的问题,command plot里就有一个参数控制的(P/L),你的注释里就 ...

大神,能不能帮忙直接改改,发源码上来分享下,
 楼主| 发表于 2017-12-28 10:26 | 显示全部楼层
lostbalance 发表于 2017-12-27 14:57
用上面第3条提到的dwgprefix获取当前文件夹路径,是个字符串,类似"c://test",然后确定pdf的名字,比如" ...

可以帮忙优化成更智能吗?智能打印縱向 橫向,并自动保存PDF到该文件目录就更好了
 楼主| 发表于 2017-12-28 10:26 | 显示全部楼层
行行止 发表于 2017-12-28 08:05
原来还可以把命令这样拆分的啊,不仅解决了我之前的问题,还打开了一条没发现的新路,真的万分感谢![f ...

可以帮忙优化成更智能吗?智能打印縱向 橫向,并自动保存PDF到该文件目录就更好了
 楼主| 发表于 2017-12-28 10:48 | 显示全部楼层
hnzkhyyl 发表于 2017-12-22 23:15
没有源码,你让别人怎么给你修改??

见程序源码:智能判斷模型空間橫縱_批量打印(源码共享给大家使用)
一、不过问题又来了,能在请大神帮忙实现智能打印縱向 橫向(已经实现 ),并自动保存PDF到该文件目录就更好了(程序没实现)
二、可以实现多dwg自动打印PDF到工作目录(程序没实现)
 楼主| 发表于 2017-12-28 10:49 | 显示全部楼层
ygp820601 发表于 2017-12-26 10:58
注释的中文都是乱码?

已经有注释了,并且我已经更新了,最近大神们帮助我修改的附件
 楼主| 发表于 2017-12-28 10:50 | 显示全部楼层
lostbalance 发表于 2017-12-27 09:06
最近正好也在研究这块。
1. 关于打印方向的问题,command plot里就有一个参数控制的(P/L),你的注释里就 ...

我已经更新,有个大神帮忙更新的智能判断横纵,不过并不能自动保存PDF档,或者多文件打印并自动保存到工作目录,可以实现吗?
 楼主| 发表于 2017-12-28 10:55 | 显示全部楼层
lostbalance 发表于 2017-12-27 14:57
用上面第3条提到的dwgprefix获取当前文件夹路径,是个字符串,类似"c://test",然后确定pdf的名字,比如" ...

大神,我又分享了大家帮助我修改的源码,见1楼。
一、可以帮忙实现自动保存PDF到工作目录吗?
二、可以多文档DWG 自动打印到工作目录吗?
感谢
发表于 2017-12-28 13:22 | 显示全部楼层
w245272914 发表于 2017-12-28 10:55
大神,我又分享了大家帮助我修改的源码,见1楼。
一、可以帮忙实现自动保存PDF到工作目录吗?
二、可以 ...

不是大神,关于打印到当前文件夹,如果用的不是CAD自带的PDF打印机,要麻烦很多。比如Adobe PDF打印机,其本身就可以设置打印路径,考虑到不同电脑的设置不同,要保证兼容性,对编程的要求就比较高,像我这样的业余渣就完全不会了。以前我用的就是这个打印机,都是手动选择路径并命名的@。@
后来周围用高版本的同事多了后,我就改用CAD自带的PDF打印机。这个实现起来就容易很多。以下就是在同一目录下保存PDF的路径字符串。ps,["-" No]是加序号的,不然批量打印就全覆盖了。
(strcat (getvar "dwgprefix") (vl-filename-base (getvar "dwgname")) "-" No ".pdf")
将上述字符串替换到我前面示例中的[打印到文件]那一项就可以了

然后关于多dwg,这个又是另一个麻烦的事。在论坛搜一下[秘技],第一个就是猫大师的dwg多开秘技,用那个稍微改下套进来就可以。

以下是改的你的代码,加了个path,改的比较简单,你可以继续优化。
    (setq path (strcat (getvar "dwgprefix") (vl-filename-base (getvar "dwgname")) "-" No ".pdf"))
    (command "-plot" "y"         ; 是否需要詳細打印配置
       "模型"           ; 輸入布局、模型名稱
       "DWG To PDF.pc3"         ; 只支持CAD自带的这个打印机
       "A4"          ; 輸入圖紙尺寸A4
       "m"           ; 輸入圖紙單位(I:英寸 M:毫米)
       st          ; 輸入圖形方向(縱向:P 橫向  )
       "n"           ; 是否反向打印
       "w"           ; 輸入打印區域(顯示:D范圍:E圖形界限 視圖:V 窗口:W)
       p1                   ; 打印圖框左下角點坐標
       p3                   ; 打印圖框右上角點坐標
       "f"           ; 輸入打印比例(F:布滿)
       "c"           ; 輸入打印偏移(居中打印:C)
       "y"           ; 是否按樣式打印
       "monochrome.ctb"           ; 輸入打印樣式名稱
       "y"           ; 是否打印線寬
       "a"           ; 輸入著色打印設置置(按顯示:A  線框:W
                     ; 消隱:H 渲染:R)
       path           ; 是否打印到文件,用自带打印机,这里换成路径就可以,不用加y/n了
       "n"           ; 是否保存頁面設置的修改
       "y"           ; 是否繼續打印
    )
 楼主| 发表于 2017-12-28 13:59 | 显示全部楼层
lostbalance 发表于 2017-12-28 13:22
不是大神,关于打印到当前文件夹,如果用的不是CAD自带的PDF打印机,要麻烦很多。比如Adobe PDF打印机, ...

哈哈,哥们,谦虚了。
可是我我刚刚加了你的path,加载运行出现如下错误:
選取物件:  error: 損壞的引數類型: stringp nil
这个啥情况啊,可以直接改好,上传lisp吗
谢谢啦
发表于 2017-12-28 17:05 | 显示全部楼层
秋风大侠的比较王道!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-20 15:18 , Processed in 0.164705 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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