明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1709|回复: 12

[提问] 【批量拼图】拼图工具按解块插入会旋转1度,是代码问题吗?

[复制链接]
发表于 2019-4-24 13:32:16 | 显示全部楼层 |阅读模式
本帖最后由 日以继夜 于 2019-4-24 14:25 编辑

目前有大量CAD地形分块图(500+,总文件大小超过2G),原始数据较为混乱。

各图的坐标系都是统一的,但各图纸(units命令中的)插入时的缩放单位设置不同,无单位、米、毫米、英寸都有。

目前需要批量拼图工具拼合地形图,但由于缩放单位不一致,批量插入图块后比例不同,图块乱飞,要修正很麻烦。
补充:主图和cad设置中都设为无单位可以解决这问题~


最终目标:请问如何便捷实现该任务?

拟提出的中间需求:
1、如何批量对大量cad图纸设置统一的插入缩放单位,并保存。
插入时如果能强制无视缩放单位也是个办法,但我希望能对原始数据作统一修正,便于其他各种场景下的利用。



2、如何批量对大量cad图纸进行清理,并保存。
原始分图中均含有大量未清理对象。考虑数据规模较大,也希望对所有分图做一次清理,以便于后续操作减小卡死的概率。


3、后附的拼图工具,不知道为什么,设置项选择 1-按块插入 时正常工作,选择 2-解块插入 时,被插入对象会旋转一个角度,烦请检查下代码本身是否存在问题,又或者是窝自己这边的其他原因。


这里后附用到的拼图工具:
  1. ;; 原点批量插图块
  2. (defun c:tt (/ pf path lst)
  3.   (defun sub (path lst mode / a name)
  4.     (foreach a lst
  5.       (setq name (strcat path a)
  6.             name (if (= mode 0)
  7.                    name
  8.                    (strcat "*" name)
  9.                  )
  10.       )
  11.       (command "insert" name "0,0" "1" "1" "")
  12.     )
  13.   )
  14.   (setq        dwg  (getfiled "指定原文件路径中的一个图形文件:>" "*" "dwg" 8)
  15.         path (strcat (vl-filename-directory dwg) "\")
  16.         lst  (vl-directory-files path "*.dwg" 1)
  17.         ukw  (UKWORD 1 "1 2" "1-按块插入/2-解块插入" ukw)
  18.   )
  19.   (prompt "\n程序正在插入图幅,请等待...")
  20.   (cond        ((= ukw "1") (sub path lst 0))
  21.         ((= ukw "2") (sub path lst t))
  22.   )
  23.   (princ)
  24. )
  25. (defun ukword (bit kwd msg def / inp)
  26.   (if (and def (/= def ""))
  27.     (setq msg (strcat "\n" msg "<" def ">: ")
  28.           bit (* 2 (fix (/ bit 2)))
  29.     )
  30.     (setq msg (strcat "\n" msg ": "))
  31.   )
  32.   (initget bit kwd)
  33.   (setq inp (getkword msg))
  34.   (if inp
  35.     inp
  36.     def
  37.   )
  38. )



 楼主| 发表于 2019-4-24 16:25:10 | 显示全部楼层
mikewolf2k 发表于 2019-4-24 15:26
直接参考,然后合并到主文件是否可以。
另外考虑过合并后,主文件过大,打不开/跑不动么?

缩放单位问题,通过主文件和系统设置均设为无单位可解决。

我电脑上,主文件大小超过400M后高概率出现无法打开的问题,所以是分成多个200-300M“小”文件来处理的。

cad是2016版,打开文件时,内存占用超过5G后,基本就没法开了……

不知道有没有效率更高的版本,或者其他能支持大文件的CAD软件?
发表于 2019-4-25 09:56:15 | 显示全部楼层
ACAD平台问题,超过50M我就很担心打不开/跑不动了,你能开两三百兆,看来机器很强悍。
MS平台就优秀得多得多,几百兆轻轻松松,加上参考文件几个G的也开过。所以很多基建的单位都采用MS平台。更不用说MS的文件内容精简得多,同样内容模型占用的空间比dwg要少,再加上很多功能也比ACAD强大,除了“占有率不高”这一点外,完胜ACAD。
发表于 2019-4-25 09:48:07 | 显示全部楼层
ACAD平台问题,超过50M我就很担心打不开/跑不动了,你能开两三百兆,看来机器很强悍。
MS平台就优秀得多得多,几百兆轻轻松松,加上参考文件几个G的也开过。所以很多基建的单位都采用MS平台。更不用说MS的文件内容精简得多,同样内容模型占用的空间比dwg要少,再加上很多功能也比ACAD强大,除了“占有率不高”这一点外,完胜ACAD。
发表于 2019-4-24 15:23:42 | 显示全部楼层
未见调试用文件 (*.Dwg)
猜有可能是锁点模式干扰
发表于 2019-4-24 15:26:38 | 显示全部楼层
本帖最后由 mikewolf2k 于 2019-4-24 15:28 编辑

直接参考,然后合并到主文件是否可以。
另外考虑过合并后,主文件过大,打不开/跑不动么?
 楼主| 发表于 2019-5-10 16:14:17 | 显示全部楼层
mikewolf2k 发表于 2019-4-25 09:56
ACAD平台问题,超过50M我就很担心打不开/跑不动了,你能开两三百兆,看来机器很强悍。
MS平台就优秀得多得 ...

谢谢回复
您说的是指MicroSurvey CAD吗?
发表于 2019-5-10 16:20:39 | 显示全部楼层
日以继夜 发表于 2019-5-10 16:14
谢谢回复
您说的是指MicroSurvey CAD吗?

MicroStation, dgn 格式
 楼主| 发表于 2019-5-10 16:39:24 | 显示全部楼层
mikewolf2k 发表于 2019-5-10 16:20
MicroStation, dgn 格式

谢谢介绍,窝试用一下~!
发表于 2019-9-8 22:54:18 | 显示全部楼层
  1. (vl-cmdf "insert" name "0,0" "1" "" "")
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 06:38 , Processed in 0.170926 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表