乐筑天下

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

LayerTableRecords显示使用过的图层

[复制链接]

7

主题

23

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
51
发表于 2014-5-5 22:29:40 | 显示全部楼层 |阅读模式
嗨,我发现从打开的图形和从辅助数据库读取图层表时,会得到不同的结果。当您读取一个打开图形的图层表时,您会得到所有图层,甚至是未使用的图层。但是,当您从辅助数据库读取图层表时,您只能获得已使用的图层。有人能证实这一点吗?(或者我做错了什么) Stephan    使用DocKock作为DocumentLock = Doc,LockDocument。

使用db作为Database = Doc,数据库。

使用tr作为事务= db,transaction manager . start transaction()。

Dim lt As layer table = try cast(tr,GetObject(db,LayerTableId,OpenMode。ForRead)、LayerTable)。

对于lt中作为ObjectId的每个layerId 。

layer = TryCast(tr,GetObject(layerId,OpenMode。ForWrite)、LayerTableRecord)。
Edd,WriteMessage(层,名称&“在当前图形中找到”& vbCrLf)。

下一步。

trCommit()。

结束使用。

结束使用。

结束使用。
       将DocKock用作DocumentLock = CurrentDoc,LockDocument。

SideDB =新数据库(False,True)。
SideDB,ReadDwgFile(ExistingFileName,FileOpenMode。OpenForReadAndWriteNoShare,False," " " 。

使用SideDB。

将图层调暗为LayerTableRecord。
使用tr作为Transaction = SideDB,transaction manager . start transaction()。

Dim lt As layer table = try cast(tr,GetObject(SideDB,LayerTableId,OpenMode。ForWrite)、LayerTable)。

对于lt中作为ObjectId的每个layerId 。

layer = TryCast(tr,GetObject(layerId,OpenMode。ForWrite)、LayerTableRecord)。
Edd,WriteMessage("分析图层:" & layer,姓名& vbCrLf)。

下一步。

trCommit()。

结束使用。

结束使用。

结束使用。

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

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

使用道具 举报

7

主题

23

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
51
发表于 2014-5-6 02:44:29 | 显示全部楼层
我已经更新了我以前的消息。阅读地板(关于Dispose&WorkingDatabase)。
回复

使用道具 举报

7

主题

23

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
51
发表于 2014-5-6 02:54:39 | 显示全部楼层
我在#1文章中修复了一些错误:我消除了内存泄漏(我添加了用于数据库初始化的使用块)。此外,我还添加了RemoveTestDwg方法。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-5 06:52 , Processed in 0.162353 second(s), 58 queries .

© 2020-2025 乐筑天下

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