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

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

Меню

Маркет


Ответ
 
Опции темы Опции просмотра
Старый 13.01.2014, 13:22  
БАЗИС 8 - Скрипты
 
Аватар для 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. Какие возможности дает данная функция? Владеющим информацией по данному вопросу просьба поделиться ею.

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

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

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
Просмотров: 1498
Размер:	36.4 Кб
ID:	86248

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


Последний раз редактировалось systland; 26.12.2017 в 11:52.. Причина: Добавил объявление.
Просмотров: 1406500
Ответить с цитированием Вверх
6 пользователя(ей) сказали cпасибо:
Старый 14.08.2014, 16:39   #411
zorro
VIP
 
Аватар для zorro
 
Регистрация: 18.01.2008
Сообщений: 1,047
Сказал(а) спасибо: 2,864
Поблагодарили 1,853 раз(а) в 435 сообщениях
Вес репутации: 696
zorro обеспечил(а) себе прекрасное будущееzorro обеспечил(а) себе прекрасное будущееzorro обеспечил(а) себе прекрасное будущееzorro обеспечил(а) себе прекрасное будущееzorro обеспечил(а) себе прекрасное будущееzorro обеспечил(а) себе прекрасное будущееzorro обеспечил(а) себе прекрасное будущееzorro обеспечил(а) себе прекрасное будущееzorro обеспечил(а) себе прекрасное будущееzorro обеспечил(а) себе прекрасное будущееzorro обеспечил(а) себе прекрасное будущее
По умолчанию

Цитата:
И все-таки подход у Базиса странный. Не пользователяориентированная программа. Т.е. бизнес выживет у тех, кто разбирается в скриптах. Ибо скрипты дают сильное конкурентное преимущество.
Ничего себе странный!!!

Вам дали инструмент с помощью которого вы можете САМИ создать себе конкурентное преимущество. Одному надо одно, другому - другое. И Базис будет для всех скрипты писать? Тогда можно на развитии программы поставить крест.

Если вы купили фрезерно-присадочный станок с ЧПУ и не умеете программировать обработку деталей, то по вашему фирма-производитель станка виновата. Это она не написала и не дала вам ГОТОВЫХ управляющих программ для обработки ВАШИХ деталей?

Если не умеете писать скрипты, а они нужны - выход один! Научиться. Мне уже не мало лет, но я же научился. Трудно было поначалу. Но дорогу осилит идущий (с). Сейчас и книги есть и интернет. Ну немного мозги напрячь надо. Неужели это так трудно?

А скрипты - это действительно БОМБА!!! Как говорится:"Чем дальше в лес - тем толще партизаны." Увлекает все больше и больше.

Раньше хотелось просто чего нибудь написать. Что бы заработало. А сейчас уже надо думать чтобы скрипты создали какой-то комплекс МОИХ команд которые использую именно я при проектировании.
zorro вне форума   Ответить с цитированием Вверх
5 пользователя(ей) сказали cпасибо:
cudesnic09 (14.08.2014), DTioutiou (14.08.2014), maxgmv (14.08.2014), Oldman (14.08.2014), systland (14.08.2014)
Старый 14.08.2014, 17:03   #412
DTioutiou
VIP
 
Аватар для DTioutiou
 
Регистрация: 05.05.2008
Адрес: Коломна
Сообщений: 10,452
Сказал(а) спасибо: 14,824
Поблагодарили 20,865 раз(а) в 5,387 сообщениях
Вес репутации: 5413
DTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспорима
По умолчанию

Цитата:
Сообщение от Miknm Посмотреть сообщение
Т.е. бизнес выживет у тех, кто разбирается в скриптах.
Бизнес выживет у тех, кто не стесняется вкладываться в интеллект своих сотрудников. У кого-то из уважаемых наших форумчан была хорошая подпись:

Техника в руках индейца - куча металлолома.

Цитата:
Сообщение от zorro Посмотреть сообщение
Вам дали инструмент с помощью которого вы можете САМИ создать себе конкурентное преимущество. Одному надо одно, другому - другое. И Базис будет для всех скрипты писать?
Не будет. И вот почему. Написать скрипт может каждый Пользователь, даже не будучи программистом. А вот написать САПР - может несколько десятков-сотен человек во всей стране.

