GumbyCAD 发表于 2014-5-5 00:09:48

应对对侧数据库的扩展字典

嗨,伙计们,
有没有人有任何关于在数据库之间复制块表中的扩展字典的技巧。
即从当前打开的Dwg复制到新的外部Dwg端数据库。
预先感谢
**** Hidden Message *****

GumbyCAD 发表于 2014-5-5 02:47:21

所以我找到了一个小解决方案(通过反复试验)。
HostApplicationServices,WorkingDatabase = SourceDB。
使用tr3作为Transaction = SourceDB,transaction manager . start transaction()。

“获取扩展字典”。
将块表调成块表。
blkTable = CType(tr3,GetObject(SourceDB,BlockTableId,OpenMode。ForRead)、块表)。

Dim extension dictionary As db dictionary 。
extension dictionary = CType(tr3,GetObject(blkTable,ExtensionDictionary(),OpenMode。ForRead,False)、DBDictionary)。

' '获取现有块表记录中对象的对象id 。
Dim objIdCol As New objectid collection()。

Dim DataDic As db dictionary = CType(tr3,GetObject(ExtensionDictionary,GetAt(“规则”),OpenMode。ForWrite)、DBDictionary)。

'允许我从字典中获取键名。
Dim DicKeys As IDictionary = DataDic 。

对于DicKeys中作为字符串的每个X,钥匙。
objIdCol,添加(DataDic,GetAt(X))。
下一步。

Dim id map As id mapping = New id mapping()。
newDb,WblockCloneObjects(objIdCol,。
DestDict1,ObjectId,。
idMap,。
重复记录克隆,MangleName,。
假)。

tr3,Commit()。

结束使用。

但是每个Xrecord的名称都没有出现,他们通过*A35,*A18等....我不明白这是为什么?。

MickD 发表于 2014-5-5 03:21:52

它们看起来像匿名组的名称。
这只是顺便一瞥,抱歉我不能再帮自动取款机了。
页: [1]
查看完整版本: 应对对侧数据库的扩展字典