非常不错的源代码,谢谢楼主分享啊。
这个不错,支持一个!!
暂时还没有权限
太有时间钻研了,我就没有耐心
太好用了,启动必备!
文件修改,处理,不需要重复、复制、贴上,方便阿!
大师,能不能增加天正电气的回路编号文字刷?
goodt 发表于 2023-9-21 10:13
大师,能不能增加天正电气的回路编号文字刷?
没装天正电气,你可以给我一份天正电气安装包和测试图纸吗?邮箱:1365859796@qq.com
好东西,支持!!
;保存YaHW系统变量,保存到cad安装目录下的YaHWWZSVAL.TXT by YaHW 2017/03/13
(defun YaHW:SaveSysVarYaHW(valname valvalue infotext / acadpath f datalist data valvalue_old i isthere)
(setq acadpath(vlax-get-property (vlax-get-acad-object) 'Path))
(if (= infotext "")(setq infotext "no infotext"))
(if (null (findfile "YaHWWZSVAL.TXT"))
(progn ;若文件不存在
(setq f (open (strcat acadpath "\\YaHWWZSVAL.TXT") "w"))
(prin1 (list valname valvalue infotext) f)
(close f)
)
(progn ;若文件已存在
(setq datalist '())
(setq f (open (strcat acadpath "\\YaHWWZSVAL.TXT") "r"))
(while (setq data (read-line f))
(setq datalist (cons data datalist))
)
(close f)
(setq datalist (reverse datalist))
(setq i 0
isthere 0)
(repeat (length datalist)
(if (= valname (car (read (nth i datalist))))
(progn
(setq datalist (subst (vl-prin1-to-string (list valname valvalue infotext)) (nth i datalist) datalist))
(setq isthere 1)
)
)
(setq i (1+ i))
)
(if (= 1 isthere)
(progn
(setq f (open (strcat acadpath "\\YaHWWZSVAL.TXT") "w"))
(prin1 (read (nth 0 datalist)) f)
(close f)
(setq i 1)
(setq f (open (strcat acadpath "\\YaHWWZSVAL.TXT") "a"))
(repeat (- (length datalist) 1)
(write-line "" f)
(prin1 (read (nth i datalist)) f)
(setq i (1+ i))
)
(close f)
)
(progn
(setq f (open (strcat acadpath "\\YaHWWZSVAL.TXT") "a"))
(write-line "" f)
(prin1 (list valname valvalue infotext) f)
(close f)
)
)
)
)
(princ)
)
;读取YaHW系统变量 by YaHW 2017/03/13
(defun YaHW:ReadSysVarYaHW( / acadpath data datalist i f)
(setq acadpath(vlax-get-property (vlax-get-acad-object) 'Path))
(if (findfile "YaHWWZSVAL.TXT")
(progn
(setq datalist '())
(setq f (open (strcat acadpath "\\YaHWWZSVAL.TXT") "r"))
(while (setq data (read-line f))
(setq datalist (cons data datalist))
)
(reverse datalist)
(close f)
(setq i 0)
(repeat (length datalist)
(set (read (car (read (nth i datalist)))) ;注意字符和表之间的转换,字符串是不能作为变量名的
(cadr (read (nth i datalist))) ;car对字符串也是不起作用的
)
(setq i (1+ i))
)
)
nil
)
)
建议增加保存系统变量,各个文件可以同步刷。另现在逻辑有点混乱,不太明白用法