【批量拼图】拼图工具按解块插入会旋转1度,是代码问题吗?
本帖最后由 日以继夜 于 2019-4-24 14:25 编辑目前有大量CAD地形分块图(500+,总文件大小超过2G),原始数据较为混乱。
各图的坐标系都是统一的,但各图纸(units命令中的)插入时的缩放单位设置不同,无单位、米、毫米、英寸都有。
目前需要批量拼图工具拼合地形图,但由于缩放单位不一致,批量插入图块后比例不同,图块乱飞,要修正很麻烦。
补充:主图和cad设置中都设为无单位可以解决这问题~
最终目标:请问如何便捷实现该任务?
拟提出的中间需求:
1、如何批量对大量cad图纸设置统一的插入缩放单位,并保存。
插入时如果能强制无视缩放单位也是个办法,但我希望能对原始数据作统一修正,便于其他各种场景下的利用。
2、如何批量对大量cad图纸进行清理,并保存。
原始分图中均含有大量未清理对象。考虑数据规模较大,也希望对所有分图做一次清理,以便于后续操作减小卡死的概率。
3、后附的拼图工具,不知道为什么,设置项选择 1-按块插入 时正常工作,选择 2-解块插入 时,被插入对象会旋转一个角度,烦请检查下代码本身是否存在问题,又或者是窝自己这边的其他原因。
这里后附用到的拼图工具:
;; 原点批量插图块
(defun c:tt (/ pf path lst)
(defun sub (path lst mode / a name)
(foreach a lst
(setq name (strcat path a)
name (if (= mode 0)
name
(strcat "*" name)
)
)
(command "insert" name "0,0" "1" "1" "")
)
)
(setq dwg(getfiled "指定原文件路径中的一个图形文件:>" "*" "dwg" 8)
path (strcat (vl-filename-directory dwg) "\\")
lst(vl-directory-files path "*.dwg" 1)
ukw(UKWORD 1 "1 2" "1-按块插入/2-解块插入" ukw)
)
(prompt "\n程序正在插入图幅,请等待...")
(cond ((= ukw "1") (sub path lst 0))
((= ukw "2") (sub path lst t))
)
(princ)
)
(defun ukword (bit kwd msg def / inp)
(if (and def (/= def ""))
(setq msg (strcat "\n" msg "<" def ">: ")
bit (* 2 (fix (/ bit 2)))
)
(setq msg (strcat "\n" msg ": "))
)
(initget bit kwd)
(setq inp (getkword msg))
(if inp
inp
def
)
)
mikewolf2k 发表于 2019-4-24 15:26
直接参考,然后合并到主文件是否可以。
另外考虑过合并后,主文件过大,打不开/跑不动么?
缩放单位问题,通过主文件和系统设置均设为无单位可解决。
我电脑上,主文件大小超过400M后高概率出现无法打开的问题,所以是分成多个200-300M“小”文件来处理的。
cad是2016版,打开文件时,内存占用超过5G后,基本就没法开了……
不知道有没有效率更高的版本,或者其他能支持大文件的CAD软件? ACAD平台问题,超过50M我就很担心打不开/跑不动了,你能开两三百兆,看来机器很强悍。
MS平台就优秀得多得多,几百兆轻轻松松,加上参考文件几个G的也开过。所以很多基建的单位都采用MS平台。更不用说MS的文件内容精简得多,同样内容模型占用的空间比dwg要少,再加上很多功能也比ACAD强大,除了“占有率不高”这一点外,完胜ACAD。 ACAD平台问题,超过50M我就很担心打不开/跑不动了,你能开两三百兆,看来机器很强悍。
MS平台就优秀得多得多,几百兆轻轻松松,加上参考文件几个G的也开过。所以很多基建的单位都采用MS平台。更不用说MS的文件内容精简得多,同样内容模型占用的空间比dwg要少,再加上很多功能也比ACAD强大,除了“占有率不高”这一点外,完胜ACAD。 未见调试用文件 (*.Dwg)
猜有可能是锁点模式干扰 本帖最后由 mikewolf2k 于 2019-4-24 15:28 编辑
直接参考,然后合并到主文件是否可以。
另外考虑过合并后,主文件过大,打不开/跑不动么?
mikewolf2k 发表于 2019-4-25 09:56
ACAD平台问题,超过50M我就很担心打不开/跑不动了,你能开两三百兆,看来机器很强悍。
MS平台就优秀得多得 ...
谢谢回复
您说的是指MicroSurvey CAD吗? 日以继夜 发表于 2019-5-10 16:14
谢谢回复
您说的是指MicroSurvey CAD吗?
MicroStation, dgn 格式 mikewolf2k 发表于 2019-5-10 16:20
MicroStation, dgn 格式
谢谢介绍,窝试用一下~! (vl-cmdf "insert" name "0,0" "1" "" "")
页:
[1]
2