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

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

Меню

Маркет


Ответ
 
Опции темы Опции просмотра
Старый 21.12.2017, 12:21  
Заявки на создание скрипта.
systland
VIP
Регистрация: 30.10.2007
Адрес: Москва
Сообщений: 565

Сказал(а) спасибо: 303
Поблагодарили 451 раз(а) в 189 сообщениях
Версия для печати Отправить по электронной почте
systland systland вне форума 21.12.2017, 12:21
Рейтинг: ()

Тема создана для размещения заявок на написание скриптов.

Для того, чтобы заявка была рассмотрена, необходимо составить максимально понятное техзадание :
1. Описать, какую задачу должен выполнять скрипт.
2. Какие данные должны использоваться скриптом.
3. Алгоритм (последовательность действий) работы скрипта.

Заявки типа "Мне нужен скрипт для расстановки полок" или подобные рискуют остаться без внимания.

Любые заявки не обязательны для рассмотрения. Если Вам не ответили, значит по какой-либо причине нет возможности её выполнить.
Альтернативный вариант - обратиться лично к тем, кто может оказать такую услугу

Другие сообщения, не соответствующие назначению темы, будут удалены без предупреждения!

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


Последний раз редактировалось Uncle; 03.02.2020 в 20:07.. Причина: Поправил шапку
Просмотров: 329962
Ответить с цитированием Вверх
Старый 28.04.2021, 11:59   #131
STORM
Пользователь
 
Аватар для STORM
 
Регистрация: 14.08.2008
Сообщений: 68
Сказал(а) спасибо: 29
Поблагодарили 15 раз(а) в 5 сообщениях
Вес репутации: 201
STORM на пути к лучшему
По умолчанию

Добрый день, нужен скрипт конвертация из .dwg, .dxf (Leica 3D Disto) в Базис мебельщик. Спасибо.
STORM вне форума   Ответить с цитированием Вверх
Старый 28.04.2021, 17:38   #132
Slav
Местный
 
Регистрация: 15.05.2012
Адрес: Москва
Сообщений: 259
Сказал(а) спасибо: 43
Поблагодарили 211 раз(а) в 89 сообщениях
Вес репутации: 213
Slav - весьма и весьма положительная личностьSlav - весьма и весьма положительная личностьSlav - весьма и весьма положительная личность
По умолчанию

Возник следующий запрос. Нужно найти и выделить панели 1) торец у которых имеет кромку, прилегающую на 100% к торцу или пласти соседней панели. 2)Найти панели имеющие не облицованные кромкой торцы частично или полностью. Скорее всего скрипты в похожей интерпретации уже где то имеются на форуме.. Но сам не способен боюсь что их переделать под свой запрос..
Slav вне форума   Ответить с цитированием Вверх
Старый 29.04.2021, 15:23   #133
Ovsyanicov
Местный
 
Регистрация: 30.11.2013
Адрес: Кишинев
Сообщений: 734
Сказал(а) спасибо: 1,529
Поблагодарили 884 раз(а) в 376 сообщениях
Вес репутации: 403
Ovsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от Slav Посмотреть сообщение
Коллеги. Нужен скрипт для поиска и выделения панелей с габаритами имеющими дробные окончания размеров. Как такое написать?
Пару лет назад написал такой вариант:
PHP код:
Model.forEachPanel(function(panel){
    
height panel.ContourHeight.toFixed(3);
    
width panel.ContourWidth.toFixed(3);
    if(
height || width 0){
        
//console.log('Поз.' + panel.ArtPos); //раскомментировать, если нужно вывести в консоль позиции
        
panel.Selected true;
    }

}); 
По идее, этот вариант лишен следующего недостатка:
Цитата:
Сообщение от Максим Геннадьевич Посмотреть сообщение
Но помните, что в БМ кол-во знаков после запятой 3, а панель может иметь больше знаков. Т.е панель 720,000 , а на самом деле 720,000008 и скрипт эту панель выделит.
Ovsyanicov вне форума   Ответить с цитированием Вверх
2 пользователя(ей) сказали cпасибо:
potomu4to (29.04.2021), zloichik (29.04.2021)
Старый 02.05.2021, 14:52   #134
Uncle
VIP
 
