Jeff_M 发表于 2020-7-23 21:05:11

从一个XREF WBlockCloneObjects(折线)?

是否有人成功地在外部参照的多段线上使用WBlockCloneObjects()
本质上,我是从外部参照复制多段线,并使用WBlockCloneObjects()将其放置在宿主数据库中。这很好用。但是,如果随后手动分解多段线,则所有子实体都将消失
如果我尝试以编程方式分解多段线,则会在数据库中得到错误的结果
我基本上是在多段线对象上使用下面Autodesk链接中的代码。
http://docs.autodesk.com/ACD/2011/ESP/filesMDG/WS1a9193826455f5ff2566ffd511ff6f8c7ca-3f78.htm
我使用的是正确返回的PromptForNestedenty,然后作为newCloneColl<br>传递到这里Using docLock As DocumentLock = destDoc.LockDocument
                Using tr As Transaction = destDb.TransactionManager.StartTransaction()
                  Try
                        tr.TransactionManager.QueueForGraphicsFlush()
                        destDb.WblockCloneObjects(newCloneColl, destDb.CurrentSpaceId, idMap, DuplicateRecordCloning.Ignore, False)
                        tr.Commit()
                  Catch ex As System.Exception
                        destEd.WriteMessage(vbLf & "Error during NCOPY: " & ex.Message)
                  End Try
                End Using
            End Using
<br>同样,在分解多段线对象之前,此操作正常。<br>
**** Hidden Message *****

Jeff_M 发表于 2020-7-24 10:21:57

没人要吗?我真的需要一些帮助...不知道我做错了什么。
在论坛帖子中发布了更多代码。
https://forums . Autodesk . com/t5/net/wblockcloneobjects-on-polysis-works-until-polysis-are/m-p/9651862/highlight/false # m 66365

Jeff_M 发表于 2020-7-24 16:25:35

正在使用外部参照图层名称克隆多段线。由于数据库驻留对象不能位于外部参照图层上,因此在分解时会被删除。审核会将聚合线放置在Audit_Bad_Layer上,然后可以将其分解。关键是将克隆对象的层设置为有效层。

Jeff_M 发表于 2020-7-24 16:56:22

Steve,请注意,从外部参照克隆的所有对象都会有相同的问题。该层需要设置为当前的DB层,否则在审核期间您将获得数据库,该层将更改为Audit_Bad_Layer。只有在分解多段线时才会注意到,因为AutoCAD发现了该问题。
页: [1]
查看完整版本: 从一个XREF WBlockCloneObjects(折线)?