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

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


Реклама на портале PROMEBELclub
клей для производства мебели
Реклама на портале PROMEBELclub

битрикс24 Мебель196. Мебельный интернет-магазин в Екатеринбурге.
Ответ
 
Опции темы Опции просмотра
Старый 13.01.2014, 11:22  
БАЗИС 8 - Скрипты
 
Аватар для Igor_482
Igor_482
VIP
Регистрация: 03.09.2008
Сообщений: 145

Сказал(а) спасибо: 31
Поблагодарили 636 раз(а) в 84 сообщениях
Версия для печати Отправить по электронной почте
Igor_482 Igor_482 вне форума 13.01.2014, 11:22
Рейтинг: (6 голосов - 5.00 средняя оценка)

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

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

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


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

__________________________________________________ _______________

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

Новое в скриптописании для БМ:

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

while (true)
Вот полный список новшеств, добавленных в скрипты с момента их выхода:

14 декабря 2014

Добавлена поддержка эластичных блоков

List3D : {
IsElastic: new HDefinition("?Boolean:", 'Являетсяли объект эластичным'),
ElasticResize: new HDefinition("?Vector:newSize", 'Растянуть объект до требуемых размеров'),
}

27 ноября 2014

Вспомогательные геометрические алгоритмы, реализованы в глобальном объекте geometry

geometry : new HDefinition("Geometry2D", 'Вспомогательные геометрические функции'),

Geometry2D : {
Intersect: new HDefinition("?Array.<Point>:elem1,elem2", 'Вычислить точки пересечения двухмерных элементов'),
Compare: new HDefinition("?Boolean:elem1,elem2", 'Сравнить элементы'),
Distance: new HDefinition("?Number:elem1,elem2", 'Найти кратчайшее расстояние между элементами'),
Area: new HDefinition("?Number:contour", 'Найти площадь контура')
}

17 ноября 2014

Работа с пользовательскими свойствами

Object3 : {
UserPropCount: new HDefinition("Number", 'Количество пользовательских свойств'),
UserProperty: new HDefinition('Array.<Object>', 'Значение свойства по его имени или индексу'),
UserPropertyName: new HDefinition('Array.<String>', 'Названия свойств')
}

Новые элементы управления на панели свойств

ScriptProperty: {
NewColor: new HDefinition("?ScriptColorProperty:'Название'", 'Создать свойство типа цвет'),
NewSeparator: new HDefinition("?ScriptProperty", 'Создать разделитель')
}

ScriptColorProperty: {
Value: new HDefinition("Number")
},

----------------------------------------------------------------------------------------------------
29 сентября 2014

system.apiVersion = 90 -> Bazis9
system.apiVersion = 85 -> Bazis8

----------------------------------------------------------------------------------------------------
15 сентября 2014

Contour2D : {
Min: new HDefinition("Point", 'Левый нижний угол охватывающего прямоугольника'),
Max: new HDefinition("Point", 'Правый верхний угол охватывающего прямоугольника'),
AddEquidistant : new HDefinition("?undefined:contour,offset,false,false", 'Добавить эквидистанту контура. Последние 2 параметры отвечают за направление и скругление')
}

ScriptProperty: {
OnDeactivate : new HDefinition("Function", 'Обработчик деактивации свойства или меню'),
OnValueValidate : new HDefinition("Function", 'Проверка корректности значения'),
ValueValid: new HDefinition("Boolean", 'Флаг корректности введенного значения, выставляется обработчиком OnValueValidate'),
Validate: new HDefinition("?Boolean:", 'Проверить значение свойства и вложенных свойств')
}

----------------------------------------------------------------------------------------------------
2 сентября 2014

ScriptProperty: {
NameEditable: new HDefinition("Boolean", 'Разрешить редактирование имени (для создания таблиц)'),
NewSeparator: new HDefinition("?ScriptProperty", 'Создать разделитель')
}

----------------------------------------------------------------------------------------------------
9 августа 2014

Добавлены подменю в кнопки

InButton : {
NewSubMenu : new HDefinition('?InButton:"Меню"', 'Создать подменю'),
Combo: new Definition("Boolean", 'Отдельная стрелка для подменю')
},

