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

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

Меню

Маркет


беспроводные выключатели для мебели
Ответ
 
Опции темы Опции просмотра
Старый 14.09.2019, 00:17  
БАЗИС 11-2023 - Скрипты
 
Аватар для AlexBolton
AlexBolton
Модератор
Регистрация: 19.02.2008
Адрес: www
Сообщений: 3,944

Сказал(а) спасибо: 7,295
Поблагодарили 16,919 раз(а) в 3,212 сообщениях
Версия для печати Отправить по электронной почте
AlexBolton AlexBolton вне форума 14.09.2019, 00:17
Рейтинг: ()

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

Новшества Базис Мебельщик версии 11:
.....
6. Работоспособность скриптов, созданных в более ранних версиях, не гарантируется в версии БАЗИС 11.
.....
52. Разработана панель инструментов для скриптов, на которую можно вывести, например, часто используемые скрипты, со своими иконками, хинтами и т.д.
53. Добавлена возможность автозапуска выбранного скрипта на любое из двух событий – Загрузка модели, и/или Сохранение модели.
.....

Новшества Базис Мебельщик версии 2021:

16. Отладчик скриптов.



VISUAL CODE

Код:
Примеры скриптов из видео

Вес панелей.js
Выделить панели без облицовки.js
Панель по 3 точкам.js
Прифуговка кромки.js
node.js обновился с 7.0.0 до 8.11.3

Напиши себе Базис или Моя первая тумбочка 2
Комплект - руководство+ файлы+ скрипт

Обратите внимание на полезные ответы в этой теме!

__________________
.
▓▒░ Халявы не бывает ░▒▓

[ Как правильно задавать вопросы на форумах ] | [ Как просто, быстро и правильно опубликовать фото и файлы в сообщении 15.03.2024]

[ USDownloader - удобно и безопасно скачиваем с файлообменников 09.02.2024] | [ Обходим блокировки сайтов, торрентов, месенджеров, ФО - RU - UA]


Любые вопросы по любому системному и мебельному софту, любые конвертации, настройки и т.д. >сюда< (кроме озвученных в мануалах, инструкциях и темах форума) ...

Последний раз редактировалось AlexBolton; 09.01.2024 в 11:56..
Просмотров: 600131
Ответить с цитированием Вверх
14 пользователя(ей) сказали cпасибо:
Старый 23.02.2020, 23:07   #171
wizardpnz
Местный
 
Регистрация: 02.07.2011
Сообщений: 191
Сказал(а) спасибо: 93
Поблагодарили 105 раз(а) в 44 сообщениях
Вес репутации: 196
wizardpnz скоро придёт к известностиwizardpnz скоро придёт к известности
По умолчанию

как получить данные габарит изделия?
можно получить свойства габаритной рамки
Model.Objects[0].Width
Model.Objects[0].Height
Model.Objects[0].Depth

но её может и не быть тогда будет undefined

исследовал объект Action, но видимо не там или очень глубоко

тем не менее другие данные из этого окна получить можно

Action.Control.Article.Code
Action.Control.Article.Name
Action.Control.Article.OrderName
wizardpnz вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
Ovsyanicov (24.02.2020)
Старый 25.02.2020, 09:48   #172
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от wizardpnz Посмотреть сообщение
как получить данные габарит изделия?
можно получить свойства габаритной рамки
Model.Objects[0].Width
Model.Objects[0].Height
Model.Objects[0].Depth

но её может и не быть тогда будет undefined

исследовал объект Action, но видимо не там или очень глубоко

тем не менее другие данные из этого окна получить можно

Action.Control.Article.Code
Action.Control.Article.Name
Action.Control.Article.OrderName
Габариты как у любого объекта:
PHP код:
var min Model.GMin;
var 
max Model.GMax
По сути, это будут точки минимум/максимум вложенных элементов (также, как и у блока). Разницы между GMin и GabMin у модели быть не должно, ибо её ЛСК равна ГСК (в теории, возможно изменить поворот всей модели, но на практике таких случаев я не встречал).
Letos вне форума   Ответить с цитированием Вверх
Старый 25.02.2020, 10:53   #173
rombler
Пользователь
 