Аватар для Uncle
 
Регистрация: 31.10.2009
Адрес: Рівне. УкраЇна
Сообщений: 10,580
Сказал(а) спасибо: 14,588
Поблагодарили 20,028 раз(а) в 6,492 сообщениях
Вес репутации: 5259
Uncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспорима
По умолчанию

Есть необходимость в скрипте, заменяющем штатную команду "Удалить историю". Штатная не устраивает тем, что на неё нельзя повесить "горячую" клавишу.
Алгоритм действия скрипта примерно такой :
1. Запускаем скрипт.
2. Скрипт аллертом выводит подтверждение "Удалить историю ?". Для подтверждения нажимаем "Enter". Для отмены - "Escape"
3. Работа скрипта завершена
__________________
Уж лучше беспокойство в сомнении, чем успокоенность в заблуждении. .
(Мандзони Алессандро)
------------------------------------
Троллей не кормлю...
Uncle вне форума   Ответить с цитированием Вверх
Старый 05.05.2021, 01:16   #135
Ovsyanicov
Местный
 
Регистрация: 30.11.2013
Адрес: Кишинев
Сообщений: 734
Сказал(а) спасибо: 1,529
Поблагодарили 884 раз(а) в 376 сообщениях
Вес репутации: 403
Ovsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от Uncle Посмотреть сообщение
Есть необходимость в скрипте, заменяющем штатную команду "Удалить историю". Штатная не устраивает тем, что на неё нельзя повесить "горячую" клавишу.
Алгоритм действия скрипта примерно такой :
1. Запускаем скрипт.
2. Скрипт аллертом выводит подтверждение "Удалить историю ?". Для подтверждения нажимаем "Enter". Для отмены - "Escape"
3. Работа скрипта завершена
http://promebelclub.ru/forum/showthr...761#post507761
Ovsyanicov вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
Uncle (05.05.2021)
Старый 06.05.2021, 14:40   #136
Анатолий.ru
Пользователь
 
Регистрация: 22.07.2014
Адрес: Sochi
Сообщений: 83
Сказал(а) спасибо: 143
Поблагодарили 137 раз(а) в 36 сообщениях
Вес репутации: 154
Анатолий.ru скоро придёт к известностиАнатолий.ru скоро придёт к известности
По умолчанию

Цитата:
Сообщение от Ovsyanicov Посмотреть сообщение
Помогите добавить к скрипту расшифровать модель. Спасибо
Анатолий.ru вне форума   Ответить с цитированием Вверх
Старый 22.06.2021, 15:55   #137
Mullerr
Новичок
 
Регистрация: 28.01.2021
Сообщений: 17
Сказал(а) спасибо: 49
Поблагодарили 2 раз(а) в 2 сообщениях
Вес репутации: 0
Mullerr пока не определено
По умолчанию

Нужен скрипт для БМ8, со следующим алгоритмом работы:
Выделяем блок -> нажимаем скрипт -> внутри блока расставляются позиции деталей 1, 2, 3, 4... по порядку. Внутри каждого выделенного блока нумерация должна начинаться с 1, если до этого присутствовали старые номера деталей, то они удаляются и переставляются заново, детали должны проходить проверку на идентичность (на одинаковые детали внутри блока должен ставится один и тот же номер).
Может кто-нибудь сделать такой скрипт для БМ8 или дать ссылку?
Mullerr вне форума   Ответить с цитированием Вверх
Старый 22.06.2021, 19:31   #138
kos100pudov
Местный
 
Регистрация: 02.11.2015
Сообщений: 490
Сказал(а) спасибо: 105
Поблагодарили 701 раз(а) в 265 сообщениях
Вес репутации: 293
kos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личность
По умолчанию

