mj0000 发表于 2024-2-28 23:11:45

baitang36 发表于 2024-2-28 11:07
write-line会把0A自动变成0d 0a 这样unix格式就变成一般的文本格式了,导致pc3加载时崩溃
后来我用二进 ...

不管用哪种方法,能达到目的就行,有简便的方法更好

Noangler 发表于 2024-3-2 09:36:42

这厉害了,谢谢分享。

caaooo 发表于 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)的功能


(defun filewrite (a b / c d)
(setq c (vlax-create-object "scripting.filesystemobject") d (vlax-invoke c 'createtextfile a 1 0))
(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以下不可用的问题也解决了




wudechao 发表于 2024-3-3 20:21:33

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

能分享生成的pc3和pmp文件的源代码吗?谢谢!

caaooo 发表于 2024-3-5 08:43:53

wudechao 发表于 2024-3-3 20:21
能分享生成的pc3和pmp文件的源代码吗?谢谢!

就是把楼主的打印程序生成的pmp和pc3文件内容,然后用我发的程序生成出来就行了啊

enn09 发表于 2024-3-5 09:25:18

大神牛逼。

liweihua-1984 发表于 2024-3-5 15:06:50

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

低版本的还是不行呀,实验了2007、2010的不行,高于2014的没有问题。

伊江痕 发表于 2024-3-5 17:03:18

强者如斯啊,希望惊佬看到奥

wudechao 发表于 2024-3-5 21:30:18

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

谢谢。我试一试。

caaooo 发表于 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"
少走一些弯路
页: 1 2 3 4 [5] 6 7 8
查看完整版本: 【原创】用纯lisp实现打印任意尺寸pdf