Добавлены всплывающие меню и цвет фона для всех свойств. Созданы обработчики активации и изменения свойства.
Прежнее событие OnChange срабатывало не только при изменении самого параметра, но и при изменении дочерних свойств.
OnValueChange срабатывает только при изменении значения свойства.

ScriptProperty: {
BackColor: new HDefinition("Number", 'Цвет фона'),
PopupMenu: new HDefinition("ScriptMenu", 'Всплывающее меню'),
OnActivate : new HDefinition("Function", 'Обработчик активации свойства пользователем'),
OnValueChange : new HDefinition("Function", 'Обработчик изменения свойства')
Tag: new HDefinition("Number", 'Пользовательское число'),
}

Добавлено выпадающее меню:

ScriptProperty: {
DropDownMenu: new HDefinition("ScriptMenu", 'Выпадающее меню')
}

----------------------------------------------------------------------------------------------------
21 апреля 2014:

Добавлены свойства и методы:

ScriptMaterialProperty: {
Width: new HDefinition("Number", "Ширина листа"),
}

ScriptButtProperty: {
Thickness: new HDefinition("Number", "Толщина кромки"),
Width: new HDefinition("Number", "Ширина ленты"),
}

Contour2D : {
IsPointInside: new HDefinition("?Boolean:x,y", "Находится ли точка внутри контура?"),
IsInContour: new HDefinition("?Boolean:contour", "Находится ли контур внутри другого?"),
IsClosedContour: new HDefinition("?Boolean:", "Является ли контур замкнутым?"),
IsContourRectangle: new HDefinition("?Boolean:", "Является ли контур прямоугольным?"),
OrderContours: new HDefinition("?Boolean:true", "Упорядочить элементы контура в одном направлении")
}


----------------------------------------------------------------------------------------------------
6 февраля 2014

Реализовано подключение и вызов функций COM и OLE объектов

ScriptProperty : {
Expanded: new HDefinition("Boolean", 'Развернуты ли вложенные свойства')
}

Добавлен метод:
NewCOMObject: new HDefinition("?IDispatch:'CLSID'", 'Создать новый COM объект по его типу')
[свернуть]

Нажмите на изображение для увеличения
Название: Базис.jpg
Просмотров: 1126
Размер:	36.4 Кб
ID:	86248

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


Последний раз редактировалось systland; 26.12.2017 в 10:52.. Причина: Добавил объявление.
Просмотров: 737740
Ответить с цитированием Вверх
4 пользователя(ей) сказали cпасибо:
Beard (20.06.2017), female (15.01.2016), Kerby (21.11.2015), v22884 (04.11.2014)
Старый 31.10.2019, 02:12   #1191
Vogel
Новичок
 
Аватар для Vogel
 
Регистрация: 29.04.2019
Сообщений: 23
Сказал(а) спасибо: 11
Поблагодарили 15 раз(а) в 2 сообщениях
Вес репутации: 0
Vogel на пути к лучшему
По умолчанию OpenFurniture относительный и прямой путь

Цитата:
Сообщение от Letos Посмотреть сообщение
А путь "..\Папка 1\Папка 2\ ...\Файл" является относительным относительно чего? Относительно корневой папки с фурнитурой? Меняется ли он, если менять папку расположения скрипта?
Этот путь, как я понял, является относительным от Корневой папки со всеми Файлами Базиса. Т.е. и папка со скриптами начинается с этого уровня и папка с фурнитурой.

Приведу пример записи, что получается в файле XML при запуске скрипта по локальной сети и запуске скрипта с машины Сервера.

