- 积分
- 5106
- 明经币
- 个
- 注册时间
- 2018-4-19
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
10明经币
在论坛上找到的代码,原来的效果,就是读取123.PGP文件,内容,然后打开CAD自带的PGP文件,在章末加上内容,我想把123,PGP里面的命令,加到REPGP这个LSP里面,不去读取那个123PGP里面的内容,把内容直接合并到REPGP这里面,怎么合并一下啊,请求老师帮忙看一下
123.pgp内容
SA, *MATCHPROP
V, *MOVE
DD, *DIST
QW, *PLOT
CC, *COPY
(defun c:repgp (/ f_txt n cctd)
(princ "\n【自定义命令】")
(setq f_txt (open (findfile "123.pgp") "r"))
(setq cctd '()); 存放读取pgp文件的文本行
(while (setq txt_row (read-line f_txt))
(setq cctd (cons txt_row cctd))
)
(close f_txt)
(setq cctd (reverse cctd)
n 0
)
(setq f_txt (open (findfile "acad.pgp") "A"))
(repeat (length cctd)
(write-line (nth n cctd) f_txt)
(setq n (+ 1 n))
)
(close f_txt)
(setvar "RE-INIT" 16)
(princ)
)
(princ)
|
最佳答案
查看完整内容
比较少操作文件,根据原代码了解一下写入就是根据读取文件内容组成的表cctd 每个元素写一行,那直接把文件的内容手动写成表 cctd 就可以了,要添加什么就后面加就是了
(defun c:tt5 (/ f_txt n cctd)
(setq cctd (list "SA, *MATCHPROP" "V, *MOVE" "DD, *DIST" "QW, *PLOT" "CC, *COPY") n 0)
(setq f_txt (open (findfile "acad.pgp") "A"))
(repeat (length cctd)
(write-line (nth n cctd) f_txt)
(setq n ( ...
|