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

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

Меню

Маркет


Ответ
 
Опции темы Опции просмотра
Старый 13.01.2014, 13:22  
БАЗИС 9 - Скрипты
 
Аватар для Igor_482
Igor_482
VIP
Регистрация: 03.09.2008
Сообщений: 174

Сказал(а) спасибо: 34
Поблагодарили 794 раз(а) в 113 сообщениях
Версия для печати Отправить по электронной почте
Igor_482 Igor_482 вне форума 13.01.2014, 13:22
Рейтинг: ()

ВНИМАНИЕ! Правила выкладывания скриптов.

1. Если в скрипте нет ссылок на фурнитуру, фрагменты и.т.д то достаточно его упаковать в архив и выложить.

2. Если в скрипте есть ссылки на фурнитуру, фрагменты и т.д. то архив должен содержать папку с самим скриптом и всеми файлами на которые есть ссылки в тексте скрипта.


Т.к. при запуске скрипта на другом компе возникает ошибка о не возможности открыть то или иной файл и скрипт до конца не отрабатывает свой текст. Не соблюдается "чистота проверки" работы скрипта.

__________________________________________________ _______________

Интересует информация по редактору скриптов в БМ8. Существует ли справочная документация и примеры использования скриптов в БМ8. Какие возможности дает данная функция? Владеющим информацией по данному вопросу просьба поделиться ею.

Для работы скриптов от Igor_482 необходим установленный ODBC драйвер FireBird, установленные и зарегистрированные в ОС модули FBDBDialog.dll, MSDATGRD.OCX, MSCOMCTL.OCX и MSSTDFMT.DLL (сообщение с описанием установки этих модулей в ОС, ссылка на модули и исходник "FBDBDialog.dll") а так же файл "ADODB.ini" с настройками соединения к БД в папке со скриптом.

ADODB.ini


[General]
FDBServ = t001
FBSPort = 14357
FDBFile = D:\DBBM\Библиотека\БД\BMDB09.FDB
FBCFile = C:\Windows\System32\fbclient.dll
----------------------------------------------
Переменные .ini:
FDBServ - имя ПК на котором находится сервер FireBird с используемой БД (если локально, то параметр: localhost или 127.0.0.1);
FBSPort - в настройке не нуждается (по умолчанию: 14357);
FDBFile - локальный путь к БД на сервере FireBird;
FBCFile - путь к файлу "fbclient.dll" (находится в корневой папке программы Базис).
[свернуть]

Последний раз редактировалось systland; 23.09.2016 в 11:52..
Просмотров: 994085
Ответить с цитированием Вверх
Пользователь сказал cпасибо:
evilbaby1989 (10.07.2023)
Старый 28.09.2015, 16:40   #891
Ozimko
VIP
 
Аватар для Ozimko
 
Регистрация: 11.07.2008
Сообщений: 1,019
Сказал(а) спасибо: 261
Поблагодарили 314 раз(а) в 143 сообщениях
Вес репутации: 357
Ozimko как роза среди колючекOzimko как роза среди колючекOzimko как роза среди колючекOzimko как роза среди колючек
По умолчанию

Огромное спасибо! Все работает, и большой респект за сохранение параметров. Пойду перебивать все свои скрипты под данный шаблон - так удобнее.
Ozimko вне форума   Ответить с цитированием Вверх
Старый 28.09.2015, 21:17   #892
Uncle
VIP
 
Аватар для Uncle
 
Регистрация: 31.10.2009
Адрес: Рівне. УкраЇна
Сообщений: 10,580
Сказал(а) спасибо: 14,588
Поблагодарили 20,026 раз(а) в 6,492 сообщениях
Вес репутации: 5258
Uncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспорима
По умолчанию

Цитата:
Сообщение от Uncle Посмотреть сообщение
И вообще , почему то шкант углубляется в пласть на половину своей длины, хотя в Параметрах указано 10 мм...
Шкант, как произвольная фурнитура, созданный по схеме "пласть-торец" устанавливается корректно..
__________________
Уж лучше беспокойство в сомнении, чем успокоенность в заблуждении. .
(Мандзони Алессандро)
------------------------------------
Троллей не кормлю...
Uncle вне форума   Ответить с цитированием Вверх
Старый 29.09.2015, 09:44   #893
Uncle
VIP
 
Аватар для Uncle
 
Регистрация: 31.10.2009
Адрес: Рівне. УкраЇна
Сообщений: 10,580
Сказал(а) спасибо: 14,588
Поблагодарили 20,026 раз(а) в 6,492 сообщениях
Вес репутации: 5258
Uncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспорима
По умолчанию