Файл при запуске скрипта с Сервера (машины, где локально лежит скрипт и файлы фурнитуры (OpenFurniture() - не работает в этом случае!):
PHP код:
<?xml version="1.0" encoding="UTF-8"?>
<Options>
  <Value>
    <Name>Ручка_1.fr3d</Name>
    <File>..\#_Фрагменты\Лицевая фурнитура\Ручки скобы\Ручка_1.fr3d</File>
  </Value>
</Options>
Файл при запуске скрипта по локальной сети (OpenFurniture() - работает!):
PHP код:
<?xml version="1.0" encoding="UTF-8"?>
<Options>
  <Value>
    <Name>Ручка_1.fr3d</Name>
    <File>\\Serv\Data\Базис-Мебельщик\#_Фрагменты\Лицевая фурнитура\Ручки скобы\Ручка_1.fr3d</File>
  </Value>
</Options>
Может какие-то символы в этом пути читаются как спецсимвол и переменная читается не корректно?
Vogel вне форума   Ответить с цитированием Вверх
Старый 31.10.2019, 08:43   #1192
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 542
Сказал(а) спасибо: 125
Поблагодарили 861 раз(а) в 349 сообщениях
Вес репутации: 262
Letos - просто великолепная личностьLetos - просто великолепная личностьLetos - просто великолепная личностьLetos - просто великолепная личностьLetos - просто великолепная личностьLetos - просто великолепная личностьLetos - просто великолепная личность
По умолчанию

Цитата:
Сообщение от Vogel Посмотреть сообщение
Этот путь, как я понял, является относительным от Корневой папки со всеми Файлами Базиса. Т.е. и папка со скриптами начинается с этого уровня и папка с фурнитурой.

Приведу пример записи, что получается в файле XML при запуске скрипта по локальной сети и запуске скрипта с машины Сервера.

Файл при запуске скрипта с Сервера (машины, где локально лежит скрипт и файлы фурнитуры (OpenFurniture() - не работает в этом случае!):
PHP код:
<?xml version="1.0" encoding="UTF-8"?>
<Options>
  <Value>
    <Name>Ручка_1.fr3d</Name>
    <File>..\#_Фрагменты\Лицевая фурнитура\Ручки скобы\Ручка_1.fr3d</File>
  </Value>
</Options>
Файл при запуске скрипта по локальной сети (OpenFurniture() - работает!):
PHP код:
<?xml version="1.0" encoding="UTF-8"?>
<Options>
  <Value>
    <Name>Ручка_1.fr3d</Name>
    <File>\\Serv\Data\Базис-Мебельщик\#_Фрагменты\Лицевая фурнитура\Ручки скобы\Ручка_1.fr3d</File>
  </Value>
</Options>
Может какие-то символы в этом пути читаются как спецсимвол и переменная читается не корректно?
А есть какая-то разница между версиями БМ на сервере и на компе?
Letos вне форума   Ответить с цитированием Вверх
Старый 01.11.2019, 07:55   #1193
Vogel
Новичок
 
Аватар для Vogel
 
Регистрация: 29.04.2019
Сообщений: 23
Сказал(а) спасибо: 11
Поблагодарили 15 раз(а) в 2 сообщениях
Вес репутации: 0
Vogel на пути к лучшему
По умолчанию

Цитата:
Сообщение от Letos Посмотреть сообщение
А есть какая-то разница между версиями БМ на сервере и на компе?
Нет, версия одна и та же. Просто команда записывает в XML файл в одном случае относительный путь, в другом прямой (но сетевой). Я решил вопрос с запросом фурнитуры, обратившись к полю формы через ее значение .Value — все заработало.
Vogel вне форума   Ответить с цитированием Вверх
Старый 01.11.2019, 20:49   #1194
gezan1
Новичок
 
Регистрация: 25.01.2019
Сообщений: 4
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
gezan1 пока не определено
По умолчанию Можно ли обьединить или соединить панели?

Здравствуйте. К примеру ставлю два модуля рядом . У них две столешницы. Возможно ли обьединить или соединить столешницы в одну? Че- то не нашел такую функцию в мануале.
gezan1 вне форума   Ответить с цитированием Вверх
Старый 02.11.2019, 03:34   #1195
Vogel
Новичок
 
Аватар для Vogel
 
Регистрация: 29.04.2019
Сообщений: 23
Сказал(а) спасибо: 11
Поблагодарили 15 раз(а) в 2 сообщениях
Вес репутации: 0
Vogel на пути к лучшему
По умолчанию

Цитата:
Сообщение от gezan1 Посмотреть сообщение
Здравствуйте. К примеру ставлю два модуля рядом . У них две столешницы. Возможно ли объединить или соединить столешницы в одну? Че- то не нашел такую функцию в мануале.
Такой функции нет. Скрипт должен считать положения и длины Столешниц у одного модуля и у второго, затем построить новую столешницу из такого же материала, что и Первая например, а затем удалить эти две панели. Новая панель будет результатом слияния.
Ну это общая логика задачи, как ее я увидел.
Vogel вне форума   Ответить с цитированием Вверх
Старый 07.11.2019, 14:50   #1196
MebelitBY
Новичок
 
Регистрация: 09.11.2014
Сообщений: 20
Сказал(а) спасибо: 4
Поблагодарили 4 раз(а) в 4 сообщениях
Вес репутации: 0
MebelitBY пока не определено
По умолчанию

Доброе время суток уважаемые форумчане, у кого есть возможность, помогите с разработкой 2-х простых, но очень полезных в моей ситуации, скриптов:

1. Поиск всех деталей с пазами
2. Увеличение детали на толщину припуска. (Пример: для подгонной детали наношу техническую кромку с припуском 50мм, после использования скрипта деталь должна стать больше на размер 50мм(или другой размер, равный указанному припуску) по той стороне на которую был назначен припуск)

В заранее спасибо всем откликнувшимся.
MebelitBY вне форума   Ответить с цитированием Вверх
Старый 07.11.2019, 15:12   #1197
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 542
Сказал(а) спасибо: 125
Поблагодарили 861 раз(а) в 349 сообщениях
Вес репутации: 262
Letos - просто великолепная личностьLetos - просто великолепная личностьLetos - просто великолепная личностьLetos - просто великолепная личностьLetos - просто великолепная личностьLetos - просто великолепная личностьLetos - просто великолепная личность
По умолчанию

Цитата:
Сообщение от MebelitBY Посмотреть сообщение
Доброе время суток уважаемые форумчане, у кого есть возможность, помогите с разработкой 2-х простых, но очень полезных в моей ситуации, скриптов:

1. Поиск всех деталей с пазами
2. Увеличение детали на толщину припуска. (Пример: для подгонной детали наношу техническую кромку с припуском 50мм, после использования скрипта деталь должна стать больше на размер 50мм(или другой размер, равный указанному припуску) по той стороне на которую был назначен припуск)

В заранее спасибо всем откликнувшимся.
1. http://promebelclub.ru/forum/showthread.php?p=478286, а конкретно:
PHP код:
Model.forEachPanel(function(obj) { 
if (
obj.Cuts.Count != 0
obj.Selected true
}); 
2. Самый простой способ я вижу - убрать у кромки припуск, тем самым деталь увеличится на толщину припуска (я не конструктор, поэтому не вижу разницы, могу быть не прав).
Способ посложнее - искать элемент и думать, куда "расширять" контур, вычислить новый габаритный прямоугольник, в который должен вписаться контур, а потом вписать его с помощью функции Fit()
Letos вне форума   Ответить с цитированием Вверх
Старый 07.11.2019, 18:22   #1198
gezan1
Новичок
 
Регистрация: 25.01.2019
Сообщений: 4
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
gezan1 пока не определено
По умолчанию

Подскажите, на примере, как выдавить панель в обратную сторону?

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

// Свойство, для задания материала на пластик панели
var mat = Action.Properties.NewMaterial('Материал');
var panel = AddPanel(0, 0);
/** Траектория гнутой панели */
var c = NewContour();
c.Clear();
c.AddArc({x: 0, y: 0}, {x: 300, y: 0}, {x: 150, y: 0});
// Задаём траекторию
panel.BentContour = c;
// Указываем, что панель гнутая
panel.Bent = true;
panel.Contour.Clear();
// Задаём контур панели.
// Ширина равна длине траектории гнутой панели
panel.Contour.AddRectangle(0, 0, c.ObjLength(), 800)
// Второй слой панели
panel.AddPlastic(mat, true);
// направление выдавливания
panel.BentDirection = 1;
panel.Build();
[свернуть]
gezan1 вне форума   Ответить с цитированием Вверх
Старый 08.11.2019, 08:58   #1199
PEHAT
Местный
 
Аватар для PEHAT
 
Регистрация: 06.09.2014
Сообщений: 184
Сказал(а) спасибо: 167
Поблагодарили 184 раз(а) в 66 сообщениях
Вес репутации: 125
PEHAT - весьма и весьма положительная личностьPEHAT - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от gezan1 Посмотреть сообщение
Подскажите, на примере, как выдавить панель в обратную сторону?
c.AddArc({x: 0, y: 0}, {x: 300, y: 0}, {x: 150, y: 0}, true);
или
c.AddArc({x: 0, y: 0}, {x: 300, y: 0}, {x: 150, y: 0}, false);

если нужно изменить сторону выдавливания, то panel.BentDirection = 2;
PEHAT вне форума   Ответить с цитированием Вверх
3 пользователя(ей) сказали cпасибо:
Letos (08.11.2019), maxgmv (08.11.2019), Ovsyanicov (08.11.2019)
Старый 29.11.2019, 10:07   #1200
Rafael21
Новичок
 
Регистрация: 09.09.2019
Сообщений: 9
Сказал(а) спасибо: 5
Поблагодарили 1 раз в 1 сообщении
Вес репутации: 0
Rafael21 пока не определено
По умолчанию

Здравствуйте, не могу разобраться, почему шкаф после изменения размеров позиционируется в начало координат

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

FileOptions = 'Настройка.xml';//задает имя файла для сохранения текущих параметров
var CurBlock;
var CurPos = NewVector(0, 0, 0);

MakeProperties();//Активирует окно параметров

BtnMake = NewButtonInput('Закончить');//Создает кнопку закончить
BtnMake.OnChange = function() {
Action.Commit();
Action.Finish();
}

if (!ParametricBlock) {
BtnMake = NewButtonInput('Добавить еще один');
BtnMake.OnChange = function() {
Action.Commit();
NewTumba();
}

function NewTumba() {
Make();
Action.Hint = 'Укажите положение шкафа';
Action.ShowPoints = true;
Action.OnMove = function() {
CurBlock.Position = Action.Pos3;
CurPos = Action.Pos3;
};
Action.OnClick = function() {
Action.OnMove = undefined;
Action.ShowPoints = false;
Action.Hint = 'Укажите параметры шкафа';
};
}

NewTumba();
} else
Action.Hint = 'Укажите параметры шкафа';


Action.Continue();//Ожидание действия пользователя

Action.OnStart = function() {
if (ParametricBlock) {
OldVerh = ParametricBlock.Find('полка верхняя');
OldLevST = ParametricBlock.Find('стенка левая');

if (OldVerh && OldLevST) {
Dl.Value = OldVerh.Contour.Width + MatKorp.Thickness;
H.Value = OldLevST.Contour.Height;
Gl.Value = OldLevST.Contour.Width;
} else {
alert('Блок необратимо изменён!')
Action.Cancel();
}
}
//Покажем любые изменения в рабочем окне
Prop.OnChange = function() {
Make();
};
};



function MakeProperties() {
//создаем окно для заполнения параметров
Prop = Action.Properties;
Image = Prop.NewImage('Эскиз', 'ВШК.jpg');
Image.MaxHeight = 250;// Размер рисунка
Dl = Prop.NewNumber('Ширина', 400);
Gl = Prop.NewNumber('Глубина', 330);
H = Prop.NewNumber('Высота', 720);
Korpus = Prop.NewGroup('Корпус')
MatKorp = Korpus.NewMaterial('Материал корпуса');
Kromka = Korpus.NewButt('Кромка');

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

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

function Make() {
//Удаляем старые объекты из скрипта
DeleteNewObjects();
CurBlock = BeginParametricBlock("Навесной Шкаф");
//Укажем толщину задней стенки
MatZadnStenka.SetActive();
ThickZadSt = ActiveMaterial.Thickness;
//И толщину материала корпуса
MatKorp.SetActive();
Thick = ActiveMaterial.Thickness;

//Подскажем размеры верхней полки
Verh = AddHorizPanel(Thick, 22, Dl.Value - Thick, Gl.Value - 1, H.Value - Thick - 1);
// Ориентация
Verh.TextureOrientation = ftoHorizontal;
//Назовем ее
Verh.Name = 'полка верхняя';
//Кромим
Verh.AddButt(Kromka, 2);
Verh.Build();

//Создадим левую стенку
LevST = AddVertPanel(0, 0, Gl.Value, H.Value);
LevST.TextureOrientation = ftoVertical;// Ориентация
LevST.Name = 'стенка левая';//Имя
LevST.AddButt(Kromka, 0);//Кромка сзади
LevST.AddButt(Kromka, 1);//Кромка справа или слева пока не знаю
LevST.AddButt(Kromka, 2);//Кромка спереди
LevST.AddButt(Kromka, 3);//Кромка справа-сверху или слева снизу

//Построим паз
Cut = LevST.AddCut('паз');
Traj = Cut.Trajectory;
Traj.AddLine(22, 0, 22, H.Value);//Смещение паза от дальнего среза низ-z y, верх-z y
ContPaz = Cut.Contour;
ContPaz.AddRectangle(0, 0, 4, 6);
LevST.Build();

//Правая стенка
PravST = AddSymmetry(LevST, NewVector(Dl.Value / 2, 0, 0), AxisX);
PravST.Name = 'стенка правая';

// Нижняя полка
Niz = AddHorizPanel(Thick, 0, Dl.Value - Thick, Gl.Value - 1, 1);
Niz.TextureOrientation = ftoHorizontal;
Niz.Name = 'полка нижняя';
Niz.AddButt(Kromka, 0);
Niz.AddButt(Kromka, 2);
Cut = Niz.AddCut('паз');
Traj = Cut.Trajectory;
Traj.AddLine(0, -22, Dl.Value - Thick, -22);
ContPaz = Cut.Contour;
ContPaz.AddRectangle(0, Thick, 4, Thick - 6);
Niz.Build();

//Задняя стенка
MatZadnStenka.SetActive();
ZadnStenka = AddFrontPanel(Thick - 5.5, 1 + Thick - 5.5, Dl.Value - Thick + 5.5, H.Value - 1.5, 19);
ZadnStenka.TextureOrientation = ftoVertical;
ZadnStenka.Name = 'стенка задняя';

//Ставим крепеж
Conf = OpenFurniture('Конфирмат 7х50мм FS (центр).f3d');
Conf.Mount(Niz, LevST, 0, 0, 50);
Conf.Mount(Niz, LevST, 0, 0, Gl.Value - 50);
Conf.Mount(Niz, PravST, 0, 0, 50);
Conf.Mount(Niz, PravST, 0, 0, Gl.Value - 50);

Conf.Mount(Verh, LevST, 0, 0, 50);
Conf.Mount(Verh, LevST, 0, 0, Gl.Value - 50);
Conf.Mount(Verh, PravST, 0, 0, 50);
Conf.Mount(Verh, PravST, 0, 0, Gl.Value - 50);

Shkant = OpenFurniture('Шкант 8х30мм (центр).f3d');
Shkant.Mount(Niz, LevST, 0, 0, 82);
Shkant.Mount(Niz, LevST, 0, 0, Gl.Value - 82);
Shkant.Mount(Niz, PravST, 0, 0, 82);
Shkant.Mount(Niz, PravST, 0, 0, Gl.Value - 82);

Shkant.Mount(Verh, LevST, 0, 0, 82);
Shkant.Mount(Verh, LevST, 0, 0, Gl.Value - 82);
Shkant.Mount(Verh, PravST, 0, 0, 82);
Shkant.Mount(Verh, PravST, 0, 0, Gl.Value - 82);

EndParametricBlock();


}

[свернуть]
Rafael21 вне форума   Ответить с цитированием Вверх
Ответ

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

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
БАЗИС 9 nayrogi Базис-мебельщик 9 768 16.03.2020 08:31
БАЗИС 9 - Скрипты Igor_482 Базис-мебельщик. Скрипты 1426 17.03.2019 23:00
БАЗИС-ЧПУ 8 chingisnah Базис-мебельщик 8 119 21.12.2017 21:04
Заявки на скрипты dr_john Система БАЗИС 37 01.03.2016 09:36
Базис-7,"Народный Базис"и Windows-8 sergeyzak18 "НАРОДНЫЙ" базис 23 15.01.2014 22:37


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


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