0

我有一个扩展 devDept.Eyeshot.Entities.Solid 的自定义类(MyBox),我想像这样将它添加到 ViewportLayout:

        MyBox box = new MyBox(10, 20, 30); // length, width, height

        EyeViewportLayout.Entities.Add(box);
        EyeViewportLayout.ZoomFit();
        EyeViewportLayout.Invalidate();

我注意到为了可视化我的类,我需要调用 Solid.CreateBox(length, width, height) 来返回一个新的 Solid。如何在我的自定义类 MyBox 中执行与 CreateBox 相同的工作,以便在将其添加到 ViewportLayout.Entities 时显示它?

4

1 回答 1

0

如果你的固体真的只是一个盒子或这个列表中的任何东西,有一个简单的方法:

  • 盒子
  • 锥体
  • 圆柱
  • 领域
  • 春天
  • 环面

我会假设它真的是一个盒子。然后创建从solid派生的类

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;
    }
}

如果您使用任何其他形状的实体,您将需要手动创建每个面。

于 2018-10-03T14:57:25.307 回答