Цитата:
Сообщение от maxgmv Посмотреть сообщение
Держите
В общем, скрипт отличный. Если есть возможность у тех кто в теме немножко переделать его для вертикальных перегородок, для накладных крыши и дна и для полок - буду очень благодарен. Пробовал сам разбираться и редактировать- потратил несколько часов - так толком ничего и не вышло.
Для перегородки - в принципе все то же но это должна быть вертикальная панель между двумя горизонтальными.
Для полки - дополнительно указывать отступы по бокам и стороны облицовки
Для крыши и дна - накладная горизонтальная панель с указанием сторон облицовки..
Благодарность может быть выражена в денежном эквиваленте
__________________
Уж лучше беспокойство в сомнении, чем успокоенность в заблуждении. .
(Мандзони Алессандро)
------------------------------------
Троллей не кормлю...
Uncle вне форума   Ответить с цитированием Вверх
Старый 29.09.2015, 12:38   #894
Ozimko
VIP
 
Аватар для Ozimko
 
Регистрация: 11.07.2008
Сообщений: 1,019
Сказал(а) спасибо: 261
Поблагодарили 314 раз(а) в 143 сообщениях
Вес репутации: 357
Ozimko как роза среди колючекOzimko как роза среди колючекOzimko как роза среди колючекOzimko как роза среди колючек
По умолчанию

Все, что вы просите - весьма просто....(на мой дилетанский взгляд). Правда, не в одном скрипте, а в нескольких.
Я иду слегка по другому пути.... Вот пример - рыба короба.
Но и ее нужно долепливать - например, задняя стенка ставить эксцентрики с шагом по всей длине. Гуру - помогайте!
А скрипт хорош уже тем, что опоры камар развернуты как нужно - отверстия внутрь шкафа.
скрипт в работе - дверь ставлю, петли на неё....
Тело:
Код HTML:
OkBtn = NewButtonInput("ЗАКОНЧИТЬ")
OkBtn.OnChange = function() {
Action.Cancel();
};

FileOptions = 'короб2.xml';
Makeprop();
Action.Properties.Load(FileOptions);
Action.OnFinish = function() {
Action.Properties.Save(FileOptions);
};

function Makeprop() {
Action.Properties.Load(FileOptions);
Prop = Action.Properties;

KrVidimKorp = Prop.NewButt("корпус видимая кромка");
KrNotVidimKorp = Prop.NewButt("корпус невидимая кромка");
KrDV = Prop.NewButt("дверь кромка");
Thick = ActiveMaterial.Thickness;
MatDV = Prop.NewMaterial(' дверь');


MatKorp = Prop.NewMaterial(' з.с');
prit = Prop.NewNumber('притопление');
prit.Value = 7;
Screw = Prop.NewFurniture('опора');
V135 = Prop.NewFurniture('крепеж дна')
V35 = Prop.NewFurniture('крепеж крыши')
rast = Prop.NewFurniture('крепеж задней стенки');
prit2 = Prop.NewNumber('высота цоколя');
prit2.Value = 50;
Btn = Prop.NewButton('ЗАКОНЧИТЬ')
Btn.OnClick = function() {
Action.Cancel();
};
};

SetCamera(p3dTop);
SetCamera(p3dLeft);
p1 = GetPoint('Укажите нижнюю заднюю точку');
p2 = GetPoint('Укажите верхнюю переднюю точку');


SetCamera(p3dTop);

p3 = GetPoint('Укажите  габарит шкафа');
p33 = p1.x;


V1 = AddVertPanel(p1.z, p1.y+10, p2.z, p2.y, p1.x);
V1.TextureOrientation = TextureOrientation.Vertical;
v2=AddHorizPanel (Thick, p33, p3.x -Thick, p2.z, 10);
Thick2 = MatKorp.Thickness;
Screw.Value.Mount1( v2, Thick +50, 0, 0-Thick2/2, 270);
Screw.Value.Mount1( v2, p3.x-Thick -50, 0, 0-Thick2/2, 270);
Screw.Value.Mount1( v2, Thick/2, 0, 50, 180);
Screw.Value.Mount1( v2, Thick/2, 0, p2.z-50, 180);
Screw.Value.Mount1( v2, p3.x-Thick/2, 0, 50, 0);
Screw.Value.Mount1( v2, p3.x-Thick/2, 0, p2.z-50, 0);
DeleteObject(v2);
V1.Name = 'бок левый';
V1.AddButt(KrNotVidimKorp, 0);
V1.AddButt(KrVidimKorp, 1);
V1.AddButt(KrNotVidimKorp, 2);

v22=AddHorizPanel (Thick, p33, p3.x -Thick, p2.z -prit.Value, prit2.Value+10);
v22.TextureOrientation = TextureOrientation.Horizontal;
v22.AddButt(KrVidimKorp, 2);
v22.Name = 'дно';

 V3 = AddVertPanel(p1.z, p1.y+10, p2.z, p2.y, p3.x-Thick);


