Показать сообщение отдельно
Старый 24.02.2023, 21:52   #864
const
Пользователь
 
Регистрация: 03.01.2016
Сообщений: 32
Сказал(а) спасибо: 3
Поблагодарили 1 раз в 1 сообщении
Вес репутации: 0
const пока не определено
По умолчанию

Цитата:
Сообщение от Slav Посмотреть сообщение
строки этого шедевра код по сути абсолютное говно
Лучше и не скажешь.

Добрый день. Итак, ниже код для определения первой и второй панели в соединении. Не вкладной и накладной, т.к. ... ну вы догадаетесь. Код работает для параметрической фурнитуры. Конкретно для конфирматов, гвоздей и шурупов. Для другой параметрической фурнитуры код аналогичен, с небольшими нюансами. Для произвольной фурнитуры немного сложнее.
PHP код:
var panelFirst; var panelSecond;
Model.forEach(
    function(
Obj){
        if(
Obj instanceof TFastener){
            var 
panel Obj.FindFastenedObjects();
            for (var 
r=0r<panel.length; ++r){
                if (
Obj.DatumMode == && Obj.ParamType == 1){
                    if (
CheckHole(Obj.Holes.First(), Objpanel[r])){
                       
panelSecond panel[r];
                    }else {
                        
panelFirst panel[r];
                    }}}}});
alert ('Первая панель в соединении - ' panelFirst.Name);
alert ('Вторая панель в соединении - ' panelSecond.Name);

    function 
CheckHole(holefastpanel){
        var 
holeCenter fast.ToGlobal({
          
xhole.Position.hole.Direction.* (hole.Depth 2),
          
yhole.Position.hole.Direction.* (hole.Depth 2),
          
zhole.Position.hole.Direction.* (hole.Depth 2),
        })
        
holeCenter panel.ToObject(holeCenter);
        return (
holeCenter.panel.GMin.x) && (holeCenter.panel.GMax.x) &&
          (
holeCenter.panel.GMin.y) && (holeCenter.panel.GMax.y) &&
          (
holeCenter.panel.GMin.z) && (holeCenter.panel.GMax.z);
    } 
В коде использована функция CheckHole, опубликованная bbb i ko
https://xn--90aakbzfbcrjl8bxh.xn--p1...=14883&page=41
Его эта функция или нет не знаю, но спасибо!
И без всяких векторов, понтов и п...жа.
А на счет моего образования, интелекта и возраста: "Прости им Господи, ибо не ведают они что творят".
P.S. И да, моего кода тут чуть более 10 строк.
const вне форума   Ответить с цитированием Вверх