|
|
|
|
|
25.12.2017, 23:12
|
|
Обсуждение готовых скриптов
Letos
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,033 раз(а) в 367 сообщениях
25.12.2017, 23:12
Рейтинг:
()
Здесь можно обсуждать скрипты из темы Готовые решения для БМ8-2021.
Обратите внимание на полезные ответы в этой теме!
Последний раз редактировалось Uncle; 04.07.2021 в 15:03..
|
Просмотров: 227455
|
17.06.2021, 12:34
|
#171
|
VIP
Регистрация: 18.01.2008
Сообщений: 1,047
Сказал(а) спасибо: 2,864
Поблагодарили 1,853 раз(а) в 435 сообщениях
Вес репутации: 696
|
Вообще-то это неправильно - работать через скрипт. Лучше работать через смету. Не обязательно задавать операции для каждого материала. Можно операцию сверловка определенного отверстия задать группе материалов. Она будет подхватываться для всех материалов в группе и если в группу вы добавите новые материалы, то и для них все будет считаться.
А если хотите использовать скрипт, то он во вложении. Набросал на скорую руку. Камнями и помидорами в меня не бросайте.
|
|
|
4 пользователя(ей) сказали cпасибо:
|
|
17.06.2021, 21:59
|
#172
|
Местный
Регистрация: 02.11.2015
Сообщений: 490
Сказал(а) спасибо: 105
Поблагодарили 701 раз(а) в 265 сообщениях
Вес репутации: 293
|
Цитата:
Сообщение от Dima1313
так и делал изначально, но в таком случае поставил я например отверстие 12мм, а его нет в базе операций, и оно не посчиталось, а я даже не узнаю об этом..., или например материал какой то использовал, а все эти сопутствия к нему не забиты и тоже все не посчиталось, и опять об этом не узнаешь..., + я выложил пример ящика где некорректно считаются отверстия в таком режиме.
Скрипт мне кажется был бы самым оптимальным решением. Данные об отверстиях же в модели все есть раз они прописываются в таблице на чертежах.
|
Отверстие 12мм и не должно быть в базе. Вы создаёте нематериал/фурнитуру, а параметр для расчёта операции. Там вы можете указать любое значение отверстия и потом использовать этот параметр, для расчёта операции.
Насчёт скрипта - в смете можно прописать скрипт, но, для расчёта все равно придётся добавить кучу операций, каждая соответствует определённому отверстия, скрипт в смете работает просто на подсчёт чего то одного, допустим считаем только отверстия диам.5, а чтоб посчитать отверстия диам.7, нужна своя операция со своим пользовательские параметром, со своим скриптом в котором считаются только отверстия диам.7.
Можно скрипт в мебельщике, но он сложнее, так как на уровне мебельщика, чтоб понять принадлежит ли отверстия определённой панели, нужно делать сложные расчпты через координаты в пространстве, если кто то из участников находится в блоках, то расчёты через координаты блоков и т.д. И в конце возникнет вопрос, получили отверстия, а как их в смету то передать, скрипты в смете и в мебельщике это разные государства))
1.использовать штантныйфункционал сметы, можете кинуть краткий пример, я вам состряпаю маленькую базу для примера.
2.скрипты в базе, в принципе по сложности и трудозатраты подобно первому варианту, но первый точнее, т.к. скрипты все же иногда глючат, да и чтоб понять откуда что появилось, нужно заходить в редактирование скрипта параметра, короче сложнее, а результат тот же.
У меня в базе через отверстия назначаются заглушки, нужного цвета, на нужный материал, собаку как говорится надкусил))
|
|
|
2 пользователя(ей) сказали cпасибо:
|
|
18.06.2021, 09:27
|
#173
|
Местный
Регистрация: 16.06.2008
Адрес: Подольск Мск Обл
Сообщений: 686
Сказал(а) спасибо: 1,487
Поблагодарили 801 раз(а) в 237 сообщениях
Вес репутации: 422
|
Цитата:
Сообщение от zorro
Вообще-то это неправильно - работать через скрипт. Лучше работать через смету. Не обязательно задавать операции для каждого материала. Можно операцию сверловка определенного отверстия задать группе материалов. Она будет подхватываться для всех материалов в группе и если в группу вы добавите новые материалы, то и для них все будет считаться.
А если хотите использовать скрипт, то он во вложении. Набросал на скорую руку. Камнями и помидорами в меня не бросайте.
|
Спасибо большое! То что надо! Все Просто и быстро! большего мне пока не надо, ну разве что вывод инфы так чтобы можно скопировать список в буфер, но и так отлично. Давайте переведу 1000р. на что-нибудь к чаю, напишите пжл в личку номер карты.
|
|
|
Пользователь сказал cпасибо:
|
|
18.06.2021, 17:46
|
#174
|
VIP
Регистрация: 18.01.2008
Сообщений: 1,047
Сказал(а) спасибо: 2,864
Поблагодарили 1,853 раз(а) в 435 сообщениях
Вес репутации: 696
|
Не надо благодарить. Как сейчас пишут - пусть это будет плюс к моей карме.
Дополнил скрипт сохранением в текстовый файл.
Открыв этот файл в блокноте или где угодно можно выделить и скопировать в буфер. Дальше ваши фантазии...
|
|
|
7 пользователя(ей) сказали cпасибо:
|
|
26.06.2021, 21:21
|
#175
|
Местный
Регистрация: 15.10.2019
Адрес: Кишинёв
Сообщений: 198
Сказал(а) спасибо: 492
Поблагодарили 72 раз(а) в 31 сообщениях
Вес репутации: 89
|
Цитата:
Сообщение от Uncle
У меня работает и "напрямую"
|
очень странно
Добавлено через 9 минут
Здесь на форуме совместил пару вариации на тему Action кнопки (общий запуск анимации), собрал воедино. Работает, но при использовании в больших проектах кухни, выдаёт ошибку непонятного мне характера
может кто-то поможет разобраться?
Цитата:
var blocks = [];
function MakeProps() {
var props = Action.Properties;
for (var i = 0; i < blocks.length; i++) {
var block = blocks[i];
var b = props.NewButton(block.Name);
b.Tag = i;
b.OnClick = function (btn) {
var bl = blocks[btn.Tag];
if (bl._anim)
bl.AnimateTo(0);
else
bl.AnimateTo(1);
bl._anim = ! bl._anim;
}
};
}
/**
* @param {List3D} list
*/
function AddToAnimlist(list) {
for (var i = 0; i < list.Count; i++) {
if (list.Objects[i].List) {
AddToAnimlist(list.Objects[i]);
var bl = list.Objects[i];
bl.AnimateTo(1);
bl.AnimateTo(0);
}
}
}
AddToAnimlist(Model);
MakeProps()
Action.Continue();
|
пишет ошибку 27 - Type ERROR: bl. AnimateTo is not a function
|
|
|
28.06.2021, 11:15
|
#176
|
Местный
Регистрация: 30.11.2013
Адрес: Кишинев
Сообщений: 734
Сказал(а) спасибо: 1,529
Поблагодарили 884 раз(а) в 376 сообщениях
Вес репутации: 403
|
Цитата:
Сообщение от PravCom
Работает, но при использовании в больших проектах кухни, выдаёт ошибку непонятного мне характера
|
У меня не получилось повторить появление ошибки. Скиньте модель на которой у Вас появилась ошибка.
Версия БМ какая?
|
|
|
28.06.2021, 19:46
|
#177
|
Местный
Регистрация: 15.10.2019
Адрес: Кишинёв
Сообщений: 198
Сказал(а) спасибо: 492
Поблагодарили 72 раз(а) в 31 сообщениях
Вес репутации: 89
|
Цитата:
Сообщение от Ovsyanicov
У меня не получилось повторить появление ошибки.
|
Версия БМ 2021.5.2
https://disk.yandex.md/d/W9IJqKFN5OLmPA
|
|
|
29.06.2021, 12:00
|
#178
|
Местный
Регистрация: 30.11.2013
Адрес: Кишинев
Сообщений: 734
Сказал(а) спасибо: 1,529
Поблагодарили 884 раз(а) в 376 сообщениях
Вес репутации: 403
|
Цитата:
Сообщение от PravCom
|
Загвоздка в том, что у Вас в модели есть слои, а в коде скрипта это не предусмотрено.
|
|
|
Пользователь сказал cпасибо:
|
|
29.06.2021, 12:41
|
#179
|
Местный
Регистрация: 15.10.2019
Адрес: Кишинёв
Сообщений: 198
Сказал(а) спасибо: 492
Поблагодарили 72 раз(а) в 31 сообщениях
Вес репутации: 89
|
Цитата:
Сообщение от Ovsyanicov
Загвоздка в том, что у Вас в модели есть слои, а в коде скрипта это не предусмотрено.
|
проверил. Вы абсолютно правы!
большое спасибо за ответ! я так понимаю, чтобы обойти слои, нужен ещё километровый код?
|
|
|
29.06.2021, 13:26
|
#180
|
Местный
Регистрация: 30.11.2013
Адрес: Кишинев
Сообщений: 734
Сказал(а) спасибо: 1,529
Поблагодарили 884 раз(а) в 376 сообщениях
Вес репутации: 403
|
Цитата:
Сообщение от PravCom
я так понимаю, чтобы обойти слои, нужен ещё километровый код?
|
Отнюдь! Попробую выкроить время и накидать обход слоёв.
|
|
|
|
|
|
Нижняя навигация
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 15:50. Часовой пояс GMT +3.
|