V3.Name = 'бок правый';
V3.TextureOrientation = TextureOrientation.Vertical;
V3.AddButt(KrNotVidimKorp, 0);
V3.AddButt(KrVidimKorp, 1);
V3.AddButt(KrNotVidimKorp, 2);
g4 =AddHorizPanel (Thick, p33, p3.x -Thick, p2.z -prit.Value, p2.y -Thick);
g4.TextureOrientation = TextureOrientation.Horizontal;
g4.AddButt(KrVidimKorp, 2);
g4.Name = 'полик';

x1 = V1.GabMax.x + 0;
x2 = V3.GabMin.x - 0;
z1 = V1.GabMax.z -prit.Value;
V135.Value.Mount(v2, V1, x1, 0, 64)
V135.Value.Mount(v2, V1, x1, 0, z1 -64)
V135.Value.Mount(v2, V3, x2, 0, 64)
V135.Value.Mount(v2, V3, x2, 0, z1 -64)

V35.Value.Mount(g4, V1, x1, 0, 64)
V35.Value.Mount(g4, V1, x1, 0, z1 -64)
V35.Value.Mount(g4, V3, x2, 0, 64)
V35.Value.Mount(g4, V3, x2, 0, z1 -64)


MatKorp.SetActive();
Thick2 = MatKorp.Thickness;
Panel = AddFrontPanel(p1.x, p1.y +10, p3.x, p2.y, p1.z -Thick2);
Panel.Name = 'задняя стенка';
Panel.TextureOrientation = TextureOrientation.Vertical;
Panel.AddButt(KrNotVidimKorp, 0);
Panel.AddButt(KrNotVidimKorp, 2);

rast.Value.Mount(V1, Panel, x1 +1, 160, 0)
rast.Value.Mount(V3, Panel, x2 +1, 160, 0)
rast.Value.Mount(V1, Panel, x1 +1, p2.y -150, 0)
rast.Value.Mount(V3, Panel, x2 +1, p2.y -150, 0)

MatDV.SetActive();
dver = AddFrontPanel(p1.x+1.5, p1.y +prit2.Value+11.5, p3.x-1.5, p2.y-1.5, p3.z +1.5);
dver.Name = 'дверь';
dver.TextureOrientation = TextureOrientation.Vertical;
dver.AddButt(KrDV, 0);
dver.AddButt(KrDV, 2);
dver.AddButt(KrDV, 1);
dver.AddButt(KrDV, 3);

Ozimko вне форума   Ответить с цитированием Вверх
2 пользователя(ей) сказали cпасибо:
Am0ralist (29.09.2015), DTioutiou (29.09.2015)
Старый 29.09.2015, 13:22   #895
Uncle
VIP
 
Аватар для Uncle
 
Регистрация: 31.10.2009
Адрес: Рівне. УкраЇна
Сообщений: 10,580
Сказал(а) спасибо: 14,588
Поблагодарили 20,026 раз(а) в 6,492 сообщениях
Вес репутации: 5258
Uncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспорима
По умолчанию

Цитата:
Сообщение от Ozimko Посмотреть сообщение
Все, что вы просите - весьма просто....(на мой дилетанский взгляд)
Я тоже так думаю, но похоже мой взгляд ещё более дилетантский чем Ваш)..Пробовал , разбирался, менял иксы с игреками - не получилось. Панель ставится но не так как надо..
Цитата:
Сообщение от Ozimko Посмотреть сообщение
Правда, не в одном скрипте, а в нескольких.
Несомненно.. Я это и подразумевал..
__________________
Уж лучше беспокойство в сомнении, чем успокоенность в заблуждении. .
(Мандзони Алессандро)
------------------------------------
Троллей не кормлю...
Uncle вне форума   Ответить с цитированием Вверх
Старый 29.09.2015, 16:15   #896
Ozimko
VIP
 
Аватар для Ozimko
 
Регистрация: 11.07.2008
Сообщений: 1,019
Сказал(а) спасибо: 261
Поблагодарили 314 раз(а) в 143 сообщениях
Вес репутации: 357
Ozimko как роза среди колючекOzimko как роза среди колючекOzimko как роза среди колючекOzimko как роза среди колючек
По умолчанию

Тут на форуме выкладывали отличный скрипт КУХОННАЯ ТУМБА. Скажите, у всех программа ругается при замене кол-ва полок на тумбе из 2 фасадов? У меня ругается, НО скрипт срабатывает, тумба строится. Где собака порылась?
Ozimko вне форума   Ответить с цитированием Вверх
Старый 29.09.2015, 18:27   #897
Ozimko
VIP
 
Аватар для Ozimko
 
Регистрация: 11.07.2008
Сообщений: 1,019
Сказал(а) спасибо: 261
Поблагодарили 314 раз(а) в 143 сообщениях
Вес репутации: 357
Ozimko как роза среди колючекOzimko как роза среди колючекOzimko как роза среди колючекOzimko как роза среди колючек
По умолчанию

