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

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

Меню

Маркет


беспроводные выключатели для мебели
Ответ
 
Опции темы Опции просмотра
Старый 06.06.2017, 08:56  
БАЗИС 10 - Скрипты
systland
VIP
Регистрация: 30.10.2007
Адрес: Москва
Сообщений: 565

Сказал(а) спасибо: 303
Поблагодарили 451 раз(а) в 189 сообщениях
Версия для печати Отправить по электронной почте
systland systland вне форума 06.06.2017, 08:56
Рейтинг: ()

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


Последний раз редактировалось systland; 26.12.2017 в 11:52..
Просмотров: 425184
Ответить с цитированием Вверх
Старый 20.06.2020, 01:49   #531
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от Максим Геннадьевич Посмотреть сообщение
Не поделитесь демо версией? Перерыл интернет, но так и не нашел
Видел сообщения в соседней теме. Действительно, последний оф. релиз, судя по новостям на сайте базиса - декабрь 2018 года. Не помню уже как ко мне такая версия попала, но она у меня только на рабочем компе, и установщик на компе я почему-то не нашёл.
Дома стоит 10.3.0.24187 от 11.05.2018, но и в ней скрипт работает нормально. Может модель/фурнитура специфическая нужна, чтобы воспроизвести проблему?
Кстати, в редакторе скриптов лог никаких ошибок не показывает?
Letos вне форума   Ответить с цитированием Вверх
Старый 20.06.2020, 09:09   #532
IStiv
Пользователь
 
Регистрация: 02.12.2016
Сообщений: 84
Сказал(а) спасибо: 21
Поблагодарили 55 раз(а) в 27 сообщениях
Вес репутации: 109
IStiv скоро придёт к известности
По умолчанию

Цитата:
Сообщение от Максим Геннадьевич Посмотреть сообщение
У меня не работает или вообще не работает. Пытаюсь установить фурнитуру через Mount , но не срабатывает именно в 10 версии. Подскажите в чем может быть дело.
у меня тоже это не работает в БМ 10. возможно стоит попробовать:
1. Если на машине рядом стоят БМ10 и БМ11 -попробовать удалить БМ 11.
2.попробовать переписать код синхронно- попробовать в работе.

left.Build(); -это строка ничего не делает насколько понимаю.
IStiv вне форума   Ответить с цитированием Вверх
Старый 20.06.2020, 09:56   #533
Максим Геннадьевич
Местный
 
Регистрация: 11.04.2018
Адрес: г.Маркс
Сообщений: 162
Сказал(а) спасибо: 57
Поблагодарили 242 раз(а) в 45 сообщениях
Вес репутации: 137
Максим Геннадьевич - весьма и весьма положительная личностьМаксим Геннадьевич - весьма и весьма положительная личностьМаксим Геннадьевич - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от Letos Посмотреть сообщение
Кстати, в редакторе скриптов лог никаких ошибок не показывает?
В том и беда, что в логе никаких ошибок не показывает.

Цитата:
Сообщение от IStiv Посмотреть сообщение
1. Если на машине рядом стоят БМ10 и БМ11 -попробовать удалить БМ 11.
С удалением вариант не сработал
Цитата:
Сообщение от IStiv Посмотреть сообщение
2.попробовать переписать код синхронно- попробовать в работе.
Не пойму как это синхронно переписать

Цитата:
Сообщение от IStiv Посмотреть сообщение
left.Build(); -это строка ничего не делает насколько понимаю
Осталась от старого кода.

А вот так работает
PHP код:
var FileOptions 'Save.xml';
// var left = GetPanel("Укажите левую панель");

var prop Action.Properties;
var 
blockMat prop.NewMaterial('Материал');
var 
blockFurn blockMat.NewFurniture('Крепеж');

NewBtn NewButtonInput('Закончить');
NewBtn.OnChange = function() {
    
Action.Commit();
    
Action.Finish();
}

prop.OnChange = function() {
MakeShelf();
}