Поэтому пусть каждый занимается тем, чем он может заниматься. Так будет лучше всем и каждому.
DTioutiou вне форума   Ответить с цитированием Вверх
3 пользователя(ей) сказали cпасибо:
Oldman (14.08.2014), yurgard (21.03.2018), zorro (14.08.2014)
Старый 14.08.2014, 17:32   #413
Am0ralist
Местный
 
Регистрация: 16.11.2011
Адрес: Москва / Пенза
Сообщений: 1,135
Сказал(а) спасибо: 307
Поблагодарили 1,257 раз(а) в 524 сообщениях
Вес репутации: 516
Am0ralist за этого человека можно гордитсяAm0ralist за этого человека можно гордитсяAm0ralist за этого человека можно гордитсяAm0ralist за этого человека можно гордитсяAm0ralist за этого человека можно гордитсяAm0ralist за этого человека можно гордитсяAm0ralist за этого человека можно гордитсяAm0ralist за этого человека можно гордитсяAm0ralist за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от Miknm Посмотреть сообщение
Вот написать бы скрипт, который пишет скрипты! Шутка, хотя...
И все-таки подход у Базиса странный. Не пользователяориентированная программа. Т.е. бизнес выживет у тех, кто разбирается в скриптах. Ибо скрипты дают сильное конкурентное преимущество.
Проблема в том, что многие хотят бесплатно.
А у меня, допустим, и так времени не хватает для своих проектов, не то что бы скрипты писать просто так. Рабочие моменты скриптую. Чем-то поделюсь, как люди - фрагментами, просто ради того,что бы информация о том что и как работает - была доступна всем и не потерялась. А что-то - уж извините, преимущество конкурентное)))
__________________
Нахожусь в режиме поиска интересных задач, связанных с Базисом. Москва, 2015.
Am0ralist вне форума   Ответить с цитированием Вверх
3 пользователя(ей) сказали cпасибо:
DTioutiou (14.08.2014), Oldman (14.08.2014), zorro (14.08.2014)
Старый 14.08.2014, 17:39   #414
Miknm
Пользователь
 
Регистрация: 11.11.2012
Адрес: Тула
Сообщений: 87
Сказал(а) спасибо: 48
Поблагодарили 46 раз(а) в 22 сообщениях
Вес репутации: 157
Miknm на пути к лучшему
По умолчанию

[QUOTE=DTioutiou;295714]Бизнес выживет у тех, кто не стесняется вкладываться в интеллект своих сотрудников.

У нас город с населением 50 тыс. человек.
Пол года уже висит объявление о вакансии дизайнера-конструктора, работающего в БМ. Итог - ни одного звонка!!!

А брать с улицы, обучать его( не стесняясь вкладываться в интеллект)- не серьезно. Этот абитуриент, почуяв значимость, переберется в областной центр, далее по этапу в Москву. А готовить и вкладываться в интеллект сотруднику, который потом уйдет к конкурентам- не хочу! И не рационально это.
По этому нет у меня проектанта, а я, как директор, вынужден чертить сам, но времени на изучение скриптов нет, еще и руководить торговой точкой надо и производством, ну и тд. В общем как-то так.
И еще вопрос к представителям Базиса:
Откуда вырастут проектанты, если в демоверсии нельзя сохранять файлы? Пусть программа не выдает чертежи, раскрой и прочую печатную продукцию. Но при обучении не сохранять проект- глупо.
Пусть в демоверсии он сохраняется в спец формате, который БМ8 не прочтет.
Лан, все сказал, тему захлопываю, извините, если че.
Жду скриптов от талантов!
Miknm вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
rinch (15.08.2014)
Старый 14.08.2014, 17:53   #415
DTioutiou
VIP
 
Аватар для DTioutiou
 
Регистрация: 05.05.2008
Адрес: Коломна
Сообщений: 10,452
Сказал(а) спасибо: 14,824
Поблагодарили 20,865 раз(а) в 5,387 сообщениях
Вес репутации: 5413
DTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспорима
По умолчанию