Пока суть да дело, вот скрипт тумбы на опорах (можно комар с поворотом), задняя стенка двп в паз, крыша накладная с выбором свесов, полка съемная 1шт с выбором зазоров, крепеж и притопление от лица - по нашему стандарту (64мм от края полки под долбежку), цоколь - выбор высоты, крепеж фикс на уголки, все крепежи, кромка и материалы - на выбор (внутрянка, лицо, фасад). У меня все летает без глюков.
Код HTML:
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();

function MakeProperties() {
  //Создание и заполнение окна свойств
  Prop = Action.Properties;
    Dl = Prop.NewNumber('Ширина', 500);
  Gl = Prop.NewNumber('Глубина корпуса', 400);
  H = Prop.NewNumber('Высота без опор', 700);
  Hd = Prop.NewNumber('цоколь', 50);

  Korpus = Prop.NewGroup('Корпус')
  MatKorp = Korpus.NewMaterial('Материал корпуса');
    KrVidimKorp = Korpus.NewButt('Видимая кромка');
  KrNotVidimKorp = Korpus.NewButt('Невидимая кромка');
  MatKorp2 = Korpus.NewMaterial('Материал КРЫШИ');
  KrVidimKorp2 = Korpus.NewButt('КРОМКА КРЫШИ');
   Sl = Prop.NewNumber('СВЕС КРЫШИ', 2);
   S2 = Prop.NewNumber('СВЕС КРЫШИ НАД ФАСАДОМ', 23);
 Vnutr = Prop.NewGroup('Внутрянка')
  MatVnutr = Vnutr.NewMaterial('Материал внутрянки');
    KrVidimVnutr = Vnutr.NewButt('Видимая кромка внутри');
  KrNotVidimVnutr = Vnutr.NewButt('Невидимая кромка внутри');
  Sl1 = Vnutr.NewNumber('минус по ширине', 0);

  ZadnStenka = Prop.NewGroup('Задняя стенка');
  MatZadnStenka = ZadnStenka.NewMaterial('Материал');

  Dver = Prop.NewGroup('Дверь')
  MatDver = Dver.NewMaterial('Материал');
  KrDver = Dver.NewButt('Кромка');
  Petli = Dver.NewFurniture('Петля');

   krep = Prop.NewGroup('КРЕПЕЖ')
   Excentric =  krep.NewFurniture('крепеж крыши');
   Evrik =  krep.NewFurniture('крепеж дна');
   Shkant =  krep.NewFurniture('шкант');
   Polkodergatel =  krep.NewFurniture('полкодержатель');
   Screw =  krep.NewFurniture('подпятник');
   };

  OkBtn = Prop.NewButton('Построить');
  //Обработка нажатия на кнопку Построить
  OkBtn.OnClick = function() {
    Make(); //Вызываем функцию построения всех панелей
    Action.Finish();
  }

  //Обработка любого изменения значений свойств
  Prop.OnChange = function() {

    Make(); //Вызываем функцию построения всех панелей
  };


