Zrrrrr 发表于 2021-6-22 13:58:11

如何批量打开图纸呢


不是不开图进行某些操作,而是批量把图打开,然后画图。据了解lisp命令在新开图的时候会自动中断。

langjs 发表于 2021-6-23 19:41:29

给你一段源码。仅供参考
;;; 要把程序加载到启动组
(defun c:aa (/ f i lst path str)
(setvar "cmdecho" 0)
(setvar "filedia" 0)
(vl-load-com)
(setq path (getvar "DWGPREFIX"))   ; 取得当前打开的一图纸信息
(setq lst (vl-directory-files path "*.dwg")) ; 该目录下所有图纸列表
(setq i 0)
(setq f (open "c:\\SCR.txt" "w"))
(write-line "qsave close" f)
(repeat (length lst)
    (write-line (strcat "open \"" (strcat path (nth i lst)) "\" bbb close N") f)
    (setq i (1+ i))
)
(close f)
(vl-file-delete "c:/SCR.scr")
(vl-file-rename "c:/SCR.txt" "c:/SCR.scr")
(command "script" "c:/SCR.scr")
(setvar "filedia" 1)
(princ)
)
(defun c:bbb ()
(entmake (list '(0 . "CIRCLE") (cons 10 '(0.0 0.0)) (cons 40 100))) ; 在原点画个圆
)

gaics 发表于 2021-6-23 07:39:59

利用脚本批处理

lijiao 发表于 2021-6-23 08:37:18

用vl可以进行跨文档操作的

lxl217114 发表于 2021-6-23 09:23:39

本帖最后由 lxl217114 于 2021-6-23 14:15 编辑

帮忙顶

hh_lj007 发表于 2021-6-23 10:09:50

本帖最后由 hh_lj007 于 2021-6-23 10:13 编辑

_.open "D:/mydoc/2021rt/fourform/南图/D528.dwg" (load "D:/fourform/ncg.VLX") 4GG
_.open "D:/mydoc/2021rt/fourform/南图/D538.dwg" (load "D:/fourform/ncg.VLX") 4GG

按以上3行编写脚本(ANSI编码、[.scr]后缀)、打开文件、加载插件(自己要做的处理)、执行命令(后有空格)
打开CAD,在命令行输入命令:SCRIPT,然后选中编号的脚本。over

sunny_8848 发表于 2021-6-24 08:22:59

下载学习下,多谢分享

dasha321 发表于 2021-6-24 22:18:08

这个有什么用处呢,不明白

傀儡koka 发表于 2021-6-26 23:54:13

langjs 发表于 2021-6-23 19:41
给你一段源码。仅供参考
;;; 要把程序加载到启动组
(defun c:aa (/ f i lst path str)


只能执行前一行,后面的就执行不了,不能批量处理,为啥啊?lang大

langjs 发表于 2021-6-27 11:56:10

傀儡koka 发表于 2021-6-26 23:54
只能执行前一行,后面的就执行不了,不能批量处理,为啥啊?lang大

1,程序必须加载到启动组。
2、打开文件夹下任意一张图纸且只打开一张,再执行命令
页: [1] 2
查看完整版本: 如何批量打开图纸呢