Цитата:
Сообщение от Miknm Посмотреть сообщение
У нас город с населением 50 тыс. человек.
А у нас город с населением 150 тыс. человек. И что из этого следует? Около 15-ти мебельных предприятий, из них где-то половина имеют в штате профессиональных инженеров-конструкторов-технологов (от одного до шести человек на каждом предприятии). И это не считая менеджеров-приемщиц заказов.

Город - райцентр, Москва рядом, но почему-то не уезжают.

Про программистов: кроме "БАЗИСа", у нас в городе разрабытываются: "Компас", "Электрикс", "Траффик Инспектор". Их разработчики тоже живут и работают в Коломне.

------
Это я к тому, что было бы желание и умение решить кадровый вопрос, а возможность всегда есть. И размеры города к этому отношения не имеют.

Цитата:
Сообщение от Miknm Посмотреть сообщение
Откуда вырастут проектанты, если в демоверсии нельзя сохранять файлы? Пусть программа не выдает чертежи, раскрой и прочую печатную продукцию. Но при обучении не сохранять проект- глупо.
Есть БАЗИС-Онлайн, там все сохраняется.

А вообще, инженеры-конструкторы вырастают не из сохранения файлов. И чем дольше Вы будете видеть причину Ваших кадровых проблем в сохранении файлов - тем дольше эти кадры у Вас не вырастут. Тут в консерватории нужно править. Это точно.
DTioutiou вне форума   Ответить с цитированием Вверх
4 пользователя(ей) сказали cпасибо:
Gausgroup (14.03.2017), maxgmv (15.08.2014), v22884 (15.08.2014), zorro (14.08.2014)
Старый 14.08.2014, 18:11   #416
kylan
Модератор
 
Аватар для kylan
 
Регистрация: 25.02.2010
Адрес: г.Орск
Сообщений: 5,231
Сказал(а) спасибо: 8,276
Поблагодарили 16,304 раз(а) в 4,586 сообщениях
Вес репутации: 4034
kylan репутация неоспоримаkylan репутация неоспоримаkylan репутация неоспоримаkylan репутация неоспоримаkylan репутация неоспоримаkylan репутация неоспоримаkylan репутация неоспоримаkylan репутация неоспоримаkylan репутация неоспоримаkylan репутация неоспоримаkylan репутация неоспорима
По умолчанию

Цитата:
Есть БАЗИС-Онлайн, там все сохраняется.
Жаба . Ведь обучится и к конкуренту рванет.
Бабло похерелось.
Халява на просторах ищите и найдете.
__________________
Что прекрасно подходит одному, для другого- не приемлемо.
kylan вне форума   Ответить с цитированием Вверх
2 пользователя(ей) сказали cпасибо:
DTioutiou (14.08.2014), rinch (15.08.2014)
Старый 14.08.2014, 18:48   #417
DTioutiou
VIP
 
Аватар для DTioutiou
 
Регистрация: 05.05.2008
Адрес: Коломна
Сообщений: 10,452
Сказал(а) спасибо: 14,824
Поблагодарили 20,865 раз(а) в 5,387 сообщениях
Вес репутации: 5413
DTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспорима
По умолчанию

Цитата:
Сообщение от kylan Посмотреть сообщение
Жаба . Ведь обучится и к конкуренту рванет.
Бабло похерелось.
С такими мыслями нужно вообще работать одному, в наглухо запертом гараже: любой напарник ведь тоже может уйти - и к конкуренту, да и сам может стать конкурентом.

Жениться, кстати, тоже противопоказано: только воспитаешь-подготовишь жену, а она опачки - унд зай гезунд! Прям дарвинизм какой-то.
DTioutiou вне форума   Ответить с цитированием Вверх
3 пользователя(ей) сказали cпасибо:
maxgmv (15.08.2014), v22884 (15.08.2014), zorro (14.08.2014)
Старый 15.08.2014, 10:52   #418
v22884
Местный
 
