乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 66|回复: 11

[编程交流] 文件大小减小

[复制链接]

3

主题

22

帖子

19

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 18:04:48 | 显示全部楼层 |阅读模式
作为我当前项目日常工作的一部分,我需要将dwg文件导出到dxf,以便现场工程师从中出发。我很难处理很多文件,因为它们是在各种软件中生成的,并且似乎包含许多未识别的文件(因为缺少更好的短语!)AutoCAD中的信息。
 
我已经写了一个LISP,将做以下事情;
-解锁所有层
-选择并删除所有图案填充
-选择并分解所有块
-将所有线型更改为连续线型
-将所有线宽更改为0
-清除
 
这会略微减小dwg文件的大小,但当导出到dxf时,会显著增加。我也试过BREP,OVERKILL。我考虑了DGN线型,并使用-PURGE命令清除“孤立数据”。我能想到的唯一没有提到的是3D人脸。
 
我有CAD工具,可以将三维面转换为三维多段线,尽管我有兴趣获得一个LISP,这样我就可以把它构建到我自己的。
 
此外,对于如何减少文件大小的任何其他建议,我们将不胜感激!
回复

使用道具 举报

20

主题

338

帖子

323

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-5 18:13:37 | 显示全部楼层
我使用dxf文件以及构造布局,因为这是我的数据采集器使用的格式。作为一个建议,也许可以为他们需要布局的每个项目创建几个不同的dxf。ie大楼。dxf,人行道。dxf,雨水管。dxf等。。。而不是dxf整个图形。这样,文件大小保持较小且有组织。使放置在这些DXF中的对象尽可能简单。这使得在野外工作更容易。
回复

使用道具 举报

95

主题

477

帖子

383

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
475
发表于 2022-7-5 18:18:44 | 显示全部楼层
唯一的其他建议是锁定图形,清除所有样式,然后全部清除。我不知道还有什么其他方法可以让它变得更小。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 18:25:00 | 显示全部楼层
Dxf总是比dwg大,因为它是assci txt文件,不是压缩的二进制格式,不确定分解块是否有助于确定大小。
 
清除regapps?
 
类似于
  1. (setq ss (ssget (list (cons 0 "3dface"))))
  2. (setq x (sslength ss)
  3. y x)
  4. (repeat y
  5. (setq 3df (vlax-ename->vla-object(ssname ss (setq x (- x 1)))))
  6. (setq coords (vlax-safearray->list (vlax-variant-value (vla-get-coordinates 3df))) )
  7. ; do your pline thing here
  8. )
回复

使用道具 举报

55

主题

325

帖子

274

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
280
发表于 2022-7-5 18:31:21 | 显示全部楼层
清除垃圾和材料。我还听说图层过滤器和图层状态会放大文件,所以请删除它们。我还将删除任何不必要的布局选项卡。
回复

使用道具 举报

8

主题

1133

帖子

1164

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 18:32:39 | 显示全部楼层
DXF选项之一是选择对象。不确定如何在lisp中实现这一点,但它会减少文件大小。
回复

使用道具 举报

55

主题

325

帖子

274

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
280
发表于 2022-7-5 18:40:29 | 显示全部楼层
有时,有些东西在DWG文件中是不可见的,并且在空间中是不可见的。为了删除这些对象,我使用了erase命令。当提示选择时,我使用这段代码选择活动空间(模型/图纸空间)中的所有内容。
 
  1. (ssget "x")

 
然后在完成命令之前,在命令行中键入R。这将允许您从当前选择中删除对象(要保留的内容)。一旦选择了要保留的内容,就可以完成擦除命令。
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-5 18:44:30 | 显示全部楼层
过度杀戮
-清除>重新应用
-清除>全部
审计
拯救
重复
拯救
锁定到新图形文件。
这应该可以做到。
不确定分解块、更改线型或线宽是否会为您带来任何好处。
回复

使用道具 举报

44

主题

542

帖子

502

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
220
发表于 2022-7-5 18:51:52 | 显示全部楼层
 
不过,当将dxf导入到多个调查包中时,这会使它变得更容易。
回复

使用道具 举报

3

主题

22

帖子

19

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 18:54:46 | 显示全部楼层
终于想出了一个降低成本的方法,只花了两个小时的时间,我们三个人围坐在一张桌子旁!
 
所有常见的审核、分解块等过程。尽管在三维面转换为线时注意到了很大的差异,然后在清除孤立数据时,尺寸也大幅下降(清除Regapp是其中的主要部分)。
 
在构建LISP以包含7/8过程的过程中,我将把它发布在这里,以供将来可能遇到类似情况的任何人使用。
 
谢谢大家一如既往的帮助!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 00:55 , Processed in 0.827207 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表