Форум профессиональных мебельщиков PROMEBELclub
 
PROMEBELclub - Форум для мебельщиков: руководителей мебельных предприятий, конструкторов, дизайнеров, мастеров, технологов и всех, кто имеет отношение к мебельному бизнесу. Программы для конструирования мебели, дизайна, для комплексной автоматизации мебельного предприятия. Мебельная литература и обучающие пособия.
 
 
Внимание! Если Вы владелец или управляющий мебельным бизнесом и Ваша деятельность ведется в одной из стран ТС - тогда специально для Вас на нашем форуме создан закрытый раздел Предприниматель. Вступайте в группу Предприниматель и общайтесь, ищите партнеров и реализуйте совместные взаимовыгодные проекты. Подать заявку на вступление в группу Предприниматель можно в личном кабинете.

Вернуться   Форум профессиональных мебельщиков PROMEBELclub > Программы для мебельщиков > Программы для конструирования и дизайна мебели > Система БАЗИС > Базис-мебельщик. Скрипты


Реклама на портале PROMEBELclub
шкаф-купе со скидкой по акции
Реклама на портале PROMEBELclub

искусственный камень Мебель196. Мебельный интернет-магазин в Екатеринбурге.
Ответ
 
Опции темы Опции просмотра
Старый 06.06.2017, 09:56  
БАЗИС 10 - Скрипты
systland
Модератор
Регистрация: 30.10.2007
Адрес: Москва
Сообщений: 561

Сказал(а) спасибо: 291
Поблагодарили 427 раз(а) в 179 сообщениях
Версия для печати Отправить по электронной почте
systland systland вне форума 06.06.2017, 09:56
Рейтинг: (3 голосов - 4.00 средняя оценка)

Обмениваемся , задаем вопросы, отвечаем... Все, что касается скриптов в БМ 10 в этой теме.
__________________


Последний раз редактировалось systland; 26.12.2017 в 11:52..
Просмотров: 55398
Ответить с цитированием Вверх
Старый 06.12.2018, 11:04   #311
igor_medved
Новичок
 
Регистрация: 11.07.2018
Сообщений: 4
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
igor_medved пока не определено
По умолчанию

Ovsyanicov,
Огромное спасибо!
Вообще их поддержка не вдохновила, задал вопрос по тому как считать ЛДСП шт а не кв.м, получил сухие ответы, например на форуме расписали этот вопрос по полочкам.
igor_medved вне форума   Ответить с цитированием Вверх
Старый Сегодня, 10:37   #312
potomu4to
Местный
 
Аватар для potomu4to
 
Регистрация: 18.02.2008
Адрес: Санкт-Петербург
Сообщений: 438
Сказал(а) спасибо: 349
Поблагодарили 288 раз(а) в 94 сообщениях
Вес репутации: 232
potomu4to как роза среди колючекpotomu4to как роза среди колючекpotomu4to как роза среди колючек
По умолчанию

Господа скрипто писатели, пожалуйста, кому не сложно сделайте скриптик чтоб на модели выделялись все детали с торцевыми отверстиями.
__________________
potomu4to вне форума   Ответить с цитированием Вверх
Старый Сегодня, 14:43   #313
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 237
Сказал(а) спасибо: 49
Поблагодарили 412 раз(а) в 159 сообщениях
Вес репутации: 123
Letos - очень-очень хороший человекLetos - очень-очень хороший человекLetos - очень-очень хороший человекLetos - очень-очень хороший человекLetos - очень-очень хороший человек
По умолчанию

Цитата:
Сообщение от potomu4to Посмотреть сообщение
Господа скрипто писатели, пожалуйста, кому не сложно сделайте скриптик чтоб на модели выделялись все детали с торцевыми отверстиями.
Сделано:

Код

Код:
function Equals(n1, n2){
  return Math.abs(n1 - n2) < 0.001;
}

function EqualsV(v1, v2) {
  return Equals(v1.x, v2.x) &&
  Equals(v1.y, v2.y) &&
  Equals(v1.z, v2.z);
}