Регистрация: 13.01.2020
Сообщений: 69
Сказал(а) спасибо: 48
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
rombler пока не определено
По умолчанию

Цитата:
Сообщение от Ovsyanicov Посмотреть сообщение
Это массив, в котором лежит объект, а не ассоциативный массив.
[/PHP]
Я все таки пошел по пути объектов. Меньше текста в коде получается.
Написал такой код:
PHP код:
FA=[];
pat=[];
for (var 
0j3j++){
    for (var 
03i++){
        
pat[i]=new Array();
        
pat[i]["tip"]=i+j;
    }
console.log(pat);
    
FA[j]=pat;
}
console.log(FA); 
На выходе хочу получить
0,1,2
1,2,3
2,3,4
А получаю
2,3,4
2,3,4
2,3,4
Подскажите пожалуйста как исправить ситуацию?
rombler вне форума   Ответить с цитированием Вверх
Старый 25.02.2020, 12:16   #174
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от rombler Посмотреть сообщение
Я все таки пошел по пути объектов. Меньше текста в коде получается.
Написал такой код:
PHP код:
FA=[];
pat=[];
for (var 
0j3j++){
    for (var 
03i++){
        
pat[i]=new Array();
        
pat[i]["tip"]=i+j;
    }
console.log(pat);
    
FA[j]=pat;
}
console.log(FA); 
На выходе хочу получить
0,1,2
1,2,3
2,3,4
А получаю
2,3,4
2,3,4
2,3,4
Подскажите пожалуйста как исправить ситуацию?
У вас pat не меняется, соответственно на каждой итерации цикла идёт работа с одним и тем же массивом. Исправить можно путём инициализации этой переменной в самом цикле:
PHP код:
FA = [];
for (var 
03j++) {
    var 
pat = [];
    for (var 
03i++) {
        
pat[i] = new Array();
        
pat[i]["tip"] = j;
    }
    
console.log(pat);
    
FA[j] = pat;
}
console.log(FA); 
Letos вне форума   Ответить с цитированием Вверх
2 пользователя(ей) сказали cпасибо:
Ovsyanicov (25.02.2020), rombler (25.02.2020)
Старый 25.02.2020, 12:23   #175
Ovsyanicov
Местный
 
Регистрация: 30.11.2013
Адрес: Кишинев
Сообщений: 734
Сказал(а) спасибо: 1,529
Поблагодарили 884 раз(а) в 376 сообщениях
Вес репутации: 402
Ovsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от rombler Посмотреть сообщение
На выходе хочу получить
0,1,2
1,2,3
2,3,4
А получаю
2,3,4
2,3,4
2,3,4
Подскажите пожалуйста как исправить ситуацию?
Вот так получите необходимый результат:

PHP код:
FA=[];
pat=[];
for (var 
0j3j++){
    for (var 
03i++){
        
pat[i] = [];
        
pat[i] = i+j;
    }
console.log(pat);
    
FA[j]=pat;
}
console.log(FA); 
Цитата:
Сообщение от Letos Посмотреть сообщение
У вас pat не меняется, соответственно на каждой итерации цикла идёт работа с одним и тем же массивом.
Осмелюсь не согласиться - меняется.
Ovsyanicov вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
rombler (25.02.2020)
Старый 25.02.2020, 12:24   #176
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от rombler Посмотреть сообщение
PHP код:
        pat[i]=new Array();
        
pat[i]["tip"]=i+j
Не пониманию, зачем такое извращение - создавать объект(!) типа массив, чтобы не использовать его индексные свойства и использовать его как объект. Проще тогда уж создавать объект. Например (вместо процитированного кода):
PHP код:
pat[i]={
    
tipi+j
}; 
Имхо, сразу понятно, что такое pat[i].
P.S. Не знаю, какую высшую цель вы преследуете и, может, потом этот объект будет использоваться как массив, но в текущем контектсе решение выглядит странным и запутанным.
Letos вне форума   Ответить с цитированием Вверх
2 пользователя(ей) сказали cпасибо:
Ovsyanicov (25.02.2020), rombler (25.02.2020)
Старый 25.02.2020, 12:31   #177
Ovsyanicov
Местный
 