function 
MakeShelf(){
DeleteNewObjects();
var 
left AddVertPanel(004008000) ;
left.Build();
var  
pan AddHorizPanel(left.GabMax.x0400400500);
pan.Build();
blockFurn.Value.Mountpan,leftleft.GabMax.x508200);
  }
  
MakeShelf();
       
Action.Continue(); 
Есть вариант завершения выполнения GetPanel? Думаю тут собака зарыта
Максим Геннадьевич вне форума   Ответить с цитированием Вверх
Старый 21.06.2020, 09:51   #534
IStiv
Пользователь
 
Регистрация: 02.12.2016
Сообщений: 84
Сказал(а) спасибо: 21
Поблагодарили 55 раз(а) в 27 сообщениях
Вес репутации: 109
IStiv скоро придёт к известности
По умолчанию

Цитата:
Сообщение от Максим Геннадьевич Посмотреть сообщение
В том и беда, что в логе никаких ошибок не показывает.
в отладчике иногда выдавал ошибку доступа к памяти

Цитата:
Сообщение от Максим Геннадьевич Посмотреть сообщение
Не пойму как это синхронно переписать
имею ввиду:
без кнопок загружая какую то определенную фурнитуру и создавая панели скриптом, потом добавили выбор панели, потом одну кнопку, потом другую.
так постепенно усложняя можно найти проблемное место.
ну так как идея, я бы так искал.
IStiv вне форума   Ответить с цитированием Вверх
Старый 27.06.2020, 11:18   #535
Funman
Пользователь
 
Регистрация: 01.01.2020
Сообщений: 30
Сказал(а) спасибо: 17
Поблагодарили 1 раз в 1 сообщении
Вес репутации: 0
Funman пока не определено
По умолчанию

День добрый. Подскажи плиз, как вывести инфу из массива? Ну или вообще список на экран? Если запускаю код в редакторе по F5, все работает. А обычный запуск ничего не выводит. Хочу чтобы при сохранении модели запускалась проверка и выводила , что забыл сделать. infomsg тоже не работает.
Код:
var panel;
  csvRows = [];
var counter = 1;

Model.forEachPanel((panel)=>{

         t = panel.Butts.Count;
         if t<4 {
         if panel.Name=="Дно" {
          csvRows.push('Добавить ПРОПИЛ ' + panel.Name+' поз '+ panel.ArtPos);
         }
         if panel.Name=="Декоративная планка" {
        csvRows.push('Без кромок ' + panel.Name+' поз '+ panel.ArtPos);
 }
 }

});
   alert(csvRows.join('\n'));
Funman вне форума   Ответить с цитированием Вверх
Старый 28.06.2020, 08:08   #536
IStiv
Пользователь
 
Регистрация: 02.12.2016
Сообщений: 84
Сказал(а) спасибо: 21
Поблагодарили 55 раз(а) в 27 сообщениях
Вес репутации: 109
IStiv скоро придёт к известности
По умолчанию

Цитата:
Сообщение от Funman Посмотреть сообщение
Подскажи плиз, как вывести инфу из массива?
перебрать массив и вывести каждый элемент.

Цитата:
Сообщение от Funman Посмотреть сообщение
Если запускаю код в редакторе по F5
скорее плохо что этот код работает, чем хорошо).

внизу вариант с выводом в alert.
и то там есть что улучшить.


PHP код:
var panel;
var 
csvRows = [];
var 
buttCount;

Model.forEachPanel((panel) => {

  
buttCount panel.Butts.Count;
  if (
buttCount 4) {
    if ( 
panel.Name == "Дно") {
      
csvRows.push("Добавить ПРОПИЛ " panel.Name " поз " panel.ArtPos "\n");
    }
    if (
panel.Name == "Декоративная планка") {
      
csvRows.push("Без кромок " panel.Name " поз " panel.ArtPos "\n");
    }
  }

});

