|
|
|
|
|
25.12.2017, 23:12
|
|
Обсуждение готовых скриптов
Letos
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
25.12.2017, 23:12
Рейтинг:
()
Здесь можно обсуждать скрипты из темы Готовые решения для БМ8-2021.
Обратите внимание на полезные ответы в этой теме!
Последний раз редактировалось Uncle; 04.07.2021 в 15:03..
|
Просмотров: 224554
|
21.03.2018, 11:49
|
#11
|
Местный
Регистрация: 18.02.2008
Адрес: Санкт-Петербург
Сообщений: 508
Сказал(а) спасибо: 531
Поблагодарили 401 раз(а) в 127 сообщениях
Вес репутации: 327
|
Цитата:
Сообщение от Letos
Название панелей точно из одних цифр состоит?
|
а вот в чем загвозка, нет , есть наименование панели типа "горизонт".Все остальное верно.
А можно все таки сделать скрипт чтоб выводил информацию по панели поз. и размер ?
__________________
|
|
|
02.06.2018, 21:14
|
#12
|
VIP
Регистрация: 31.10.2009
Адрес: Рівне. УкраЇна
Сообщений: 10,580
Сказал(а) спасибо: 14,588
Поблагодарили 20,026 раз(а) в 6,492 сообщениях
Вес репутации: 5258
|
Цитата:
Сообщение от Letos
Теперь для переименования всех панелей в блоке достаточно выделить блок, а панели внутри него автоматически
|
Скрипт полезный..
Можно ли его немножко доработать? Предложения по усовершенствованию:
1. В наименовании детали после Имени Блока добавить пробел или нижнее подчеркивание.
2. В наименование детали добавлять не Имя Блока а номер позиции блока (если есть). Если нет позиции, то тогда Имя.
Или:
3. Вывести в окно свойств меню настроек в котором предлагать :
3.1 - выбор : что именно добавлять к наименованию детали - Имя Блока или Номер Позиции блока.
3.2 - выбор :
а) - к наименованию детали прибавлять Имя Основного Блока (Или Позицию, в зависимости от выставленных настроек, описанных в пункте 3.1), в который деталь включена вне зависимости от того, находится ли она во вложенном в основной Блок;
б) - прибавлять Имя (Позицию) всех Блоков в иерархии
в) - прибавлять только Имя (Позицию) именно того Блока, в котором находится деталь, не зависимо от иерархии...
Осуществима ли такая задача?
-------------------------------------------------
P.S. С первым пунктом справился сам :
PHP код:
var delimiter = '.' function MakeName(obj) { var owner = obj.Owner; return owner.Name + "_" + obj.Name } function CheckObject(obj) { if (obj.AsPanel) { Undo.Changing(obj); obj.Name = MakeName(obj); }else if (obj.List){ var list = obj.AsList(); for (var i = 0; i < list.Count; i ++){ CheckObject(list[i]); } } }
for (var i = 0; i < Model.SelectionCount; i++) { CheckObject(Model.Selections[i]); }
Ставит вместо точки нижнее подчеркивание между Именем Блока и Именем детали
__________________
Уж лучше беспокойство в сомнении, чем успокоенность в заблуждении. .
(Мандзони Алессандро)
------------------------------------
Троллей не кормлю...
Последний раз редактировалось Uncle; 02.06.2018 в 21:40.
Причина: Выложил изменённый скрипт
|
|
|
Пользователь сказал cпасибо:
|
|
04.06.2018, 10:57
|
#13
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
|
Цитата:
Сообщение от Uncle
Скрипт полезный..
Можно ли его немножко доработать?
|
Сделано:
http://promebelclub.ru/forum/showthr...340#post457340
|
|
|
6 пользователя(ей) сказали cпасибо:
|
|
04.06.2018, 11:31
|
#14
|
Местный
Регистрация: 22.09.2010
Адрес: Россия, г. Санкт-Петербург
Сообщений: 538
Сказал(а) спасибо: 1,084
Поблагодарили 2,184 раз(а) в 436 сообщениях
Вес репутации: 678
|
Цитата:
Сообщение от Letos
Скрипт, который добавляет к имени панели имя блока, в котором она находится.
|
Очень удобное решение!
В качестве усовершенствования, предлагаю, по возможности добавить опцию, добавлять указанную информацию к:
1. имени панели,
либо
2. к позиции панели.
Мы на работе больше ориентируемся на позиции при анализе изделия в производстве, поэтому данный вариант более употребительный был бы для нас.
|
|
|
04.06.2018, 11:55
|
#15
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
|
Цитата:
Сообщение от volunka
Очень удобное решение!
В качестве усовершенствования, предлагаю, по возможности добавить опцию, добавлять указанную информацию к:
1. имени панели,
либо
2. к позиции панели.
|
Обновил сообщение со скриптом. Сам скрипт тоже)
|
|
|
2 пользователя(ей) сказали cпасибо:
|
|
04.06.2018, 12:16
|
#16
|
Местный
Регистрация: 22.09.2010
Адрес: Россия, г. Санкт-Петербург
Сообщений: 538
Сказал(а) спасибо: 1,084
Поблагодарили 2,184 раз(а) в 436 сообщениях
Вес репутации: 678
|
Цитата:
Сообщение от Letos
Обновил сообщение со скриптом. Сам скрипт тоже)
|
Благодарю.
Но заметили ошибку:
при включении опции добавлять информацию к позиции панели, скрипт удаляет текущие позиции, и заменяет их именами панелями.
См. вложения.
|
|
|
Пользователь сказал cпасибо:
|
|
04.06.2018, 13:56
|
#17
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
|
Цитата:
Сообщение от volunka
при включении опции добавлять информацию к позиции панели, скрипт удаляет текущие позиции, и заменяет их именами панелями.
|
Скрипт заменяет позиции изначально. Если нужно добавлять позиции, тогда, думаю, придется настройки расширить, например так:
1. Изменять на выбор - имя или позицию. (эта настройка уже есть)
2. Алгоритм изменения - "Заменить полностью" (как сейчас работает), "Добавить справа", "Добавить слева"
3. (Возможно), при добавлении информации сделать выбор разделителя, которым будут отделяться старая и новая часть.
Этого достаточно, для решения вашей задачи, или я чего-то не учел?
|
|
|
Пользователь сказал cпасибо:
|
|
04.06.2018, 14:19
|
#18
|
Местный
Регистрация: 22.09.2010
Адрес: Россия, г. Санкт-Петербург
Сообщений: 538
Сказал(а) спасибо: 1,084
Поблагодарили 2,184 раз(а) в 436 сообщениях
Вес репутации: 678
|
Цитата:
Сообщение от Letos
Скрипт заменяет позиции изначально. Если нужно добавлять позиции, тогда, думаю, придется настройки расширить, например так:
1. Изменять на выбор - имя или позицию. (эта настройка уже есть)
2. Алгоритм изменения - "Заменить полностью" (как сейчас работает), "Добавить справа", "Добавить слева"
3. (Возможно), при добавлении информации сделать выбор разделителя, которым будут отделяться старая и новая часть.
Этого достаточно, для решения вашей задачи, или я чего-то не учел?
|
Да, для нас достаточно, если бы к уже существующей позиции, добавлялась информация по алгоритму уже существующему, за исключением того, что имя панели уже брать не надо. Т.е. нужно чтобы бралась текущая позиция и к ней пристыковывалась информация о выше лежащих блоках, по настройкам.
Так же как к имени панели добавляются доп. данные исходя из настроек.
Но предложенные дополнительные опции кажутся тоже полезными. Возможно позволит использовать скрипт в новых сферах работы.)
|
|
|
04.06.2018, 21:54
|
#19
|
VIP
Регистрация: 31.10.2009
Адрес: Рівне. УкраЇна
Сообщений: 10,580
Сказал(а) спасибо: 14,588
Поблагодарили 20,026 раз(а) в 6,492 сообщениях
Вес репутации: 5258
|
Цитата:
Сообщение от Letos
Если нашли ошибку...
|
У меня не работает если в пункте меню "Добавлять имя/позицию" указать: "Корневого блока". Не добавляет ни Позицию Блока, ни его Имя.
Добавляет Имя/Позицию только для "Всех блоков в иерархии" или "Блока в который вложен объект"
__________________
Уж лучше беспокойство в сомнении, чем успокоенность в заблуждении. .
(Мандзони Алессандро)
------------------------------------
Троллей не кормлю...
|
|
|
05.06.2018, 10:19
|
#20
|
Местный
Регистрация: 22.09.2010
Адрес: Россия, г. Санкт-Петербург
Сообщений: 538
Сказал(а) спасибо: 1,084
Поблагодарили 2,184 раз(а) в 436 сообщениях
Вес репутации: 678
|
Цитата:
Сообщение от Uncle
У меня не работает если в пункте меню "Добавлять имя/позицию" указать: "Корневого блока". Не добавляет ни Позицию Блока, ни его Имя.
Добавляет Имя/Позицию только для "Всех блоков в иерархии" или "Блока в который вложен объект"
|
А у вас хоть один слой есть в той модели, в которой вы запускаете скрипт?
|
|
|
|
|
|
Нижняя навигация
|
|
Опции темы |
|
Опции просмотра |
Линейный вид
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 15:04. Часовой пояс GMT +3.
|