我有一个自定义类(MyBox(扩展devDept.Eyeshot.Entities.Solid,我想像这样将其添加到ViewportLayout中:
MyBox box = new MyBox(10, 20, 30); // length, width, height
EyeViewportLayout.Entities.Add(box);
EyeViewportLayout.ZoomFit();
EyeViewportLayout.Invalidate();
我注意到,为了可视化我的类,我需要调用Solid.CreateBox(长度,宽度,高度(,它返回一个新的Solid。如何在自定义类 MyBox 中执行与 CreateBox 相同的工作,以便当我将其添加到 ViewportLayout.Entities 时,它会显示出来?
如果你的固体实际上只是一个盒子或这个列表中的任何东西,有一个简单的方法:
- 箱
- 球果
- 圆柱体
- 球
- 春天
- 花托
我假设它真的是一个盒子。然后创建从实体派生的类
public class MyBox : Solid
{
public double Length {get; private set;} = 0d;
public double Width {get; private set;} = 0d;
public double Height {get; private set;} = 0d;
public MyBox() { }
public MyBox Create(double length, double width, double height)
{
var myBox = Solid.CreateBox<MyBox>(length, width, height);
myBox.Length = length;
myBox.Width = width;
myBox.Height = height;
return myBox;
}
}
如果使用任何其他形状的实体,则需要手动创建每个面。