3d solid.separatebody功能的帮助
大家好我有一个由多个离散三维实体对象组成的单个实体(请参见附图)。我想把它们分离成单独的实体,所以solid3D。separatebody()函数似乎就是实现此目的的方法:
http://help.autodesk.com/view/OARX/2018/ENU/?guid=OREFNET-Autodesk_AutoCAD_DatabaseServices_Solid3d_SeparateBody<br>上面的链接告诉我:<br>我无法解决的是如何找出它创建的其他对象。我本以为它会返回ObjectID列表或ObjectdCollection,但它什么也不返回。如何知道它生成了哪些对象,以便将它们添加到块表中?运行separatesolids()函数只剩下一个实体,其余的都已删除。
**** Hidden Message ***** 你有没有一些代码要看,这将有助于看看你如何设置它。
查看方法签名(它有一个格式错误,描述应该说它返回一个数组,而不是一个列表!),你应该有这样的东西:
Solid3d[] solids = solid3D.separatebody();
然后使用“固体”数组来做你的东西。
hth 完美的米克。这就是我所需要知道的一切。
没有使用下面的代码。
' We now have all the solids created. We now need to split those solids into separate objects
For Each combinedSolidId As ObjectId In combined3DsolidCollection
Dim combinedSolid As Solid3d = trans.GetObject(combinedSolidId, OpenMode.ForWrite)
Dim individualSolids() As Solid3d
individualSolids = combinedSolid.SeparateBody() 'This resturns an array of solid3D objects
For Each solid As Solid3d In individualSolids
acBlkTblRec.AppendEntity(solid)
trans.AddNewlyCreatedDBObject(solid, True)
Next
Next
凉的
页:
[1]