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"
少走一些弯路