明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: baitang36

[经验] 【原创】用纯lisp实现打印任意尺寸pdf

    [复制链接]
发表于 2024-2-28 23:11:45 | 显示全部楼层
baitang36 发表于 2024-2-28 11:07
write-line会把0A自动变成0d 0a 这样unix格式就变成一般的文本格式了,导致pc3加载时崩溃
后来我用二进 ...

不管用哪种方法,能达到目的就行,有简便的方法更好
发表于 2024-3-2 09:36:42 | 显示全部楼层
这厉害了,谢谢分享。
发表于 2024-3-3 00:06:19 | 显示全部楼层
本帖最后由 caaooo 于 2024-3-3 00:54 编辑
baitang36 发表于 2024-2-28 11:07
write-line会把0A自动变成0d 0a 这样unix格式就变成一般的文本格式了,导致pc3加载时崩溃
后来我用二进 ...

大神,你没发现么,mj0000提供的函数稍加改动就可以实现直接生成文件,写入文字,而且文件的格式就是unix(lf)的功能


  1. (defun filewrite (a b / c d)
  2. (setq c (vlax-create-object "scripting.filesystemobject") d (vlax-invoke c 'createtextfile a 1 0))
  3. (vlax-invoke d 'writeline b) (vlax-invoke d 'close) (vlax-release-object c) (vlax-release-object d))


(filewrite "d:\\1.txt" "1234\n5678\nabcd")
这个已经可以完美解决pc3和pmp的读写问题了,我试过了,very ok
关键我电脑上的cad2024和cad2014都可以用这个生成的pc3和pmp进行pdf打印,似乎你的2018以下不可用的问题也解决了




本帖子中包含更多资源

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

x

评分

参与人数 1明经币 +1 收起 理由
baitang36 + 1 很给力!

查看全部评分

发表于 2024-3-3 20:21:33 | 显示全部楼层
caaooo 发表于 2024-3-3 00:06
大神,你没发现么,mj0000提供的函数稍加改动就可以实现直接生成文件,写入文字,而且文件的格式就是unix ...

能分享生成的pc3和pmp文件的源代码吗?谢谢!
发表于 2024-3-5 08:43:53 | 显示全部楼层
wudechao 发表于 2024-3-3 20:21
能分享生成的pc3和pmp文件的源代码吗?谢谢!

就是把楼主的打印程序生成的pmp和pc3文件内容,然后用我发的程序生成出来就行了啊
发表于 2024-3-5 15:06:50 | 显示全部楼层
caaooo 发表于 2024-3-5 08:43
就是把楼主的打印程序生成的pmp和pc3文件内容,然后用我发的程序生成出来就行了啊

低版本的还是不行呀,实验了2007、2010的不行,高于2014的没有问题。
发表于 2024-3-5 17:03:18 | 显示全部楼层
强者如斯啊,希望惊佬看到奥
发表于 2024-3-5 21:30:18 | 显示全部楼层
caaooo 发表于 2024-3-5 08:43
就是把楼主的打印程序生成的pmp和pc3文件内容,然后用我发的程序生成出来就行了啊

谢谢。我试一试。
发表于 2024-3-6 10:45:54 | 显示全部楼层
本帖最后由 caaooo 于 2024-3-6 10:47 编辑
liweihua-1984 发表于 2024-3-5 15:06
低版本的还是不行呀,实验了2007、2010的不行,高于2014的没有问题。

我研究了一下2008(只找到一台装有2008的电脑),应该和2007的道理是一样的(因为版本号R17.x一样,hdi文件一样)
主要是pc3文件中custom的参数内容和数量
2014和2024custom的数量我已经确认只有8个是必须的
但是2008初始custom参数就有24个之多,要决定哪些有用,哪些必须,就得一个个的去试
而且,还得考虑即使找到了2008的必须项,是否和高版本的通用
所以电脑上至少要装版本号不同的10个cad才可以玩转
算啦,有兴趣的高人们可以试试啦

提供一个获取drv路径和文件名pdfplotX.hdi的代码
(strcat (getenv "ACADDRV") "\\pdfplot" (itoa (- (atoi (substr (getvar 'acadver) 1 2)) 8)) ".hdi")
====>"C:\\Program Files\\Autodesk\\AutoCAD 2024\\drv\\pdfplot16.hdi"
少走一些弯路
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-23 08:33 , Processed in 0.191362 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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