Как я могу вычесть один объект Model3D из другого с помощью HelixToolkit или 3D WPF?

Я использую библиотеку HelixToolkit.Wpf для создания графики для своего приложения. Я знаю, что Helix предоставляет группу CuttingPlanesGroup, которая дает вам возможность создавать изображения, подобные этому: https://imgur.com/0NUorOF

Но проблема, с которой я сталкиваюсь, заключается в том, что CuttingPlanesGroup является объектом ModelVisual3D, и я не могу его использовать, поскольку я уже устанавливаю содержимое своего элемента управления в другой ModelVisual3D.

Итак, есть ли способ с помощью Helix или общего 3D WPF вычесть одну 3D-форму из другой? Таким образом, я мог просто создать цилиндр и трехмерный прямоугольник и вычесть одно из другого.


person chamshop    schedule 31.07.2018    source источник


Ответы (1)


Если я правильно понял, то, что вы ищете, это «Конструктивная сплошная геометрия» или просто как выполнять логические операции с твердотельными 3D-моделями. Насколько я знаю, Helix-toolkit такой функциональности не предоставляет.

В этой ссылке Objo говорит, что они не планируют добавлять логические операции. Но это было 4 года назад. https://helixtoolkit.userecho.com/communities/1/topics/559-3d-boolean-operations

Мне нужна была подобная функциональность много лет назад, в итоге я перенес CSG.js на C#.

https://evanw.github.io/csg.js/

Сейчас есть порт на гитхабе.

https://github.com/praeclarum/Csg

person Mertus    schedule 28.11.2018