if (
csvRows.length 0) {
  
alert(csvRows);

IStiv вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
Funman (28.06.2020)
Старый 28.06.2020, 10:09   #537
Funman
Пользователь
 
Регистрация: 01.01.2020
Сообщений: 30
Сказал(а) спасибо: 17
Поблагодарили 1 раз в 1 сообщении
Вес репутации: 0
Funman пока не определено
По умолчанию

Супер, сравню два варианта,попытаюсь понять в чем ошибка.
Если не сложно, подскажите как определить наличие отверстий в торце и на пласти и как получить их координаты относительно краев панели?
Funman вне форума   Ответить с цитированием Вверх
Старый 28.06.2020, 15:12   #538
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от Funman Посмотреть сообщение
День добрый. Подскажи плиз, как вывести инфу из массива? Ну или вообще список на экран? Если запускаю код в редакторе по F5, все работает. А обычный запуск ничего не выводит. Хочу чтобы при сохранении модели запускалась проверка и выводила , что забыл сделать. infomsg тоже не работает.
Код:
var panel;
  csvRows = [];
var counter = 1;

Model.forEachPanel((panel)=>{

         t = panel.Butts.Count;
         if t<4 {
         if panel.Name=="Дно" {
          csvRows.push('Добавить ПРОПИЛ ' + panel.Name+' поз '+ panel.ArtPos);
         }
         if panel.Name=="Декоративная планка" {
        csvRows.push('Без кромок ' + panel.Name+' поз '+ panel.ArtPos);
 }
 }

});
   alert(csvRows.join('\n'));
if (t<4) {

В остальных условиях так же - все условия должны заключаться в скобки. Есть такая бага (фича?) в редакторе скриптов - он почему-то не считает этот код ошибочным и выполняет его, хотя там из-за отсутствия скобок в условии скрипт не должен выполняться вообще (синтаксическая ошибка).
Letos вне форума   Ответить с цитированием Вверх
Старый 28.06.2020, 15:31   #539
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от Funman Посмотреть сообщение
Супер, сравню два варианта,попытаюсь понять в чем ошибка.
Если не сложно, подскажите как определить наличие отверстий в торце и на пласти и как получить их координаты относительно краев панели?
Я несколько раз писал на похожие темы. Если кратко - точного (встроенного базисного) метода получения отверстий в панели нет. Можно написать свои, которые с точностью 98% (цифра из головы, но с достаточно большой точностью) будут давать верный ответ. После нахождения отверстия, надо сравнить его ось направления с осью Z панели (естественно, приведя их к одной ЛСК). Если вектора коллинеарны (т.е. направления совпадают или противоположны) - отверстие в пласть, если нет - скорее всего в торец. С координатами чуть посложнее - перевод координат по ссылке ниже описан, а вот "относительно краёв" - понятие относительное. У всех 3д-объектов есть свои положение и поворот в пространстве. Соответственно, минимум (и максимум) панели может находиться как в левом нижнем заднем(правом верхнем переднем) углу панели, так и в совершенно другом месте (даже по центру панели, в зависимости от операций, совершённых при построении и редактировании панели). Если вам нужны абстрагированные значения для прямоугольной панели, можете взять значения Min\Max контура и сравнивать их с положением отверстия, переведённым из ЛСК фурнитуры в ЛСК панели.

Доп информацию можно найти в другом посте (там есть ссылка на ещё один пост).
Letos вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
Funman (28.06.2020)
Старый 28.06.2020, 17:03   #540
Funman
Пользователь
 
Регистрация: 01.01.2020
Сообщений: 30
Сказал(а) спасибо: 17
Поблагодарили 1 раз в 1 сообщении
Вес репутации: 0
Funman пока не определено
По умолчанию

Подскажите как из var fasts = panel.FindConnectedFasteners() вытащить список прикрепленной фурнитуры к панели.
alert (fasts.list, fast[i], fast.name) не работают? вижу только object TFastener
Funman вне форума   Ответить с цитированием Вверх
Ответ

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

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Базис-Мебельщик 10 systland Базис-мебельщик 10 1264 13.03.2024 22:48
БАЗИС-Мебельщик 7.0 Shadow Базис-мебельщик 7 2230 29.11.2019 10:37
Базис-мебельщик JavaScript ran Ищу работу 0 09.05.2014 10:08


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


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
© 2007-2023 PROMEBEL

џндекс.Њетрика