Форум профессиональных мебельщиков 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..
Просмотров: 425112
Ответить с цитированием Вверх
Старый 15.05.2018, 16:03   #131
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от wizardpnz Посмотреть сообщение
в свойствах кромки получается нет?
Увы, нет.
Letos вне форума   Ответить с цитированием Вверх
Старый 16.05.2018, 11:08   #132
Kartuz
Пользователь
 
Регистрация: 16.12.2014
Сообщений: 32
Сказал(а) спасибо: 25
Поблагодарили 5 раз(а) в 5 сообщениях
Вес репутации: 0
Kartuz пока не определено
По умолчанию

Приветствую всех ! Наше начальство раскошелелось на базис 10. Раньше пользовался скриптом установки регулируемой пятки М6. Но в 10 базисе криво его ставит. Гляньте кто соображает, что там мешает ставить.
Вложения
Тип файла: zip Опора регулируемая М6.zip (6.8 Кб, 21 просмотров)
Kartuz вне форума   Ответить с цитированием Вверх
Старый 16.05.2018, 12:01   #133
Sergenald
Новичок
 
Регистрация: 21.09.2017
Сообщений: 19
Сказал(а) спасибо: 15
Поблагодарили 4 раз(а) в 2 сообщениях
Вес репутации: 0
Sergenald пока не определено
По умолчанию

Всем привет.
Даже не знаю с чего начать. В общем есть функция:

Скрытый текст


function CreateGofBox() {
switch(Window1.Selector1.ItemIndex){
case 0:
//ни чего не добавлять
break;
case 1:
GofBox = AddAssembly("Гофроящик 400х110х45 мм");
//GofBox.ArtPos = 531001;
GofBox.Owner = Pack;
break;
case 2:
GofBox = AddAssembly("Гофроящик 400х110х55 мм");
//GofBox.ArtPos = 531002;
GofBox.Owner = Pack;
break;
case 3:
GofBox = AddAssembly("Гофроящик 430х90х23 мм");
//GofBox.ArtPos = 531003;
GofBox.Owner = Pack;
break;
.
.
.
default:
break;
}
}
[свернуть]


Она добавляет пустую сборку, обзывает его гофроящиком который был выбран в форме через Combo.
Дальше когда запускаем смету она сама по имени из базы данных подцепляет и артикул и цену. И всё было не плохо, пока на двух других компьютерах смета вместо гофроящика стала выдавать рандомные направляющие и что угодно кроме нужного. То есть сборка добавляется, имя добавляется, смета чудит. На моём компе всё гладенько. По этому даже не знаю с чего начинать это всё раскурочивать. Думаю может пройдёт если явно указать артикул сборки.
И так, основной вопрос, как присвоить сборке артикул, но не тот что через ArtPos
Sergenald вне форума   Ответить с цитированием Вверх
Старый 16.05.2018, 13:47   #134
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от Kartuz Посмотреть сообщение
Приветствую всех ! Наше начальство раскошелелось на базис 10. Раньше пользовался скриптом установки регулируемой пятки М6. Но в 10 базисе криво его ставит. Гляньте кто соображает, что там мешает ставить.
Что в Вашем понятии "криво ставит"? Я нашел ранее обсуждаемую ошибку с неправильным углом поворота (градусы-радианы). Если это Вам не поможет, опишите детальнее, что происходит не так, как раньше.
Letos вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
Kartuz (16.05.2018)
Старый 16.05.2018, 14:00   #135
Ovsyanicov
Местный
 
Регистрация: 30.11.2013
Адрес: Кишинев
Сообщений: 734
Сказал(а) спасибо: 1,529
Поблагодарили 884 раз(а) в 376 сообщениях
Вес репутации: 402
Ovsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от Sergenald Посмотреть сообщение
И всё было не плохо, пока на двух других компьютерах смета вместо гофроящика стала выдавать рандомные направляющие и что угодно кроме нужного.
В настройках Сметы на Вашем компьютере и на "двух других" способ сравнивания материалов из модели с базой совпадает?
Нажмите на изображение для увеличения
Название: 01.PNG
Просмотров: 30
Размер:	14.7 Кб
ID:	127275
Ovsyanicov вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
Sergenald (16.05.2018)
Старый 16.05.2018, 14:03   #136
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от Sergenald Посмотреть сообщение
И так, основной вопрос, как присвоить сборке артикул, но не тот что через ArtPos
Отдельного поля под артикул, похоже, нет, но он содержится в имени объекта. Вот пример, как считать и записать артикул:
Код:
var obj = Model.Selected;
var splitName = obj.Name.split('\r');
var art = splitName[1];
var newArt = '123';
Undo.Changing(obj);
obj.Name = splitName[0] + '\r' + newArt;
Кстати, работает такой артикул для всех объектов. Случайно применил скрипт на панели и в структуре у меня отобразилось "Вертикальная1 (Артикул 123)".
Letos вне форума   Ответить с цитированием Вверх
4 пользователя(ей) сказали cпасибо:
andronf (16.05.2018), Ovsyanicov (16.05.2018), Sergenald (16.05.2018), Максим Геннадьевич (22.04.2020)
Старый 16.05.2018, 15:05   #137
Kartuz
Пользователь
 
Регистрация: 16.12.2014
Сообщений: 32
Сказал(а) спасибо: 25
Поблагодарили 5 раз(а) в 5 сообщениях
Вес репутации: 0
Kartuz пока не определено
По умолчанию

