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

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


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

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

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

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


Последний раз редактировалось systland; 26.12.2017 в 10:52..
Просмотров: 45128
Ответить с цитированием Вверх
Старый 14.09.2018, 14:46   #271
andronf
Местный
 
Регистрация: 30.03.2010
Адрес: Минск
Сообщений: 264
Сказал(а) спасибо: 1,733
Поблагодарили 202 раз(а) в 86 сообщениях
Вес репутации: 170
andronf - весьма и весьма положительная личностьandronf - весьма и весьма положительная личностьandronf - весьма и весьма положительная личность
По умолчанию

Помогите починить старый скрипт Установка опор на плоскость, не работает в Б10. Вылазят ошибки в логе и окно свойств не показывается.
PHP код:
FileOptions 'Ножки с поворотом.xml';
MakeProperties();
Action.Properties.Load(FileOptions);
Action.OnFinish = function() {
Action.Properties.Save(FileOptions);
}
BtnMake NewButtonInput('Закончить');
BtnMake.OnChange = function() {
Make(); //Вызываем функцию построения всех панелей
Action.Finish();
}
Make();
Action.Continue();
true;
////////////////////////////////////////// --------- ОКНО СВОЙСТВ

function MakeProperties() {
Prop Action.Properties;
otsZada Prop.NewNumber('Отступ Зад',50);
otsPereda Prop.NewNumber('Отступ Перед',50);
otsBoka Prop.NewNumber('Отступ бока',50);
K_row Prop.NewNumber('Количество рядов',2);
K_row.OnChange = function() {
if (
K_row.Value<2) {
K_row.Value=2
}
}
Krepej Prop.NewFurniture('Ножки');
Povorachivat Prop.NewBool('Поворачивать')
PovernutDop Prop.NewCombo('Развернить ножку на''0\n90\n180\n270');
OkBtn Prop.NewButton('Построить',true);
OkBtn.OnClick = function() {
Make(); //Вызываем функцию построения всех панелей
Action.Finish();
}
Prop.OnChange = function() {
//if (Fas.Value > Hd.Value) alert('Предупреждение! Фаска больше чем высота дна.')
Make(); //Вызываем функцию построения всех панелей
};
}
//Obj = Model.Selected;
function Make()
{
DeleteNewObjects();
//FileFreza = 'Фреза1.frw';
// conturFrezi=NewContour();
// conturFrezi.Load(FileFreza);
Model.forEach (function(Obj) {

if (
Obj.Selected == true)

{
Nojki(Obj)

}
} )

}

function 
Nojki(Obj) {
if (
Krepej.Value)
{
otsZad otsZada.Value
otsPered 
otsPereda.Value;
otsBok otsBoka.Value;
ryadov K_row.Value;
lnpv GabarityContura(Obj);
ln NewPoint(lnpv[0].x+otsBok,lnpv[0].y+otsPered);
pv NewPoint(lnpv[1].x-otsBok,lnpv[1].y-otsZad);
mejdu_ryadov = (pv.x-ln.x)/(ryadov-1)
ryad=1
while (ryad<ryadov+1)
{
if(
Povorachivat.Value)
{
ugolPovorotaPered=(-(135+(90*(ryad-1)/(ryadov-1))))
ugolPovorotaZad=(-(45-(90*(ryad-1)/(ryadov-1))))
}
else
{

ugolPovorotaPered=0
ugolPovorotaZad
=0

}

p1 NewPoint(ln.x+(mejdu_ryadov*(ryad-1)), ln.y)
p2 NewPoint(ln.x+(mejdu_ryadov*(ryad-1)), pv.y)

Krepej.Value.Mount1(Obj,Obj.ObjectToGlobal(p1), ugolPovorotaPered Math.round(PovernutDop.Value));
Krepej.Value.Mount1(Obj,Obj.ObjectToGlobal(p2), ugolPovorotaZad Math.round(PovernutDop.Value));
ryad++;
}

}

}