Регистрация: 17.04.2014
Адрес: д.Сибирцево, ателье-уют.рф
Сообщений: 454
Сказал(а) спасибо: 243
Поблагодарили 1,095 раз(а) в 210 сообщениях
Вес репутации: 387
v22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордится
По умолчанию

Как правильно назначать оуунера?


Fasad.Owner = Obj.Owner

такой код даёт странные результаты построения, не достраивает, и положение не правильное.

Добавлено через 17 минут
Цитата:
Сообщение от Miknm Посмотреть сообщение
Вот написать бы скрипт, который пишет скрипты! Шутка, хотя...
Уже существуют устройства управления компьютером спомощью мысли. То есть зачатки технологии чтения мыслей людей компьютером есть.

Голосовое управление уже очень старая вещь, ток чота в массы в качественном виде не выпускают.

Логический аппарат построения по текстовому описанию мебели вообще не проблема.

Таким образом макрос для написания макросов не нужен. И по большому счёту макросы будут очень низкоэффективной древней технологией когда клиент в любом месте представив нужную ему мебель увидить её во всех мелких технических подробностях и меняться она будет со скоростью его мысли, а не способностей проектировщика или макроса.

Макрос это только сегодня.

Завтра будет всё гораздо круче, ни или проще.

Добавлено через 29 минут
Не помню выкладывал/нет Дверь профильная со шпонками.

Поправил положение(Position).

0 Сечения Профиля по принципу сечения канта.

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



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;




MatProfil = Prop.NewMaterial('Профиль');
MatVstavki = Prop.NewMaterial('Вставка');
FileProfil = Prop.NewSelector('Сечение Профиля с 0 как у канта');
Krepej = Prop.NewFurniture('КрепЁж профиля');

FileProfil.OnClick = function() {
FileProfil.Value = system.askFileName('frw');
};


OkBtn = Prop.NewButton('Построить');


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







Prop.OnChange = function() {
//if (Fas.Value > Hd.Value) alert('Предупреждение! Фаска больше чем высота дна.')
Make(); //Вызываем функцию построения всех панелей
};


}





//Obj = Model.Selected;


function Make()
{
//FileFreza = 'Фреза1.frw';
if (system.fileExists(FileProfil.Value)) {
// conturFrezi=NewContour();
// conturFrezi.Load(FileFreza);
Model.forEach (function(Obj) {

if (Obj.Selected == true)

{
// Obj = Obj.AsPanel; ;
Width = Obj.GSize.x;
Height= Obj.GSize.y;

//alert(Width + ' -- ' + Height)

Fasad = Profil(Width,Height,MatProfil,MatVstavki,Obj.Owner);
//alert(Obj.Owner
//Fasad.Owner = Obj.Owner
lnpv = GabarityContura(Obj);


ln = NewPoint(lnpv[0].x,lnpv[0].y);
pv = NewPoint(lnpv[1].x,lnpv[1].y);


Fasad.Position = Obj.ObjectToGlobal(ln) ;

Fasad.Rotation = Obj.Rotation ;





//Obj.Build();


}
} )





}
}