Цитата:
Сообщение от Mullerr Посмотреть сообщение
Нужен скрипт для БМ8, со следующим алгоритмом работы:
Выделяем блок -> нажимаем скрипт -> внутри блока расставляются позиции деталей 1, 2, 3, 4... по порядку. Внутри каждого выделенного блока нумерация должна начинаться с 1, если до этого присутствовали старые номера деталей, то они удаляются и переставляются заново, детали должны проходить проверку на идентичность (на одинаковые детали внутри блока должен ставится один и тот же номер).
Может кто-нибудь сделать такой скрипт для БМ8 или дать ссылку?
Уточните что должно происходить если блок находится внутри другого блока?

ответа не дождался.

хотите заново расставить позиции внутри выделенного блока, то
var Obj = Model.Selected;
Action.ArrangePositions(0, Obj);


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

далее проходим всю модель циклом forEach - он проходит все элементы модели независимо от иерархии. если рассматриваемый объект является структурным (блок, сборка и т.д.), то для него делаем все что описано выше.

//перебираем структуру
//если объект имеет позицию, то в дальнейшем меняем ее
function NumPos(Group) {
var artpos = {};
var numpos = 0;
for (var i = 0; i < Group.Count; ++i) {
if (Group.Objects[i].ArtPos > 0) {
if (!artpos[Group.Objects[i].ArtPos]) {
++numpos;
artpos[Group.Objects[i].ArtPos] = numpos;
}
}
}
for (var i = 0; i < Model.Count; ++i) {
if (Group.Objects[i].ArtPos > 0) {
Group.Objects[i].ArtPos = artpos[Group.Objects[i].ArtPos];
}
}
}

//расставляем позиции штатным методом базиса
//далее будем смотреть именно на объекты у которых есть позиция
Action.ArrangePositions(0, Model);
//перебор верхнего уровня модели
NumPos(Model);
//перебор всей модели на наличие структурных объектов - блок один из них
//находим стр.объект, перебираем его объекты
Model.forEach(function(Obj) {
if (Obj.List) {
NumPos(Obj);
}
});


корректно работает в БМ11, насчет БМ8 сказать не могу, но думаю все будет норм.

Последний раз редактировалось kos100pudov; 22.06.2021 в 21:11.
kos100pudov вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
Mullerr (23.06.2021)
Старый 23.06.2021, 10:02   #139
Mullerr
Новичок
 
Регистрация: 28.01.2021
Сообщений: 17
Сказал(а) спасибо: 49
Поблагодарили 2 раз(а) в 2 сообщениях
Вес репутации: 0
Mullerr пока не определено
По умолчанию

Цитата:
Сообщение от kos100pudov Посмотреть сообщение
Уточните что должно происходить если блок находится внутри другого блока?
Скрипт должен работать ТОЛЬКО внутри выделенного блока, если внутри выделенного блока находятся блоки, то позиции в них должны расставляться по порядку, т.е. внутри выделенного блока 1, 2, 3... в подблоке ...4, 5, 6.
Mullerr вне форума   Ответить с цитированием Вверх
Старый 23.06.2021, 10:25   #140
kos100pudov
Местный
 
Регистрация: 02.11.2015
Сообщений: 490
Сказал(а) спасибо: 105
Поблагодарили 701 раз(а) в 265 сообщениях
Вес репутации: 293
kos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личность
По умолчанию

Цитата:
Сообщение от Mullerr Посмотреть сообщение
Скрипт должен работать ТОЛЬКО внутри выделенного блока, если внутри выделенного блока находятся блоки, то позиции в них должны расставляться по порядку, т.е. внутри выделенного блока 1, 2, 3... в подблоке ...4, 5, 6.
тогда первый вариант.
второй скрипт (длинный) расставляет позиции внутри каждого блока/подблока.
kos100pudov вне форума   Ответить с цитированием Вверх
Ответ

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


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заявки на фурнитуру, сборки, фрагменты Kudesnick Базис-мебельщик. Элементы фурнитуры и Комплектующих 1394 25.04.2024 16:57
"Мастер скриптов" — изменение скрипта блока в сцене KD ViPeS KitchenDraw (KD) 40 16.10.2023 19:23
Заявки на скрипты dr_john Система БАЗИС 37 01.03.2016 10:36
Генерирую заявки на шкафы за агентское вознаграждение в Москве. mavar Предлагаю работу 26 21.11.2014 16:06


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


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

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