function CheckWithPanel(gDir, panel){
  return (EqualsV(gDir, panel.NToGlobal(AxisX)) ||
    EqualsV(gDir, panel.NToGlobal(Axis_X)) ||
    EqualsV(gDir, panel.NToGlobal(Axis_Y)) ||
    EqualsV(gDir, panel.NToGlobal(Axis_Y)))
}

function CheckHole(hole, fast, panel){
  var holeCenter = fast.ToGlobal({
    x: hole.Position.x + hole.Direction.x * (hole.Depth / 2),
    y: hole.Position.y + hole.Direction.y * (hole.Depth / 2),
    z: hole.Position.z + hole.Direction.z * (hole.Depth / 2),
  })
  holeCenter = panel.ToObject(holeCenter);
  return (holeCenter.x > panel.GMin.x) && (holeCenter.x < panel.GMax.x) &&
    (holeCenter.y > panel.GMin.y) && (holeCenter.y < panel.GMax.y) &&
    (holeCenter.z > panel.GMin.z) && (holeCenter.z < panel.GMax.z);
}

Model.UnSelectAll();
Model.forEachPanel(function (panel) {
  var fasts = panel.FindConnectedFasteners();  
  for (var i = 0; i < fasts.length; i++) {
    var fast = fasts[i];
    var holes = fast.Holes;
    if (holes && holes.Count > 0) {
      for (var j = 0; j < holes.Count; j++) {
        var hole = holes[j];
        if (CheckWithPanel(fast.NToGlobal(hole.Direction), panel) && 
          CheckHole(hole, fast, panel)){
          panel.Selected = true;
          break;
        }
      }
    }
    else {
      fastDir = fast.NToGlobal(AxisX);
      if (CheckWithPanel(fastDir, panel))
        panel.Selected = true;
    }
  }
})
[свернуть]

Проверял на параметрической фурнитуре (стяжки, евровинты), насчёт произвольной ничего сказать не могу. Если скрипт будет работать неправильно - приложите простой пример, спробуем разобраться.

Обновление 15:09
Поправил код. Добавил сравнение с точностью 0.001 - из-за погрешностей в числах с плавающей точкой могли не выделяться панели.

Обновление 15:22
В очередной раз поправил код. Исправил ошибку, что проверка равности векторов была только по оси Х

Последний раз редактировалось Letos; Сегодня в 15:20. Причина: Поправил в очередной раз код
Letos вне форума   Ответить с цитированием Вверх
7 пользователя(ей) сказали cпасибо:
Старый Сегодня, 15:03   #314
potomu4to
Местный
 
Аватар для potomu4to
 
Регистрация: 18.02.2008
Адрес: Санкт-Петербург
Сообщений: 438
Сказал(а) спасибо: 349
Поблагодарили 288 раз(а) в 94 сообщениях
Вес репутации: 232
potomu4to как роза среди колючекpotomu4to как роза среди колючекpotomu4to как роза среди колючек
По умолчанию

Цитата:
Сообщение от Letos Посмотреть сообщение
Проверял на параметрической фурнитуре (стяжки, евровинты), насчёт произвольной ничего сказать не могу. Если скрипт будет работать неправильно - приложите простой пример, спробуем разобраться.
Спасибо вам большое что помогли.Пока проблем не нашел, случай чего в личку напишу.
__________________
potomu4to вне форума   Ответить с цитированием Вверх
Ответ

Нижняя навигация
Вернуться   Форум профессиональных мебельщиков PROMEBELclub > Программы для мебельщиков > Программы для конструирования и дизайна мебели > Система БАЗИС > Базис-мебельщик. Скрипты

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Базис-Мебельщик 10 systland Базис-мебельщик 10.0 714 Сегодня 10:10
БАЗИС-Мебельщик 7.0 Shadow Базис-мебельщик 7.0 2228 12.09.2016 19:13
Базис-мебельщик JavaScript ran Ищу работу 0 09.05.2014 10:08


Текущее время: 19:35. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
© 2007-2018 PROMEBEL