function Profil(Width,Height,MatProfil, MatVstavka,owner) {
// Width = 300; // ширина рамки
//Height = 400; // высота рамки
Profile = NewContour();
Profile.Load(FileProfil.Value);
doSdviga = Profile[0].Pos1.x;
polojGlubini_doSdviga = Profile[0].Pos1.y;
Profile.Fit(0,0,Profile.Width,Profile.Height);
Sdvig = Profile[0].Pos1.x-doSdviga;
//alert(Sdvig)
polojGlubini=Profile[0].Pos1.y-polojGlubini_doSdviga;
vstavkaThikness=0;


Block = BeginBlock("Фасад Профильный")
//Block.Owner = owner;
MatProfil.SetActive();
Ext1 = AddExtrusion('1');
Ext1.Name ='Профиль';
Ext1.Contour.Addition(Profile);
Ext1.Orient(AxisX, AxisZ);
Ext1.Thickness = Width;
Clip45(Ext1);



Ext2 = AddExtrusion('2');
Ext2.Name ='Профиль'
Ext2.Contour.Addition(Profile);
Ext2.Orient(AxisY, AxisZ);
Ext2.PositionX = Width;
Ext2.Thickness = Height;
Clip45(Ext2);

Ext3 = AddExtrusion('3');
Ext3.Name ='Профиль'
Ext3.Contour.Addition(Profile);
Ext3.PositionX = Width;
Ext3.PositionY = Height;
Ext3.Orient(Axis_X, AxisZ);
Ext3.Thickness = Width;
Clip45(Ext3);

Ext4 = AddExtrusion('4');
Ext4.Name ='Профиль'
Ext4.Contour.Addition(Profile);
Ext4.Orient(Axis_Y, AxisZ);
Ext4.PositionY = Height;
Ext4.Thickness = Height;
Clip45(Ext4);

if (Krepej.Value)
{
ots1=35;
ots2 = 20;

e1 = AddFrontPanel(Ext1.Position.x,Ext1.Position.y, 1000, 1000, 0)
Krepej.Value.Mount1(e1, Ext1.Position.x+ots1,Ext1.Position.y+ots1,-e1.Thickness, 0);
Krepej.Value.Mount1(e1, Ext1.Position.x+ots2,Ext1.Position.y+ots2,-e1.Thickness, 0);

e1.Free()

e2 = AddFrontPanel(Ext2.Position.x,Ext2.Position.y, 1000, 1000, 0)
Krepej.Value.Mount1(e2, Ext2.Position.x-ots1,Ext2.Position.y+ots1,-e2.Thickness, 90);
Krepej.Value.Mount1(e2, Ext2.Position.x-ots2,Ext2.Position.y+ots2,-e2.Thickness, 90);

e2.Free()

e3 = AddFrontPanel(Ext3.Position.x,Ext3.Position.y, 1000, 1000, 0)
Krepej.Value.Mount1(e3, Ext3.Position.x-ots1,Ext3.Position.y-ots1,-e3.Thickness, 0);
Krepej.Value.Mount1(e3, Ext3.Position.x-ots2,Ext3.Position.y-ots2,-e3.Thickness, 0);

e3.Free()

e4 = AddFrontPanel(Ext4.Position.x,Ext4.Position.y, 1000, 1000, 0)
Krepej.Value.Mount1(e4, Ext4.Position.x+ots1,Ext4.Position.y-ots1,-e4.Thickness, 90);
Krepej.Value.Mount1(e4, Ext4.Position.x+ots2,Ext4.Position.y-ots2,-e4.Thickness, 90);

e4.Free()
}




MatVstavka.SetActive();

vstavka = AddFrontPanel(Sdvig, Sdvig, Width-Sdvig, Height-Sdvig, polojGlubini);
vstavka.Translate(NewVector(0, 0, - vstavka.Thickness))
vstavka.Name = 'Вставка';

EndBlock()

return Block
}
function Clip45(Ext) {
Ext.Clip(NewVector(0, 0, 0), NewVector(-1,0, 1));
Ext.Clip(NewVector(0, 0, Ext.Thickness), NewVector(-1, 0, -1));
}


function GabarityContura(Obj)