Цитата:
Сообщение от Letos Посмотреть сообщение
Что в Вашем понятии "криво ставит"? Я нашел ранее обсуждаемую ошибку с неправильным углом поворота (градусы-радианы). Если это Вам не поможет, опишите детальнее, что происходит не так, как раньше.
Да, всё верно. Таже самая ошибка была. Теперь всё работает прекрасно !
Kartuz вне форума   Ответить с цитированием Вверх
Старый 16.05.2018, 16:12   #138
Sergenald
Новичок
 
Регистрация: 21.09.2017
Сообщений: 19
Сказал(а) спасибо: 15
Поблагодарили 4 раз(а) в 2 сообщениях
Вес репутации: 0
Sergenald пока не определено
По умолчанию

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


Цитата:
Сообщение от Letos Посмотреть сообщение
Вот пример, как считать и записать артикул
надо будет сделать так, чтоб наверняка )) спасибо
Sergenald вне форума   Ответить с цитированием Вверх
Старый 17.05.2018, 10:34   #139
Kartuz
Пользователь
 
Регистрация: 16.12.2014
Сообщений: 32
Сказал(а) спасибо: 25
Поблагодарили 5 раз(а) в 5 сообщениях
Вес репутации: 0
Kartuz пока не определено
По умолчанию

Продолжаю вычислять неработающие скрипты после перехода на 10 версию.
Вот скрипт, которым я чищу модель от мусора ( удаляет по названию ). Не хочет выделять

Скрытый текст

PHP код:
function MaskToRegExp(Str) {
  function 
replaceAll(StrWhatTo) {
    return 
Str.split(What).join(To);
  };
  var 
Res Str;
  var 
Arr = ['\\''#''|''('')''['']''{''}''^''$''+''.'];
  for (var 
0Arr.lengthi++) {
    
Res replaceAll(ResArr[i], '\\' Arr[i]);
  };
  
Res replaceAll(Res'*''.*');
  
Res replaceAll(Res'?''.');
  return eval(
'/^' Res '$/i');
};


var 
Masks = new Array('УДАЛИТЬ','Отрезок','Размер');
var 
RegExps = new Array();

for (var 
0Masks.lengthi++) {
  var 
Mask Masks[i].replace(/\s+$/, '').replace(/^\s+/, '');
  if (
Mask.length) {
    
RegExps.push(MaskToRegExp(Mask));
  };
};

Model.UnSelectAll();

Model.forEach(function(Object) {
  for (var 
0RegExps.lengthi++) {
    if (
RegExp(RegExps[i]).test(Object.Name)) Object.Selected true;
  };
}); 
[свернуть]
Kartuz вне форума   Ответить с цитированием Вверх
Старый 17.05.2018, 12:23   #140
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от Kartuz Посмотреть сообщение
Продолжаю вычислять неработающие скрипты после перехода на 10 версию.
Вот скрипт, которым я чищу модель от мусора ( удаляет по названию ). Не хочет выделять

Скрытый текст

PHP код:
function MaskToRegExp(Str) {
  function 
replaceAll(StrWhatTo) {
    return 
Str.split(What).join(To);
  };
  var 
Res Str;
  var 
Arr = ['\\''#''|''('')''['']''{''}''^''$''+''.'];
  for (var 
0Arr.lengthi++) {
    
Res replaceAll(ResArr[i], '\\' Arr[i]);
  };
  
Res replaceAll(Res'*''.*');
  
Res replaceAll(Res'?''.');
  return eval(
'/^' Res '$/i');
};


var 
Masks = new Array('УДАЛИТЬ','Отрезок','Размер');
var 
RegExps = new Array();

for (var 
0Masks.lengthi++) {
  var 
Mask Masks[i].replace(/\s+$/, '').replace(/^\s+/, '');
  if (
Mask.length) {
    
RegExps.push(MaskToRegExp(Mask));
  };
};

Model.UnSelectAll();

Model.forEach(function(Object) {
  for (var 
0RegExps.lengthi++) {
    if (
RegExp(RegExps[i]).test(Object.Name)) Object.Selected true;
  };
}); 
[свернуть]
На всякий случай замените вызов Model.forEach на следующий код:
Код:
function forEachInList(list, func) {
    if (!func)
        return;
    for (var i = 0; i < list.Count; i++) {
        var obj = list.Objects[i];
        func(obj);
        if (obj.List) {
            forEachInList(obj.AsList(), func);
        }
    }
}
forEachInList(Model, function (Object) {
    for (var i = 0; i < RegExps.length; i++) {
        if (RegExp(RegExps[i]).test(Object.Name)) 
            Object.Selected = true;
    };
});
В 10 криво работает Model.forEach и вместо некоторых объектов он передает undefined.
И еще меня смутили конечные регулярные выражения, которыми проверяются объекты. У меня выдало такой массив: [/^УДАЛИТЬ$/, /^Отрезок$/, /^Размер$/]. Судя по синтаксису RegExp, такое выражение эквивалентно проверке имени на равенство (то есть, объект с именем "Отрезок2" уже не пройдет проверку таким регулярным выражением). Поэтому интересно, как именно Вы хотите проверять имя объекта, или Вам достаточно того, как проверка происходит на данный момент (тогда логичнее было бы проверять имя на равенство без всяких регулярных выражений)?
Letos вне форума   Ответить с цитированием Вверх
3 пользователя(ей) сказали cпасибо:
maxgmv (15.06.2018), Ovsyanicov (17.05.2018), АлКузнецов (01.03.2020)
Ответ

Нижняя навигация
Вернуться   Форум профессиональных мебельщиков 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


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


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

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