Показать сообщение отдельно
Старый 25.02.2023, 00:56   #865
Slav
Местный
 
Регистрация: 15.05.2012
Адрес: Москва
Сообщений: 259
Сказал(а) спасибо: 43
Поблагодарили 212 раз(а) в 90 сообщениях
Вес репутации: 214
Slav - весьма и весьма положительная личностьSlav - весьма и весьма положительная личностьSlav - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от const Посмотреть сообщение
Его эта функция или нет не знаю, но спасибо!
const, мне нужно в очередной раз объяснять многоуважаемой публике, что вы, в очередной раз наделали в штанишки? Или кому нибудь другому данную экзекуцию доверим?

Вот я очень давно не видел такого упертого (или упоротого) представителя homo sapiens.. Я вам крайне рекомендую удалить этот позор и не плодить чушь. Не выставляйте себя на посмешище. У меня к вам на самом деле очень позитивное отношение.
const, мне лично не нужны ваши деньги и я их не вымогаю. Просто меня очень раздражает глупость человечья как таковая.. Если бы форум был устроен иначе, то мы бы с вами вообще не общались. Я или другой конструктор, выложили бы то, что вам надо, и написали ценник на кусок кода.. Нравится покупай. Не нравится -пишем самостоятельно или ждем помощи "добрых людей". И в этом случае я бы вас считал бы милым таким пушистым потенциальным клиентом...

скоро мне это все надоест.. опять час моей жизни украли..
последний раз отписываю по данной теме..дальше либо его , либо меня в бан отправьте пожалуйста
PHP код:
// переделал скрипт от const до адекватного состояния
// потому что, его скрипт вообще неадекватный
// все это для того, что бы хоть немного понять что он хотел всем этим сказать

var Obj=Model.Selected // Obj- это выделенный объект
if((Obj instanceof TFastener)&& (Obj.DatumMode == )){//если Obj - является типом ообъекта "фурнитура", и она ставится по пласти одной и по торцу другой панели
var panels Obj.FindFastenedObjects(); // panels - это панели на кторые Obj воздейсвует своими отверстиями
    
for (var r=0r<panels.length; ++r){ // переберем в цикле все панели  panels
     
var rezCheckHole(Obj.Holes.First(), Objpanels[r]) // отправим аргументы в функцию  CheckHole
       
if (rez){ // если tue то
        
var panelSecond panels[r]; // вторая панель - это панель, которая  имеет пересечения c первым отверстием отъекта фурнитура
         
}else { // иначе
         
var panelFirst panels[r];}// первая панель - это панель, которая не имеет пересечения c первым отверстие отъекта фурнитура
        
};
};
// в итоге мы получаем абсолютно глупый и самое главное локальный вывод :
alert ('Первая панель в соединении - ' panelFirst.Name);
alert ('Вторая панель в соединении - ' panelSecond.Name);

// недостатки скрипта: (он даже с исправлениями намного хуже того бесплатного говно-скрипта, котрый давал я выше)

// 1) скрипт работает строго под евровинт на компьютере const
// 2) если создать 2 евровинта в пользовательской фурнитуре с 2 мя отверстиями 5 и 8 мм  и
// 2.1 - в структуре модели 5 диаметр первый по списку а 8 диаметр второй по списку ,
// 2.2 - в структуре модели 8 диаметр первый по списку а 5 диаметр второй по списку ,
// скрипт будет работать только в 1 из 2 возможных вариантов, то есть он не учитывает рандомные сценарии от других пользователей
// такой скрипт ни в коем случае нельзя использовать на ПК технолога , который практикует прием заказов со стороны
// 3)сама по себе функция CheckHole - сомнительная функция, поскольку определяет пересечение с применением GMax,
// и может вызвать проблемы в нахождении отверстий на криволинейном контуре
// Но поскольку основная масса делает тумбочки, то CheckHole "канает и так" .. и может считаться "годнотой"
// в принципе, под пивас работать в большинстве сценариев будет
// НО серьезные люди такие функции не используют в своей практике

// Вывод: Очередной говно-код, за то сам пишу..

function CheckHole(holefastpanel){ // hole- вектор, координаты центра отверстия внутри ГСК fast, fast - фурнитура,  panel -панель
        
var holeCenter fast.ToGlobal({ // пересчитаем координаты вектора из ГСК fast в ГСК проекта  и получим 3D вектор holeCenter
          
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); // пересчитаем координаты вектора holeCenter в 2D контура панели
        
return (holeCenter.panel.GMin.x) && (holeCenter.panel.GMax.x) &&  // производим сравнивание положения точки holeCenter //
          
(holeCenter.panel.GMin.y) && (holeCenter.panel.GMax.y) &&      // и возвращаем true или false в зависимости находится ли точка
          
(holeCenter.panel.GMin.z) && (holeCenter.panel.GMax.z);        // за пределами контура

Slav вне форума   Ответить с цитированием Вверх