{
var text = '';


ln = NewPoint(0, 0); //левый низ
lv = NewPoint(0, 0); //левый верх
pn = NewPoint(0, 0); //правый низ
pv = NewPoint(0, 0); //правый верх контура

kontur = Obj.Contour;

kstoron = kontur.Count;
// var k_ne_krugov = 0;
for (i = 0; i < kstoron; i++) {
if (kontur[i].ElType != 3) { //k_ne_krugov = k_ne_krugov+1

ln = NewPoint(Math.round(kontur[i].Pos1.x * 10) / 10, Math.round(kontur[i].Pos1.y * 10) / 10);
lv = NewPoint(Math.round(kontur[i].Pos1.x * 10) / 10, Math.round(kontur[i].Pos1.y * 10) / 10);
pn = NewPoint(Math.round(kontur[i].Pos1.x * 10) / 10, Math.round(kontur[i].Pos1.y * 10) / 10);
pv = NewPoint(Math.round(kontur[i].Pos1.x * 10) / 10, Math.round(kontur[i].Pos1.y * 10) / 10);
}

};



for (i = 0; i < kstoron; i++) {
if (kontur[i].ElType != 3) {
Pos1x = Math.round(kontur[i].Pos1.x * 10) / 10;
Pos1y = Math.round(kontur[i].Pos1.y * 10) / 10;
Pos2x = Math.round(kontur[i].Pos2.x * 10) / 10;
Pos2y = Math.round(kontur[i].Pos2.y * 10) / 10;


if (ln.x > Pos1x) {
ln.x = Pos1x
};
if (ln.x > Pos2x) {
ln.x = Pos2x
};
if (ln.y > Pos1y) {
ln.y = Pos1y
};
if (ln.y > Pos2y) {
ln.y = Pos2y
};

if (lv.x > Pos1x) {
lv.x = Pos1x
};
if (lv.x > Pos2x) {
lv.x = Pos2x
};
if (lv.y < Pos1y) {
lv.y = Pos1y
};
if (lv.y < Pos2y) {
lv.y = Pos2y
};

if (pn.x < Pos1x) {
pn.x = Pos1x
};
if (pn.x < Pos2x) {
pn.x = Pos2x
};
if (pn.y > Pos1y) {
pn.y = Pos1y
};
if (pn.y > Pos2y) {
pn.y = Pos2y
};

if (pv.x < Pos1x) {
pv.x = Pos1x
};
if (pv.x < Pos2x) {
pv.x = Pos2x
};
if (pv.y < Pos1y) {
pv.y = Pos1y
};
if (pv.y < Pos2y) {
pv.y = Pos2y
};

}
};

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

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

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





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






lnpv = []




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



return lnpv
}




[свернуть]


Добавлено через 6 минут
Цитата:
Сообщение от DTioutiou Посмотреть сообщение
Есть БАЗИС-Онлайн, там все сохраняется.
А разве Базисом-Онлайн можно безлимитно по времени пользоваться.
v22884 вне форума   Ответить с цитированием Вверх
5 пользователя(ей) сказали cпасибо:
Am0ralist (15.08.2014), DTioutiou (15.08.2014), maxgmv (15.08.2014), Miknm (15.08.2014), zorro (15.08.2014)
Старый 15.08.2014, 11:48   #419
DTioutiou
VIP
 
Аватар для DTioutiou
 
Регистрация: 05.05.2008
Адрес: Коломна
Сообщений: 10,452
Сказал(а) спасибо: 14,824
Поблагодарили 20,865 раз(а) в 5,387 сообщениях
Вес репутации: 5413
DTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспоримаDTioutiou репутация неоспорима
По умолчанию

Цитата:
Сообщение от v22884 Посмотреть сообщение
А разве Базисом-Онлайн можно безлимитно по времени пользоваться.
А разве речь шла про безлимитность? Речь шла про обучение сотрудника командам сохранения. Разве это безлимитный процесс? Ну день - самый максимум.

А так, то сколько на баланс положено - столько времени и работать можно. Истратить эту сумму можно хоть сразу, хоть растянуть на год.
DTioutiou вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
zorro (15.08.2014)
Старый 15.08.2014, 15:06   #420
v22884
Местный
 
Регистрация: 17.04.2014
Адрес: д.Сибирцево, ателье-уют.рф
Сообщений: 454
Сказал(а) спасибо: 243
Поблагодарили 1,095 раз(а) в 210 сообщениях
Вес репутации: 387
v22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордится
По умолчанию

Подскажите, пожалуйста, Как правильно назначать Объект-Владелец?


Fasad.Owner = Obj.Owner

такой код даёт странные результаты построения, не достраивает, и положение не правильное.
v22884 вне форума   Ответить с цитированием Вверх
Ответ

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


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
БАЗИС 9 - Скрипты Igor_482 Базис-мебельщик. Скрипты 1442 04.04.2024 11:28
БАЗИС 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:34. Часовой пояс GMT +3.


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

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