function 
GabarityContura(Obj)

{
var 
text '';
ln NewPoint(00); //левый низ
lv NewPoint(00); //левый верх
pn NewPoint(00); //правый низ
pv NewPoint(00); //правый верх контура
kontur Obj.Contour;
kstoron kontur.Count;
// var k_ne_krugov = 0;
for (0kstoroni++) {
if (
kontur[i].ElType != 3) { //k_ne_krugov = k_ne_krugov+1
ln NewPoint(Math.round(kontur[i].Pos1.10) / 10Math.round(kontur[i].Pos1.10) / 10);
lv NewPoint(Math.round(kontur[i].Pos1.10) / 10Math.round(kontur[i].Pos1.10) / 10);
pn NewPoint(Math.round(kontur[i].Pos1.10) / 10Math.round(kontur[i].Pos1.10) / 10);
pv NewPoint(Math.round(kontur[i].Pos1.10) / 10Math.round(kontur[i].Pos1.10) / 10);
}
};
for (
0kstoroni++) {
if (
kontur[i].ElType != 3) {
Pos1x Math.round(kontur[i].Pos1.10) / 10;
Pos1y Math.round(kontur[i].Pos1.10) / 10;
Pos2x Math.round(kontur[i].Pos2.10) / 10;
Pos2y Math.round(kontur[i].Pos2.10) / 10;

if (
ln.Pos1x) {
ln.Pos1x
};
if (
ln.Pos2x) {
ln.Pos2x
};
if (
ln.Pos1y) {
ln.Pos1y
};
if (
ln.Pos2y) {
ln.Pos2y
};

if (
lv.Pos1x) {
lv.Pos1x
};
if (
lv.Pos2x) {
lv.Pos2x
};
if (
lv.Pos1y) {
lv.Pos1y
};
if (
lv.Pos2y) {
lv.Pos2y
};

if (
pn.Pos1x) {
pn.Pos1x
};
if (
pn.Pos2x) {
pn.Pos2x
};
if (
pn.Pos1y) {
pn.Pos1y
};
if (
pn.Pos2y) {
pn.Pos2y
};

if (
pv.Pos1x) {
pv.Pos1x
};
if (
pv.Pos2x) {
pv.Pos2x
};
if (
pv.Pos1y) {
pv.Pos1y
};
if (
pv.Pos2y) {
pv.Pos2y
};

}
};

text4 = ('ln ---- ' ln.' - ' ln.'\n' +
'lv ---- ' lv.' - ' lv.'\n' +
'pn ---- ' pn.' - ' pn.'\n' +
'pv ---- ' pv.' - ' pv.'\n');
// alert(text4);
ln_v ln//левый низ выреза
pv_v pv//правый верх выреза

if (ln_v.lv.x) {
ln_v.lv.x
};
if (
ln_v.pn.y) {
ln_v.pn.y
};

if (
pv_v.pn.x) {
pv_v.pn.x
};
if (
pv_v.lv.y) {
pv_v.lv.y
};

SeredinaVisotiPaneli = (pv_v.ln_v.y) * 0.5;
SeredinaShiriniPaneli = (pv_v.ln_v.x) * 0.5;

lnpv = []

lnpv.push(ln_v);
lnpv.push(pv_v);

return 
lnpv

Спасибо.
Миниатюры
2018-09-14_14-38-21.jpg  
andronf вне форума   Ответить с цитированием Вверх
Старый 14.09.2018, 15:23   #272
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 212
Сказал(а) спасибо: 43
Поблагодарили 378 раз(а) в 145 сообщениях
Вес репутации: 112
Letos - очень-очень хороший человекLetos - очень-очень хороший человекLetos - очень-очень хороший человекLetos - очень-очень хороший человек
По умолчанию

Цитата:
Сообщение от andronf Посмотреть сообщение
Помогите починить старый скрипт Установка опор на плоскость, не работает в Б10. Вылазят ошибки в логе и окно свойств не показывается.

Спасибо.
Строки 88-89 замените на эти:
Код:
p1 = NewVector(ln.x+(mejdu_ryadov*(ryad-1)), ln.y, 0) 
p2 = NewVector(ln.x+(mejdu_ryadov*(ryad-1)), pv.y, 0)
Они создают трёхмерную точку вместо двумерной.
Letos вне форума   Ответить с цитированием Вверх
2 пользователя(ей) сказали cпасибо:
andronf (14.09.2018), Анатолий.ru (14.09.2018)
Старый 20.09.2018, 09:20   #273
andronf
Местный
 
Регистрация: 30.03.2010
Адрес: Минск
Сообщений: 264
Сказал(а) спасибо: 1,733
Поблагодарили 202 раз(а) в 86 сообщениях
Вес репутации: 170
andronf - весьма и весьма положительная личностьandronf - весьма и весьма положительная личностьandronf - весьма и весьма положительная личность
По умолчанию

Приветствую всех! Поправил свой скрипт из 271 поста строчками из 272 поста и все хорошо заработало, сразу. А теперь когда его запускаю происходит странная картина: окно свойств, где надо вибирать опоры не появляется, но скрипт отрабатывает и ставит опоры, которые ставились прошлый раз и в вроде бы с программой тоже все нормально, но если базис закрыть, то появляется окно с ошибкой, что обратился не в ту область памяти. Хелп.
Миниатюры
2018-09-19_14-09-15.png  
andronf вне форума   Ответить с цитированием Вверх
Старый 20.09.2018, 09:49   #274
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 212
Сказал(а) спасибо: 43
Поблагодарили 378 раз(а) в 145 сообщениях
Вес репутации: 112
Letos - очень-очень хороший человекLetos - очень-очень хороший человекLetos - очень-очень хороший человекLetos - очень-очень хороший человек
По умолчанию

Цитата:
Сообщение от andronf Посмотреть сообщение
Приветствую всех! Поправил свой скрипт из 271 поста строчками из 272 поста и все хорошо заработало, сразу. А теперь когда его запускаю происходит странная картина: окно свойств, где надо вибирать опоры не появляется, но скрипт отрабатывает и ставит опоры, которые ставились прошлый раз и в вроде бы с программой тоже все нормально, но если базис закрыть, то появляется окно с ошибкой, что обратился не в ту область памяти. Хелп.
Проверил у себя - всё нормально. У вас окно свойств вообще не показывается, или не показываются только поля начиная с поля выбора опоры? И такой еще вопрос - в лог хоть какая-нибудь ошибка вылезает?
Letos вне форума   Ответить с цитированием Вверх
Старый 20.09.2018, 12:43   #275
andronf
Местный
 
Регистрация: 30.03.2010
Адрес: Минск
Сообщений: 264
Сказал(а) спасибо: 1,733
Поблагодарили 202 раз(а) в 86 сообщениях
Вес репутации: 170
andronf - весьма и весьма положительная личностьandronf - весьма и весьма положительная личностьandronf - весьма и весьма положительная личность
По умолчанию

Попробую объяснить. Мне кажется, что со скриптом все нормально, но его работа сказывается на самочувствии базиса. Иногда все нормально проходит, а иногда нет. Допустим выделил я дно, окно свойств у меня всегда открыто, запускаю скрипт, он как будто сразу отрабатывает,ставит опоры и завершает свою работу, т.е. окно свойств немного моргнет и все, никаких настроек и параметров скрипта нет и нет кнопки построить. Как то так. Думаю может на работу скрипта оказывает влияние другой крепеж, который воткнут в панель.
В логе ошибок нет.

Последний раз редактировалось andronf; 20.09.2018 в 13:36.
andronf вне форума   Ответить с цитированием Вверх
Старый 20.09.2018, 14:29   #276
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 212
Сказал(а) спасибо: 43
Поблагодарили 378 раз(а) в 145 сообщениях
Вес репутации: 112
Letos - очень-очень хороший человекLetos - очень-очень хороший человекLetos - очень-очень хороший человекLetos - очень-очень хороший человек
По умолчанию

Цитата:
Сообщение от andronf Посмотреть сообщение
Попробую объяснить. Мне кажется, что со скриптом все нормально, но его работа сказывается на самочувствии базиса. Иногда все нормально проходит, а иногда нет. Допустим выделил я дно, окно свойств у меня всегда открыто, запускаю скрипт, он как будто сразу отрабатывает,ставит опоры и завершает свою работу, т.е. окно свойств немного моргнет и все, никаких настроек и параметров скрипта нет и нет кнопки построить. Как то так. Думаю может на работу скрипта оказывает влияние другой крепеж, который воткнут в панель.
В логе ошибок нет.
Попробуйте этот скрипт. Проблема с "Запустился и сразу завершился" должна исчезнуть. Если повезёт, то и Access Violation пропадёт.
Вложения
Тип файла: rar test.rar (1.9 Кб, 3 просмотров)
Letos вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
andronf (20.09.2018)
Старый 20.09.2018, 14:52   #277
Uncle
Модератор
 
Аватар для Uncle
 
Регистрация: 31.10.2009
Адрес: Рівне. УкраЇна
Сообщений: 8,304
Сказал(а) спасибо: 13,409
Поблагодарили 16,310 раз(а) в 5,179 сообщениях
Вес репутации: 4220
Uncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспорима
По умолчанию

Цитата:
Сообщение от andronf Посмотреть сообщение
но если базис закрыть, то появляется окно с ошибкой, что обратился не в ту область памяти
У меня, к стати, такая же ошибка вылетает после этого скрипта. При чем, в диспетчере задач остается висеть процес bazis.exe ещё долгое время после закрытия программы. Или вручную завершаю или со временем появляется окно "Завершена работа программы Базис Мебельщик - искать решение ... и т.д."
__________________
Уж лучше беспокойство в сомнении, чем успокоенность в заблуждении. .
(Мандзони Алессандро)
------------------------------------
Троллей не кормлю...
Uncle вне форума   Ответить с цитированием Вверх
Старый 20.09.2018, 15:53   #278
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 212
Сказал(а) спасибо: 43
Поблагодарили 378 раз(а) в 145 сообщениях
Вес репутации: 112
Letos - очень-очень хороший человекLetos - очень-очень хороший человекLetos - очень-очень хороший человекLetos - очень-очень хороший человек
По умолчанию

Цитата:
Сообщение от Uncle Посмотреть сообщение
У меня, к стати, такая же ошибка вылетает после этого скрипта. При чем, в диспетчере задач остается висеть процес bazis.exe ещё долгое время после закрытия программы. Или вручную завершаю или со временем появляется окно "Завершена работа программы Базис Мебельщик - искать решение ... и т.д."
Попробуйте попользоваться таким вариантом скрипта:
Код:
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);
        }
    }
}

UnSelectAll();
var positions = prompt("Введите номера позиций через пробел");
var nums = positions.split(' ');
forEachInList(Model, function(obj) {
    if (nums.indexOf(obj.ArtPos) >= 0) {
        obj.Selected = true;
    }
})
Если с этим скриптом всё будет нормально и моё предположение верно, то проблема в функции Model.forEach.
Letos вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
Uncle (20.09.2018)
Старый 20.09.2018, 15:59   #279
Uncle
Модератор
 
Аватар для Uncle
 
Регистрация: 31.10.2009
Адрес: Рівне. УкраЇна
Сообщений: 8,304
Сказал(а) спасибо: 13,409
Поблагодарили 16,310 раз(а) в 5,179 сообщениях
Вес репутации: 4220
Uncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспорима
По умолчанию

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

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

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

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

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

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

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


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


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