function Make() {
  //Удаление старых объектов из области скрипта
  DeleteNewObjects();
  //Определяем толщину задней стенки для правильного формирования толщины паза
  MatZadnStenka.SetActive();
  ThickZadSt = ActiveMaterial.Thickness;

  MatKorp2.SetActive();
  //Считываем толщину текущего материала
  ThickKrishka = MatKorp2.Thickness;

  Krishka = AddHorizPanel(0-Sl.Value, 0, Dl.Value+Sl.Value, Gl.Value+S2.Value, H.Value - ThickKrishka);
  Krishka.TextureOrientation = ftoHorizontal;
  //Присваиваем панели имя
  Krishka.Name = 'Крышка';
  Krishka.AddButt(KrVidimKorp2, 0);
  Krishka.AddButt(KrVidimKorp2, 1);
  Krishka.AddButt(KrVidimKorp2, 2);
  Krishka.AddButt(KrVidimKorp2, 3);
  //Стоим паз
  Cut = Krishka.AddCut('ПЗС 7*4-16');
  Traj = Cut.Trajectory;
  Traj.AddLine(0+Sl.Value+11, -16, Dl.Value+Sl.Value-11, -16);
  ContPaz = Cut.Contour;
  ContPaz.AddRectangle(0, 0, -ThickZadSt - 0, 7);
  Krishka.Build();

  //дно для подпятников
  Thick = ActiveMaterial.Thickness;
  v2=AddHorizPanel (Thick, 0, Dl.Value -Thick, Gl.Value , 0);

Screw.Value.Mount1( v2, Thick/2, 0, 50, 180);
Screw.Value.Mount1( v2, Thick/2, 0, Gl.Value-50, 180);
Screw.Value.Mount1( v2, Dl.Value-Thick/2, 0, 50, 0);
Screw.Value.Mount1( v2, Dl.Value-Thick/2, 0, Gl.Value-50, 0);

DeleteObject(v2);

  MatKorp.SetActive();
  //Считываем толщину текущего материала
  Thick = MatKorp.Thickness;
  LevBok = AddVertPanel(0, 0, Gl.Value, H.Value - ThickKrishka, 0);
  LevBok.TextureOrientation = ftoVertical;
  //Присваиваем панели имя
  LevBok.Name = 'Бок левый';

  LevBok.AddButt(KrNotVidimKorp, 0);
  LevBok.AddButt(KrVidimKorp, 1);
  //  LevBok.AddButt(KrNotVidimKorp, 2)
  LevBok.AddButt(KrNotVidimKorp, 3);
  LevBok.AddButt(KrNotVidimKorp, 4);
  Cut = LevBok.AddCut('ПЗС 7*4-16');
  Traj = Cut.Trajectory;
  Traj.AddLine(16, 0, 16, H.Value - Thick);
  ContPaz = Cut.Contour;
  ContPaz.AddRectangle(0, 0, -ThickZadSt - 0, 7);
   LevBok.Build();

  PravBok = AddSymmetry(LevBok, NewVector(Dl.Value / 2, 0, 0), AxisX);
  //Присваиваем панели имя
  PravBok.Name = 'Бок правый';

  MatVnutr.SetActive();
  Dno = AddHorizPanel(Thick, 0, Dl.Value - Thick, Gl.Value, Hd.Value);
  //Присваиваем панели имя
  Dno.Name = 'Дно';
  Dno.AddButt(KrNotVidimVnutr, 0);
  Dno.TextureOrientation = ftoHorizontal;
  //    Dno.AddButt(KrVidimKorp, 1);
  Dno.AddButt(KrVidimVnutr, 2)
  //    Dno.AddButt(KrVidimKorp, 3);
  Cut = Dno.AddCut('ПЗС 7*4-16');
  Traj = Cut.Trajectory;
  Traj.AddLine(0, -16, Dl.Value - Thick, -16);
  ContPaz = Cut.Contour;
  ContPaz.AddRectangle(0, Thick, -ThickZadSt - 0, Thick - 7);
  Dno.Build();
    MatKorp.SetActive();
  Cokol = AddFrontPanel(Thick, 0, Dl.Value - Thick, Hd.Value, Gl.Value - 20 - Thick);
  Cokol.TextureOrientation = ftoHorizontal;
  //Присваиваем панели имя
  Cokol.Name = 'Цоколь';
  Cokol.AddButt(KrNotVidimKorp, 0);
  Cokol.Build();
  MatVnutr.SetActive();
   ThickVnutr = MatVnutr.Thickness;

  //Высота проема в полке
  Hp = H.Value - ThickKrishka - Hd.Value - ThickVnutr;
  //Высота полки в проеме
  Hp = Hp / 2 - 0.5 * ThickVnutr;
  //Высота полки в глобальной системе координат
  Hp = Hp + Hd.Value + ThickVnutr;

  Polka = AddHorizPanel(Thick + Sl1.Value, 16   + ThickZadSt, Dl.Value - Thick - Sl1.Value, Gl.Value - 7  , Hp);
  Polka.TextureOrientation = ftoHorizontal;
  //Присваиваем панели имя
  Polka.Name = 'Полка';
  Polka.AddButt(KrNotVidimVnutr, 0);
  Polka.AddButt(KrNotVidimVnutr, 1);
  Polka.AddButt(KrVidimVnutr, 2)
  Polka.AddButt(KrNotVidimVnutr, 3);
  Polka.Build();

  MatZadnStenka.SetActive();
  ZadnStenka = AddFrontPanel(Thick - 6.5, Hd.Value + Thick - 6.5,
    Dl.Value - Thick + 6.5, H.Value - ThickKrishka + 6.5, 16);
  //Присваиваем панели имя
  ZadnStenka.Name = 'Задняя стенка';

  Block = BeginBlock("Дверь")
    MatDver.SetActive();
    ThickDver = ActiveMaterial.Thickness;
    Dver = AddFrontPanel(1.5, Hd.Value + 1, Dl.Value - 1.5, H.Value - ThickKrishka-3, Gl.Value+1.5);
    Dver.TextureOrientation = ftoVertical;
    //Присваиваем панели имя
    Dver.Name = 'Дверь';
    for (var k = 0; k < 4; k++) {
      Dver.AddButt(KrDver, k)
    }
    Rucka = OpenFurniture('ручка скоба.f3d');
    Rucka.Mount1(Dver, Dl.Value - 2 - 100, H.Value - 50, Gl.Value + ThickDver, 0);



  FPetli = Petli.Value;
  Block.AnimType = AnimationType.DoorLeft;

  FPetli.Mount(LevBok, Dver, 2 * Thick, Dver.PositionY + 100, 0);
  FPetli.Mount(LevBok, Dver, 2 * Thick, H.Value - ThickKrishka-103, 0);


  Ost = (Gl.Value - 37 - 40) % 32;
  k = ((Gl.Value - 37 - 40) - Ost) / 32;
  Dz = Gl.Value - 37 - k * 32;
  Dz1 = Gl.Value - 37 ;
  Polkodergatel.Value.Mount(Polka, LevBok, 2 * Thick, Hp, 84);
  Polkodergatel.Value.Mount(Polka, LevBok, 2 * Thick, Hp, Gl.Value-71);
  Polkodergatel.Value.Mount(Polka, PravBok, 2 * Thick, Hp, 84);
  Polkodergatel.Value.Mount(Polka, PravBok, 2 * Thick, Hp, Gl.Value-71);


  Evrik.Value.Mount(Dno, LevBok, 2 * Thick, Hd.Value, Dz);
  Evrik.Value.Mount(Dno, LevBok, 2 * Thick, Hd.Value, Dz1);
  Evrik.Value.Mount(Dno, PravBok, 2 * Thick, Hd.Value, Dz);
  Evrik.Value.Mount(Dno, PravBok, 2 * Thick, Hd.Value, Dz1);

  Excentric.Value.Mount(LevBok, Krishka, 2 * Thick, Hd.Value - Thick, Dz);
  Excentric.Value.Mount(LevBok, Krishka, 2 * Thick, Hd.Value - Thick, Dz1);
  Excentric.Value.Mount(PravBok, Krishka, 2 * Thick, Hd.Value - Thick, Dz);
  Excentric.Value.Mount(PravBok, Krishka, 2 * Thick, Hd.Value - Thick, Dz1);

  //Excentric.Mount(Cokol, LevBok, 2 * Thick, Hd.Value * 0.5, 0);
  //Excentric.Mount(Cokol, PravBok, 2 * Thick, Hd.Value * 0.5, 0);


  Shkant.Value.Mount(Dno, LevBok, 2 * Thick, Hd.Value, Dz + 32);
   Shkant.Value.Mount(Dno, LevBok, 2 * Thick, Hd.Value, Dz1 - 32);
    Shkant.Value.Mount(Dno, PravBok, 2 * Thick, Hd.Value, Dz + 32);
    Shkant.Value.Mount(Dno, PravBok, 2 * Thick, Hd.Value, Dz1 - 32);

    Shkant.Value.Mount(LevBok, Krishka, 2 * Thick, Hd.Value, Dz + 32);
    Shkant.Value.Mount(LevBok, Krishka, 2 * Thick, Hd.Value, Dz1 - 32);
    Shkant.Value.Mount(PravBok, Krishka, 2 * Thick, Hd.Value, Dz + 32);
    Shkant.Value.Mount(PravBok, Krishka, 2 * Thick, Hd.Value, Dz1 - 32);

  ugolok = OpenFurniture('Уголок пластик в цвет.f3d');
  ugolok.Mount(Cokol, LevBok, 2 * Thick, Hd.Value * 0.5, 0);
  ugolok.Mount(Cokol, PravBok, 2 * Thick, Hd.Value * 0.5, 0);
  ugolok.Mount(Cokol, Dno, 100, Hd.Value * 0.5, 0);
  ugolok.Mount(Cokol, Dno, Dl.Value-100, Hd.Value * 0.5, 0);
  ugolok.Mount(Cokol, Dno, Dl.Value/2, Hd.Value * 0.5, 0);


}
Ozimko вне форума   Ответить с цитированием Вверх
5 пользователя(ей) сказали cпасибо:
Briz (29.09.2015), DTioutiou (29.09.2015), maxgmv (29.09.2015), volunka (30.09.2015), zorro (29.09.2015)
Старый 30.09.2015, 08:28   #898
Ozimko
VIP
 
