MSF - to be continue...



Фасетная модель "экструда с отверстием", аксонометрия.





Сначала написал процедуру добавления отверстия на грань объекта, потом уже сообразил что надо было сразу подходить "комплексно" - так или иначе основной класс при работе с 3д это экструда, а значит и дырявить предстоит именно ее, т.е. все упирается в процедуру построения дыры. Пока мыслю такую сигнатуру:

public void AddHole(string onFace, Vect3D Direction, double Depth, List<Pgn3d>)
        {
              // есть желающие?
        }
onFace - грань, на которую добавляем отверстие, строка-ключ, завязанная на id детали в сборке;
Direction - направление(вектор) отверстия(нормаль как правило, но хочу сразу описать и "косой" вариант);
Depth - глубина отверстия, тоже не совсем актуальный парам, но почему бы и нет - пусть будет возможность задать "нишу", а не отверстие...
 List<Pgn3d> - собссно полигон-определяющий дыру.

пока не решил:
- как описывать привязку полигона-отверстия
- в каком виде передавать полигон - в виде 3D или плоским, т.е. условно размещать грань в 2D пск, и здесь привязывать 2D полигон...
эх...где-то бы посмотреть...

В дальнейшем - 
побороть проблему с точностью,
привязать к сортаменту...

А теперь опять скрины, добавил дыру на противоположную грань, примерно понял, где логику проверять. В этом особый кайф геометрии - любая гипотеза имеет вполне очертаемое представление, и путем анализа и наблюдений этого представления можно делать выводы. Т.е. геометрия это настолько "родные" мышлению абстракции, что ими удобно умозрительно оперировать...





Комментарии

Популярные сообщения из этого блога

GDL. Объект для моделей из "оцилиндрованного бревна"

График функции в полярных координатах?! Легко!

Объект "Plan Marker"