求CAD合并图纸软件和lsp都可以
由于换了64位系统,CAD只能安装2010的,故以前的合并图纸小软件无法使用,现在在网络上找到一个LSP,是可以合并图纸,但是合并图纸都是在原点重叠
一起的,希望有高手,能帮忙改进为:每一张图纸有序排列,间距可以为100或50
MM,或者用户可以自定,现把LSP上传,大家辛苦一下,帮忙看下,谢谢~
;===================================
(defun c:XXX ()
;;插图到一起
(setvar "CMDECHO" 0)
(setq pt (list 0 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))
(setq i 0
nn 0
)
(setq pp (nth i aa))
(initget "1 2")
(setq opt (getkword
"\n 1:按块插入 /2:解块插入 "
)
)
(if opt
(cond
((= opt "1") (sub1))
((= opt "2") (sub2))
)
)
(princ)
)
(defun sub1 ()
(prompt "\n")
(prompt "程序正在按块插入图幅,请等待...\n")
(while (/= pp nil)
(setq i (+ i 1))
(setq pp (strcat path pp))
(command "insert" pp pt "1" "1" "")
(setq nn (+ nn 1))
(princ (strcat "第" (itoa nn) "幅" "图号为" pp " \r"))
(setq pp (nth i aa))
(setq pt (polar pt 0 1200))
)
(command "zoom" "e" "zoom" "0.8x")
)
(defun sub2 ()
(prompt "\n")
(prompt "程序正在解块插入图幅,请等待...\n")
(while (/= pp nil)
(setq i (+ i 1))
(setq pp (strcat path pp))
(setq pp (strcat "*" pp))
(command "insert" pp pt "1" "")
(setq nn (+ nn 1))
(princ (strcat "第" (itoa nn) "幅" "图号为" pp " \r"))
(setq pp (nth i aa))
(setq pt (polar pt 0 1200))
)
(command "zoom" "e" "zoom" "0.8x")
)
sf_elite 发表于 2023-9-18 15:45
;===================================
(defun c:XXX ()
;;插图到一起
好像不好用啊
图块名有重复 就会插入原来的图形 而不是要插入的图形 sf_elite 发表于 2023-9-18 15:45
;===================================
(defun c:XXX ()
;;插图到一起
牛啊 学习收藏了 可惜没有明经币 不然就发了
再次感谢大神 这个是非常有用的,望大神出手,建议以超过A0图框横放的长宽距离排就好了,谢谢 1111111111111111111 1111111111111 好好!!!!!!!!!!!!!!!!! 先试用一下谢谢楼主共享 试试看 这个怎么用呢 谢谢楼主分享!
页:
[1]
2