Аватар для Ozimko
 
Регистрация: 11.07.2008
Сообщений: 1,019
Сказал(а) спасибо: 261
Поблагодарили 314 раз(а) в 143 сообщениях
Вес репутации: 357
Ozimko как роза среди колючекOzimko как роза среди колючекOzimko как роза среди колючекOzimko как роза среди колючек
По умолчанию

Господа, работает ли скрипт со схемами крепежа?
И еще - может ли кто выложить образец размещения крепежа на всю длину боковины (с задней стенкой) с определенным шагом?
и еще - пример с выбором петли слева или справа...
Ozimko вне форума   Ответить с цитированием Вверх
Старый 30.09.2015, 09:10   #899
Briz
Местный
 
Регистрация: 30.11.2011
Сообщений: 283
Сказал(а) спасибо: 275
Поблагодарили 803 раз(а) в 179 сообщениях
Вес репутации: 358
Briz - просто великолепная личностьBriz - просто великолепная личностьBriz - просто великолепная личностьBriz - просто великолепная личностьBriz - просто великолепная личностьBriz - просто великолепная личностьBriz - просто великолепная личность
По умолчанию

Да, последние обновления девятки умеют и работать с существующими схемами крепежа и создавать новые. Вот пример:
Код HTML:
V1 = AddVertPanel(0, 0, 500, 300, 0);
V2 = AddVertPanel(0, 0, 500, 300, 200);
H = AddHorizPanel(V1.Thickness, 0, 200, 500, 100);

