如何在视野中获取 BlockReference 的 boxmin
How to get BlockReference's boxmin in eyeshot
我将一些实体添加到块中,并将引用添加到视口中。
我编码 "new blockReference(blockName).boxmin" ,
它将捕获异常 "NullReferenceException"。
我还需要添加什么代码?
或者它有另一种方法来获取组实体框大小。
执行 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
中的方块的原因是 BoxMin
和 BoxMax
与世界轴对齐,所以必须知道在世界中的位置才能计算盒子。如果旋转或平移 BlockReference
,BoxMin
和 BoxMax
将不同。
我将一些实体添加到块中,并将引用添加到视口中。 我编码 "new blockReference(blockName).boxmin" , 它将捕获异常 "NullReferenceException"。 我还需要添加什么代码? 或者它有另一种方法来获取组实体框大小。
执行 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
中的方块的原因是 BoxMin
和 BoxMax
与世界轴对齐,所以必须知道在世界中的位置才能计算盒子。如果旋转或平移 BlockReference
,BoxMin
和 BoxMax
将不同。