Показать сообщение отдельно
Старый 28.05.2020, 10:12   #300
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от kos100pudov Посмотреть сообщение
Добрый день!
это я так понимаю значения относительно ЛСК фурнитуры... а как узнать что у панели в принципе есть отверстия и его координаты именно на панели?
Узнать какие именно отверстия на панели можно только вручную - встроенной базисной функции нет. Есть лишь функция FindConnectedFasteners у панели, которая возвращает список фурнитуры, которая сверлится в панель. Можно почитать в этом посте (ответ на первую цитату с ссылкой на ещё один пост) как определять отверстия в конкретной панели. Для определения координат отверстия на панели нужно всего лишь перевести координаты отверстия из ЛСК фурнитуры в ЛСК панели:

Абстрактный пример перевода координат

PHP код:
// Точка из ЛСК fast в ЛСК panel
function FromFastTOPanel(fastpanelv){
    return 
panel.ToObject(fast.ToGlobal(v))
}
// Вектор из ЛСК fast в ЛСК panel
function NFromFastTOPanel(fastpanelv){
    return 
panel.NToObject(fast.NToGlobal(v))
}

var 
p1 Model.Selected.AsPanel;
var 
fasts p1.FindConnectedFasteners();
alert(fasts);
// фурнитура
var fasts[0];
// Отвертсие
var fHole f.Holes[0];
// Положение
var pos FromFastTOPanel(fp1fHole.Position);
// Направление
var dir NFromFastTOPanel(fp1fHole.Direction); 
[свернуть]
Letos вне форума   Ответить с цитированием Вверх