Scheme = OpenFurnitureScheme('Schemes.config','Ст+Шкант');
Scheme.FurniturePosition = FurniturePosition.Down;
Scheme.Mount(V1, H);
Scheme.FurniturePosition = FurniturePosition.Up;
Scheme.Mount(V2, H);
Код HTML:
function DoInstall(){
    DeleteNewObjects();
    V1 = AddVertPanel(0, 0, 500, 300, 0);
    V2 = AddVertPanel(0, 0, 150, 300, 200);
    H = AddHorizPanel(V1.Thickness, 0, 200, 500, 100);

    Scheme = NewFurnitureScheme(Window1.SchemeName.Value); //обязательный параметр: имя не должно быть пустым
    Scheme.SchemeType = Window1.SchemeType.ItemIndex; //по умолчанию с фикс. отступом
    Scheme.Furniture = Window1.Furn.Value; //Обязательный параметр - ставить что-то надо
    Scheme.AdditionalFurn = Window1.AdFurn.Value;
    Scheme.FixBaseIndent = Window1.StartIndent.Value; //по умолчанию 0
                                                      // идентично свойству Scheme.MinSymmetricIndent
    Scheme.Percent = Window1.Percent.Value; // по умолчанию false
    Scheme.FixSymmetricIndent = Window1.FixIndent.Value; // по умолчанию false
    Scheme.MinBaseIndent = Window1.EndIndent.Value; //по умолчанию 0
    Scheme.SetFurnitureCount(Window1.FurnCount.Value); //по умолчанию 2
    Scheme.FurnitureStep = Window1.FurnStep.Value; // значение по умолчанию 32
    Scheme.AdditionalFurnStep = Window1.AdFurnStep.Value; // значение по умолчанию 32
    Scheme.Mount(V1, H);  // скрепляет две панели по схеме.
}

//-- window Window1
Window1 = { Form : NewForm() };
Props = Window1.Form.Properties;
Window1.Form.Width = 299;
Window1.Form.Height = 340;
Window1.Form.Caption = 'Window1';
//-- window Window1 properties

Window1.Group1 = Props.NewGroup('Параметры схемы');
Window1.Group1.SetLayout(1, 1, 208, 253);
Window1.Group1.Align  = AlignType.Top;

Window1.SchemeName = Window1.Group1.NewString('Имя схемы');
Window1.SchemeName.SetLayout(2, 15, 204, 20);
Window1.SchemeName.Value = 'Scheme1';
Window1.SchemeName.Align  = AlignType.Top;

Window1.SchemeType = Window1.Group1.NewCombo('Тип схемы', '');
Window1.SchemeType.SetLayout(2, 35, 263, 20);
Window1.SchemeType.Align  = AlignType.Top;
Window1.SchemeType.AddItem('С фиксированным отступом');
Window1.SchemeType.AddItem('Симметричная');
Window1.SchemeType.AddItem('С переменным шагом');

Window1.Furn = Window1.Group1.NewFurniture('Основная фурнитура');
Window1.Furn.SetLayout(2, 55, 204, 20);
Window1.Furn.Align  = AlignType.Top;
Window1.AdFurn = Window1.Group1.NewFurniture('Дополнительная фурнитура');
Window1.AdFurn.SetLayout(2, 75, 316, 20);
Window1.AdFurn.Align  = AlignType.Top;

Window1.StartIndent = Window1.Group1.NewNumber('Фиксированный отступ от базы');
Window1.StartIndent.SetLayout(2, 95, 293, 20);
Window1.StartIndent.Align  = AlignType.Top;
Window1.Percent = Window1.Group1.NewBool('Отступ в процентах', false);
Window1.Percent.SetLayout(2, 115, 293, 20);
Window1.Percent.Visible = False;
Window1.Percent.Align  = AlignType.Top;
Window1.FixIndent = Window1.Group1.NewBool('Фиксировать отступ', false);
Window1.FixIndent.SetLayout(2, 135, 293, 20);
Window1.FixIndent.Visible = False;
Window1.FixIndent.Align  = AlignType.Top;
Window1.EndIndent = Window1.Group1.NewNumber('Минимальный отступ');
Window1.EndIndent.SetLayout(2, 155, 293, 20);
Window1.EndIndent.Align  = AlignType.Top;

Window1.FurnCount = Window1.Group1.NewNumber('Количество фурнитуры');
Window1.FurnCount.SetLayout(2, 175, 263, 20);
Window1.FurnCount.Value = 2;
Window1.FurnCount.Align  = AlignType.Top;
Window1.FurnStep = Window1.Group1.NewNumber('Кратность шага основного крепежа');
Window1.FurnStep.SetLayout(2, 195, 263, 20);
Window1.FurnStep.Value = 32;
Window1.FurnStep.Align  = AlignType.Top;
Window1.AdFurnStep = Window1.Group1.NewNumber('Кратность шага дополнительного крепежа');
Window1.AdFurnStep.SetLayout(2, 215, 263, 20);
Window1.AdFurnStep.Value = 32;
Window1.AdFurnStep.Align  = AlignType.Top;

