Цитата:
Сообщение от v22884
Надо определять какие отверстия с какой пласти.
|
Можно использовать такую функцию:
PHP код:
/**
* Определить пласть, с которой засверлено отверстие
* @returns {boolean} true - задняя пласть (-Z по ЛСК панели), false - передняя пласть (+Z по ЛСК панели)
* @param {*} hole Отверстие
* @param {Object3} fast Фурнитура, которой принадлежит отверстие
* @param {Panel} panel Панель
*/
function GetPanelFace(hole, fast, panel){
var lowz = panel.LowZ;
var highz = panel.HighZ;
// начальная точка отверстия в ЛСК панели по оси Z (ось пласти панели)
var holeStart = panel.ToObject(fast.ToGlobal(hole.Position)).z;
var lowd = Math.abs(holeStart - lowz);
var highd = Math.abs(holeStart - highz);
return lowd < highd;
}
Здесь берётся положение отверстия, переводится в ЛСК панели и сравнивается расстояние от положения отверстия до минимума панели с расстоянием от положения отверстия до максимума панели. Где меньше расстояние - с той пласти и сверлится отверстие.