Проблема с расширением Eyeshot Solid и отображением в ViewportLayout - PullRequest
0 голосов
/ 03 октября 2018

У меня есть собственный класс (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 (длина, ширина, высота), который возвращает новое тело.Как я могу выполнить ту же работу CreateBox внутри моего пользовательского класса MyBox, чтобы при добавлении его в ViewportLayout.Entities он отображался?

1 Ответ

0 голосов
/ 03 октября 2018

Если вы твердое тело на самом деле только коробка или что-нибудь из этого списка, есть простой способ:

  • Коробка
  • Конус
  • Цилиндр
  • Сфера
  • Весна
  • Тора

Я предполагаю, что это действительно коробка.Затем создайте свой класс на основе твердого тела

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

Если вы используете любую другую форму твердого тела, вам нужно будет вручную создать каждую грань.

...