Jeff_M 发表于 2008-7-17 18:09:40

我有多大空间?

在我的脑海中,我记不起如何确定一个区块是毫秒还是秒。有人能提醒我吗?我认为这与OwnerID有关,但我找不到任何我使用过的代码,所以我不确定我是否正确
**** Hidden Message *****

SEANT 发表于 2008-7-17 18:25:20

别担心,Bryco以前做过,我就是找不到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

Bryco 发表于 2008-7-18 06:45:08

也许是更好的?它演示了如何比较数字(ObjectId)而不是进行字符串比较:
Function IsPs(pBlkRef As AcadBlockReference) As Boolean
    IsPs = (pBlkRef.OwnerIDThisDrawing.ModelSpace.ObjectID)
End Function

干杯,
格伦。

SEANT 发表于 2008-7-18 06:47:30

实际上,这应该严格地说是:
Function IsPs(pBlkRef As AcadBlockReference) As Boolean
    IsPs = (pBlkRef.OwnerID = ThisDrawing.PaperSpace.ObjectID)
End Function

SEANT 发表于 2008-7-18 12:27:11

Glenn,我认为第一个更正确。“ThisDrawing.Paperspace”仅指最近的当前布局,因此如果块在任何其他布局中,第二个方法仍然会返回False。

SEANT 发表于 2008-7-18 13:04:35

Jeff
,是的,这是正确的,只有当它与从用户那里收集的选择集结合使用时。如果您正在处理嵌套的插入,则所有赌注都已关闭,并且这些都不正确。
它显示了意图

Bryco 发表于 2008-7-18 14:25:03

谢谢格伦,我更喜欢那个。!

Bryco 发表于 2008-7-18 14:38:17

没有探测器嘟嘟。

SEANT 发表于 2008-7-18 17:19:06

假设

Set objBlkRef = getblock("UES")
返回一个名为UES的块,我如何检查它是否已返回?我试过
If Not objBlkRef = Nothing
严重失败

SEANT 发表于 2008-7-18 18:26:26


我认为应该是:
如果objBlkRef什么都不是,那么
页: [1] 2
查看完整版本: 我有多大空间?