我是什么空间?
在我的脑海中,我记不起如何确定一个块是毫秒还是PS;有人能提醒我吗 ;我认为它与OwnerID有关,但我找不到任何我使用过的代码,所以我不确定我是否在正确的轨道上没关系,布莱科以前做过,我就是做不到;找不到它Function IsPs(oBref As AcadBlockReference) As Boolean
Dim oblock As AcadBlock
Set oblock = ThisDrawing.ObjectIdToObject(oBref.OwnerID)
If Not oblock.Name = "*Model_Space" Then
IsPs = True
End If
End Function
也许是更好的?它演示了如何比较数字(ObjectId)而不是进行字符串比较:
Function IsPs(pBlkRef As AcadBlockReference) As Boolean
IsPs = (pBlkRef.OwnerIDThisDrawing.ModelSpace.ObjectID)
End Function
干杯,格伦。 实际上,严格来说应该是:
Function IsPs(pBlkRef As AcadBlockReference) As Boolean
IsPs = (pBlkRef.OwnerID = ThisDrawing.PaperSpace.ObjectID)
End Function
格伦,我认为第一个更正确&引用;此图纸。“纸质空间”;仅引用最近的当前布局,因此如果块位于任何其他布局中,则第二种方法仍将返回False。 杰夫,是的,那';s正确,并且仅当它与从用户处收集的选择集(例如)结合使用时。如果您';重新处理嵌套的插入,所有下注都已关闭,而且这两种情况无论如何都不正确
尽管如此,这表明了我们的意图 谢谢你,格伦,我更喜欢这个。! 没问题,Duh。 假设  
Set objBlkRef = getblock("UES") 返回一个名为UES的块,如何检查是否返回 ;我试过了If Not objBlkRef = Nothing 严重失败的
我认为应该是这样的:如果objBlkRef什么都不是,那么
页:
[1]
2