乐筑天下

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

使用动态块会产生较大的Dwg文件;WBLOCK将文件缩小到文件大小的10%

[复制链接]

18

主题

1529

帖子

973

银币

中流砥柱

Rank: 25

铜币
649
发表于 2016-4-25 15:32:15 | 显示全部楼层 |阅读模式
我有一个插件,大量使用3D动态块。这些块往往比较复杂,有许多视图状态、查找表、属性等。这些块有100多个,每个块都模拟了具有各种配置选项的不同机械设备模块
我的插件将这些块插入到图形中,并设置块的动态特性。我遇到的问题是生成的图形文件太大。即使从图形中清除了所有可清除的对象,这些文件的大小也可以是10或20 MB
如果我对其中一个大型图形中的所有对象进行WBlock,则生成的文件包含原始图形中的全部动态块定义和实例,并且与原始图形完全相同,但新图形的大小要小得多(约为原始文件大小的10%)。我能做些什么(除了以某种方式自动锁定图形)来减小这些文件的大小,使它们更接近于锁定图形?我试图了解原始文件中包含哪些额外数据,而不是WBlock文件中包含的数据,如果存在任何问题,我可以在不使用WBlock的情况下避免或消除这些额外数据
例如,在插入块和设置块动态属性时,我使用事务(TransactionMananger.StartopEnclosureTransaction)。事务处理的使用是否影响图形大小?我创建了许多辅助函数,用于插入块、设置块属性以及在块引用的扩展字典中设置值。所有这些操作当前都包装在事务中。当插入一个给定的块时,其中一些函数会被多次调用。例如,当设置块的动态属性时,我为块的每个动态属性调用一次helper函数,从而为每个属性生成一个事务。设置扩展字典值也是如此
例如,重构我的代码以便在单个事务中设置所有属性会对文件大小产生任何影响吗?从代码中完全删除事务会对图形文件大小产生任何影响吗<谢谢,凯文

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

0

主题

10

帖子

6

银币

初来乍到

Rank: 1

铜币
11
发表于 2016-4-25 18:15:22 | 显示全部楼层
在我调查这个绘图大小问题的过程中,我使用了一个LISP命令(本网站提供的代码),它计算给定绘图数据库中的各种对象并将信息写入命令控制台。我对原始绘图运行了一次命令,对“WBlock”生成的绘图运行了一次整个绘图。在这种情况下,WBlock绘图比原始绘图小50%,尽管我看不出db对象计数有任何差异。我已经为这两张图附加了Counts的输出。我正在努力从我的老板那里获得发布这两张图的许可(抱歉)。
谢谢,
凯文
回复

使用道具 举报

3

主题

10

帖子

6

银币

初来乍到

Rank: 1

铜币
24
发表于 2016-4-25 20:02:41 | 显示全部楼层
没有dwgs,我做不了什么。
尝试分析这个。
回复

使用道具 举报

0

主题

6

帖子

3

银币

初来乍到

Rank: 1

铜币
6
发表于 2016-4-26 03:22:35 | 显示全部楼层
字典。从29数到18。这是非常重要的,因为字典可以包含大量的数据。我将调查所有被列为“无名的”(实际上有一个名称,但没有“名称属性”)或没有“计数属性”的字典条目。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-4-29 16:33 , Processed in 1.581989 second(s), 60 queries .

© 2020-2025 乐筑天下

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