Я успешно вырезал модель STL, но не могу изменить положение плоскости разреза.Структура: Окно просмотра -> CuttingPlaneGroup -> CuttingPlanes -> Plane3D.Модель STL находится в CuttingPlaneGroup.
Кто-нибудь знает, как динамически изменить положение плоскости резания с помощью ползунка?Если я изменю положение Плоскости, ничего не произойдет.
var nj = sender as Slider;
cutPlane.Position.Offset(0, nj.Value, 0);
Кажется, что после того, как вы отрежете STL, вы больше не сможете его изменить.Нужно ли удалять STL и перезагружать его?Это было бы резко.Модель STL не заморожена и не запечатана.
РЕДАКТИРОВАТЬ:
В исходном коде, который я обнаружил, если вы измените свойство «Operation» или «IsEnabled», он вызываетмодель для обновления.Изменение нормального режима и операции выполняется почти в 2 раза быстрее, чем изменение IsEnabled.Тем не менее, обновление занимает 400-500 мс.
EDIT2:
Я взял исходный код и выставил private void ApplyCuttingGeometries(bool forceUpdate = false)
на public void
.Результат аналогичен изменению операции (~ 400 мс).
Код теперь выглядит следующим образом:
var nj = sender as Slider;
cp.Position = new Point3D(0, nj.Value, 0); // cp = Plane3D
ctp.ApplyCuttingGeometries(true); //ctp = CuttingPlaneGroup
Есть ли лучшее решение?