Window1.InstallFurn = Props.NewButton('Установить крепеж');
Window1.InstallFurn.SetLayout(1, 254, 297, 31);
Window1.InstallFurn.Align  = AlignType.Top;
Window1.Button1 = Props.NewButton('Завершить скрипт');
Window1.Button1.SetLayout(1, 285, 297, 32);
Window1.Button1.Align  = AlignType.Top;
//-- window Window1 events

Window1.InstallFurn.OnClick = function(){
    DoInstall();
}
Window1.Form.OnClose = function(){
    Action.Finish();
}
Window1.Button1.OnClick = function(){
    Window1.Form.Close();
}

Window1.SchemeType.OnChange = function(){
    switch (Window1.SchemeType.ItemIndex)
    {
        case 0: EnableWithBaseProps(); break;
        case 1: EnableSymmetricProps(); break;
        case 2: EnableVarStepProps(); break;
    }
}

function EnableWithBaseProps(){
    Window1.AdFurn.Visible = true;
    Window1.StartIndent.Visible = true;
    Window1.FixIndent.Visible = false;
    Window1.Percent.Visible = false;
    Window1.EndIndent.Visible = true;
    Window1.FurnCount.Visible = true;
    Window1.AdFurnStep.Visible = true;
    Window1.StartIndent.Name = 'Фиксированный отступ от базы';
}

function EnableSymmetricProps(){
    Window1.AdFurn.Visible = true;
    Window1.StartIndent.Visible = true;
    Window1.FixIndent.Visible = true;
    Window1.Percent.Visible = true;
    Window1.EndIndent.Visible = false;
    Window1.FurnCount.Visible = true;
    Window1.AdFurnStep.Visible = true;
    if (Window1.FixIndent.Value)
        Window1.StartIndent.Name = 'Фиксированный отступ от краев';
    else
        Window1.StartIndent.Name = 'Минимальный отступ от краев';
}

function EnableVarStepProps(){
    Window1.AdFurn.Visible = false;
    Window1.StartIndent.Visible = false;
    Window1.FixIndent.Visible = false;
    Window1.Percent.Visible = false;
    Window1.EndIndent.Visible = false;
    Window1.FurnCount.Visible = false;
    Window1.AdFurnStep.Visible = false;
}


Window1.FixIndent.OnChange = function(){
    if (Window1.FixIndent.Value)
        Window1.StartIndent.Name = 'Фиксированный отступ от краев';
    else
        Window1.StartIndent.Name = 'Минимальный отступ от краев';
}
//-- window Window1 ends
Window1.Form.Show(WindowPosition.Left);
Briz вне форума   Ответить с цитированием Вверх
4 пользователя(ей) сказали cпасибо:
maxgmv (01.10.2015), Ovsyanicov (13.02.2020), Ozimko (30.09.2015), zorro (30.09.2015)
Старый 30.09.2015, 10:10   #900
Ozimko
VIP
 
Аватар для Ozimko
 
Регистрация: 11.07.2008
Сообщений: 1,019
Сказал(а) спасибо: 261
Поблагодарили 314 раз(а) в 143 сообщениях
Вес репутации: 357
Ozimko как роза среди колючекOzimko как роза среди колючекOzimko как роза среди колючекOzimko как роза среди колючек
По умолчанию

Не ставит....

V1 = AddVertPanel(0, 0, 500, 300, 0);
V2 = AddVertPanel(0, 0, 500, 300, 200);
H = AddHorizPanel(V1.Thickness, 0, 200, 500, 100);

Scheme = OpenFurnitureScheme('Schemes.config','VB135');
Scheme.FurniturePosition = FurniturePosition.Down;
Scheme.Mount(V1, H);
Scheme.FurniturePosition = FurniturePosition.Up;
Scheme.Mount(V2, H);


РЕШЕНО

Последний раз редактировалось Ozimko; 30.09.2015 в 11:13.
Ozimko вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
maxgmv (01.10.2015)
Ответ

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


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
БАЗИС 8 - Скрипты Igor_482 Базис-мебельщик. Скрипты 1525 30.03.2024 15:03
БАЗИС 9 nayrogi Базис-мебельщик 9 785 01.10.2022 23:13
БАЗИС-ЧПУ 8 chingisnah Базис-мебельщик 8 119 21.12.2017 22:04
Заявки на скрипты dr_john Система БАЗИС 37 01.03.2016 10:36
Базис-7,"Народный Базис"и Windows-8 sergeyzak18 "НАРОДНЫЙ" базис 23 16.01.2014 00:37


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


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

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