yjwht 发表于 2025-2-22 10:00:26

在您的代码基础上修改了一下,不再指定A3、A4图幅,而是直接设置图纸尺寸,图纸布置顺序从左到右,再到下一排,再从左到右。

; 将多张相同尺寸的图纸插入到一张dwg图纸中
(defun c:hb()
(setvar "CMDECHO" 0)
(setq pf (getfiled "指定原文件路径中的一个图形文件:>" "*" "dwg" 8))
(setq path (vl-filename-directory pf))
(setq path (strcat path "\\"))
(setq aa (vl-directory-files path "*.dwg" 1))
(setq n (length aa))
; 不超过25张图时,每行5张;超过25张图,则每行10张
(setq a1 (cond ((<= n 25) 5) (t 10)))
(setq i 0)
(setq pp (nth i aa))
(setq Lx (getint "\n请输入图纸在X轴方向尺寸(mm):"))
(setq Ly (getint "\n请输入图纸在Y轴方向尺寸(mm):"))
(sub1 Lx Ly)
(prompt "程序执行完毕!!!\n")
(princ)
)

(defun sub1(Lx Ly / p1)
(while (/= pp nil)
    (setq p1 (list (* (rem i a1) (+ Lx 100)) (* (fix (/ i a1)) (+ Ly 100) -1)))
    (setq pp (strcat path pp))
(setq i (+ i 1))
    (command "insert" pp p1 "1" "1" "")
    (setq pp (nth i aa))
    (command "zoom" "e" "zoom" "0.8x")
)
)

timmy521 发表于 2025-2-22 17:43:20

不错的软件。谢谢。

jiangqian124 发表于 2025-3-3 21:35:52

是不是dxf也可以合并的

jiangqian124 发表于 2025-3-14 23:36:30

这个应该很常用的
页: 1 2 [3]
查看完整版本: 分享一个dwg图纸合并程序