0

我将一些实体添加到块中,并将引用添加到视口中。我编写了“new blockReference(blockName).boxmin”,它会捕获异常“NullReferenceException”。我还需要添加什么代码?或者它有另一种方法来获取组实体 boxsize。

4

1 回答 1

0

做一个new blockReference(blockName).BoxMin不会让块重新生成。获取已插入视口中的块并检查该对象边界框。

假设块名称是“Block1”,您可以这样做:

var br = viewportLayout1.Entities.OfType<BlockReference>()
                                 .FirstOrDefault(b => b.BlockName == "Block1");

if(br != null)
{
    var boxMin = br.BoxMin;
    var boxMax = br.BoxMax;
}

您需要块的原因ViewportLayout是它BoxMinBoxMax世界轴对齐,因此必须知道世界中的位置才能计算盒子。如果您旋转或平移和BlockReference会有所不同。BoxMinBoxMax

于 2018-06-08T15:27:18.163 回答