Регистрация: 30.11.2013
Адрес: Кишинев
Сообщений: 734
Сказал(а) спасибо: 1,529
Поблагодарили 884 раз(а) в 376 сообщениях
Вес репутации: 402
Ovsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от Letos Посмотреть сообщение
Не пониманию, зачем такое извращение - создавать объект(!) типа массив, чтобы не использовать его индексные свойства и использовать его как объект. Проще тогда уж создавать объект.
Полностью согласен!
Ovsyanicov вне форума   Ответить с цитированием Вверх
Старый 25.02.2020, 12:33   #178
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от Ovsyanicov Посмотреть сообщение
Вот так получите необходимый результат:

PHP код:
FA=[];
pat=[];
for (var 
0j3j++){
    for (var 
03i++){
        
pat[i] = [];
        
pat[i] = i+j;
    }
console.log(pat);
    
FA[j]=pat;
}
console.log(FA); 
Проблема так все равно не решится. В один и тот же массив pat трижды переписываются значения в индексах с 0 по 2 (в цикле по i). А в массив FA каждый раз записывается ссылка на массив pat (в цикле по j). Если визуализировать, то примерно так это выглядит:

Порядок формирования массивов

  • i == 0;
    pat = [0, 1, 2];
    FA = [
    pat // [0, 1, 2]
    ]
  • i == 1;
    pat = [1, 2, 3];
    FA = [
    pat, // [1, 2, 3]
    pat // [1, 2, 3]
    ]
  • i == 2;
    pat = [2, 3, 4];
    FA = [
    pat, // [2, 3, 4]
    pat, // [2, 3, 4]
    pat // [2, 3, 4]
    ]
[свернуть]
Letos вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
Ovsyanicov (25.02.2020)
Старый 25.02.2020, 12:37   #179
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от Ovsyanicov Посмотреть сообщение
Осмелюсь не согласиться - меняется.
Я проверял на 11 версии, у вас тоже на 11?
Мой лог во вложении
Миниатюры
arrays.png  
Letos вне форума   Ответить с цитированием Вверх
Старый 25.02.2020, 12:42   #180
rombler
Пользователь
 
Регистрация: 13.01.2020
Сообщений: 69
Сказал(а) спасибо: 48
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
rombler пока не определено
По умолчанию

Цитата:
Сообщение от Letos Посмотреть сообщение
P.S. Не знаю, какую высшую цель вы преследуете и, может, потом этот объект будет использоваться как массив, но в текущем контектсе решение выглядит странным и запутанным.
Как я уже писал выше я пытаюсь сделать конвертер из макросов к3-мебель в скрипты базиса. Т.к база макросов уже очень большая то это получается проще чем с нуля создавать рисунки в базисе.
По макросам строка #Pat1 polyequidistant pat radius -smeh; предполагается что создается объект с именем Pat1 который берётся из объекты pat и строится к нему полиэквидистанта с радиусом smeh. В свою очередь smesh это переменная которая тоже подсчитана в процессе чтения макроса. А pat это массив с линиями. Мало того в дальнейшем нужно этот Pat1 передать в массив PicArr[i]=pat1. И вот на этом этапе уже у меня возникают проблемы.
Кстати pat1=new Array(); почему то не помогло. По прежнему в PicArr заносится значение, а не новая переменная.
rombler вне форума   Ответить с цитированием Вверх
Ответ

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

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Базис ЧПУ 2021/2024 AlexBolton Базис-мебельщик 2021-2024 127 Сегодня 11:30
БАЗИС 10 - Скрипты systland Базис-мебельщик. Скрипты 714 06.03.2024 09:09
БАЗИС 9 - Скрипты Igor_482 Базис-мебельщик. Скрипты 1441 27.02.2024 10:48
V-Ray в Базис Мебельщик 11/2023 nayrogi Система БАЗИС 70 29.01.2024 17:25
БАЗИС 8 - Скрипты Igor_482 Базис-мебельщик. Скрипты 1524 07.12.2022 19:53


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


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

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