明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 陨落

[经验] lisp源码:生成任意尺寸的pdf纸张

    [复制链接]
发表于 2024-3-21 23:56:57 | 显示全部楼层
本帖最后由 wudechao 于 2024-3-22 22:59 编辑

经过不懈努力,autocad2008,autocad2014,autocad2024也支持(autocad2020不行,不明原因崩溃)。修改楼主的代码,用(strcat " user_defined_model_pathname=\"" (vl-registry-read (strcat "HKEY_CURRENT_USER\\" (vlax-product-key)) "RoamableRootFolder") "\Plotters\\PMP Files\\DWG To PDF.pmp\n")
    代替" user_defined_model_pathname=\"C:\\Users\\loki\\AppData\\Roaming\\Autodesk\\AutoCAD 2013 - Simplified Chinese\\R19.0\\chs\\Plotters\\PMP Files\\DWG To PDF.pmp\n"
用(strcat "driver_pathname=\"" (getenv "ACADDRV") "\\pdfplot" (itoa (- (atoi (substr (getvar "ACADVER") 1 2)) 8)) ".hdi\n")
    代替" driver_pathname=\"C:\\Program Files\\Autodesk\\AutoCAD 2013\\drv\\pdfplot11.hdi\n"
还有个补充必须把以前测试版本生成的的同名的pc3和pmp删除(比如我这个lisp生成的zpdf.pc3和zpdf.pmp),否则以前代码崩溃的现在也崩溃(估计是覆盖不完全)。

本帖子中包含更多资源

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

x
发表于 2024-3-22 08:45:26 | 显示全部楼层
ludaweb 发表于 2024-3-21 09:40
;;感谢 baitang36 陨落 mj000 等等大神,我做个实际使用的例子。

感谢!
在cad2014中可以使用。
在cad2020中,提示
请指定图框范围第一个角点:
请指定图框范围另一个角点:
错误:发生意外。
发表于 2024-3-22 09:09:29 | 显示全部楼层
szhorse 发表于 2024-3-22 08:45
感谢!
在cad2014中可以使用。
在cad2020中,提示

看27楼,一个是桌面文件夹的位置,一个是打印机配置搜索路径只保留默认那一个
发表于 2024-3-22 09:21:03 | 显示全部楼层
我修改后的这两个函数对auotcad2020还是崩溃,但是其它cad版本,比如cad2008,cad2014,cad2024没有问题。
发表于 2024-3-22 12:56:44 | 显示全部楼层
sandyvs 发表于 2024-3-22 09:09
看27楼,一个是桌面文件夹的位置,一个是打印机配置搜索路径只保留默认那一个

我改成下面的样子,cad2020、2024依然是提示“错误:发生意外。”


                        ;;临时截图放在桌面,方便取用
;                        (vla-plottofile plot (strcat (getenv "UserProfile") "\\Desktop\\临时截图.png"))   ;截图保存至C:\Users\Administrator\Desktop\临时截图.png
                        (vla-plottofile plot (strcat (vla-item (vlax-get (vlax-create-object "WScript.Shell" ) 'SpecialFolders) "Desktop") "\\临时截图.png"))   ;截图保存至D:\Personal\Desktop\临时截图.png
                        (if (and pc3fname (setq pc3fname (findfile pc3fname)))
                                (vl-file-delete pc3fname)
                        )
                        (if (and pmpfname (setq pmpfname (findfile pmpfname)))
                                (vl-file-delete pmpfname)
                        )
发表于 2024-3-22 14:33:38 | 显示全部楼层
szhorse 发表于 2024-3-22 12:56
我改成下面的样子,cad2020、2024依然是提示“错误:发生意外。”

op看下,文件-打印机支持文件路径-打印机配置搜索路径
发表于 2024-3-22 14:37:40 | 显示全部楼层
wudechao 发表于 2024-3-21 23:56
经过不懈努力,autocad2008,autocad2014,autocad2024也支持(autocad2020不行,不明原因崩溃)。修改楼主的 ...

我的2020没问题
发表于 2024-3-22 19:33:18 | 显示全部楼层
wudechao 发表于 2024-3-21 23:56
经过不懈努力,autocad2008,autocad2014,autocad2024也支持(autocad2020不行,不明原因崩溃)。修改楼主的 ...

建议尝试一下这几个代码,你会有意外的感觉:P

(getenv "PrinterDescDir")
(getenv "PrinterConfigDir")
(getenv "PrinterDescDir")
发表于 2024-3-22 20:28:21 | 显示全部楼层
本帖最后由 szhorse 于 2024-3-22 20:35 编辑
sandyvs 发表于 2024-3-22 14:33
op看下,文件-打印机支持文件路径-打印机配置搜索路径

C:\Users\用户名\APPDATA\ROAMING\AUTODESK\AUTOCAD 2020\R23.1\CHS\PLOTTERS

可能是系统环境的原因,家里电脑2014也出现这个错误
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-22 21:42 , Processed in 0.178110 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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