| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Создание дополнительных параметров Visibility Set в динамических блоках.

Создание дополнительных параметров Visibility Set в динамических блоках.

Ответ
Поиск в этой теме
Непрочитано 13.09.2008, 13:35 5 |
Создание дополнительных параметров Visibility Set в динамических блоках.
Supermax
 
Руководитель фирмы
 
Москва
Регистрация: 28.03.2007
Сообщений: 1,831

В этой теме рассматривается вопрос программного "наращивания" возможностей динамических блоков.
Программистам:
Разбор словарей дин.блока
Получение параметра видимости и его разбор

Примеры блоков с несколькими параметами видимости (Visibility Set): "неправильные" и "правильные".
В посте #212 - пример связи Lookup-ов друг с другом.
Макрос по перемещению свойств в списке свойств блока меню Properties
02.02.2010 Откорректирована для работы в 2010 каде



Пользователям:
Готовые макросы:
Все функции по вставке и обработке дополнительных Visibility Set
Обновление 17.07.2009г. Исправлена ошибка в element-sel-current-insert и добавлено включение видимости всем элементам с откатом назад, после выбора нужных элементов
Обновление 06.10.2009. Исправил функцию eval_graf_output, из-за которой не работала visibility-up.
Обновление 02.02.2010. !!! Откорректирована в связи с появлением нового динамического элемента в 2010 каде
(properties_add_all_visibility) - установка видимости выбранных динамических свойств и ручек во всех представлениях всех Visibility Set-ов.
Добавлен вывод значения текущего Visibility Set-a в статусную строку и спрятаны не нужные глобальные переменные
(element-all-current-del) - удаление из текущего Visibility Set всех элементов оставляя свойства и представления.
(element-sel-current-del) - очищает Visibility Set от указанных элементов без необходимости выключать им видимость в других представлениях текущего Visibility Set-а.
(element-sel-current-insert) - внедрение в общий список текущего Visibility Set-a выбранных элементов.
(Visibility_add) - Добавление нового Visibility Set-a
(visibility-up) - Делает указанный пользователем Visibility Set текущим
(eddedd) - Включает ручки всем элементам текущего Visibility Set-a
(Visibility_clear) - Очищает указанный Visibility Set от всех элементов, параметров и представлений. Принадлежащие ему элементы становятся свободными
Инструкция по применению дополнительных Visibility Set

Функции управления видимостью объектов (вкл\выкл)
Вебмакрос по управлению видимостью объектов (только для тех, у кого Internet Explorer 7.0)
Функция по выключению видимости отдельных элементов блока из пространства модели
#66 и #67 - восстановление видимости отдельных элементов блока.
Excel->Lookup
Lookup->Excel
Lookup->Lookup

Самые последние версии, для работы в любом пространстве.
Программа по массовой установке и снятию видимости элементов в представлениях текущего Visibility Set-a Обновление 8.10.2008г. Устранена ошибка загрузки DCL панели.
Программа по устаноке на параметр Lookup-a сколь угодного количества активаторов
Пример использования связанных активаторов Lookup-a через один параметр Lookup-a. 3D-динамический блок-игрушка Гидроцилиндр телескопический 4-х секционный. Файл обновлен 8.10.2008г.

Все макросы для кнопок и иконки к ним

24.01.2009.
Исправлена ошибка в функции (properties_add_all_visibility)

Исходные тексты к функциям:
http://www.private.peterlink.ru/pole...9/tainypod.htm

Последний раз редактировалось Supermax, 02.02.2010 в 20:26.
Просмотров: 361229
 
Автор темы   Непрочитано 06.10.2008, 13:10
#201
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Убей все Visibility Set.
Набери в ком. строке (command "_BParameter" "Д")

вывалится типа вот этого, но по русски.
Код:
[Выделить все]
Specify parameter location or [Name/Label/Description/Palette]
Скопируй и мне сюда в тему выложи.
Supermax вне форума  
 
Непрочитано 06.10.2008, 13:11
#202
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 474


вместо буквы "V" надо поставить букву "д", причем насколько я знаю неважно заглавную или нет.
вместо буквы "L" - букву "м".
вроде все.
Насколько я понял, name_visibility - ты специально генерируешь заранее (видимо чтоб не совпадало с "Видимость" - стандартное)
point_insert - это тоже точка взятая заранее?
Тогда точно все.

Кстати, а почему ты не делаешь файл типа "*.lsp" ?
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 06.10.2008, 13:12
#203
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 474


ОО, когда написал увидел что Кулик Алексей aka kpblc, написал. Он сделал правильнее! Делай как у него! Я проверил, работает!
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Автор темы   Непрочитано 06.10.2008, 13:43
#204
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Ну ка попробуй вот это:

А по поводу *.lsp, так тут нет тех, кто в этом разбирается (Kpblc не считается) посему и коды не даю. Помогать мне никто не захотел, все дружно заявили, что они дескать чайники и им только результат важен а не процесс.

Последний раз редактировалось Supermax, 08.10.2008 в 10:44.
Supermax вне форума  
 
Автор темы   Непрочитано 06.10.2008, 14:31
#205
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Ну и, работает теперь, или не работает?
Supermax вне форума  
 
Непрочитано 06.10.2008, 14:31
#206
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 474


Уже гораздо лучше! Корявые параметры видимости не создаются! Блок работает!
Все равно есть какой-то маленький косячок.
Про lsp я спросил к тому что пусть чайники, но такие мелочи можно было бы на месте смотреть. Ладно, буду сюда ошибки вываливать

Цитата:
Команда: (visibility_add)
Укажите место расположения Visibility Setд
Неверная точка.
Укажите место расположения Visibility Set_BSAVE
Команда: _BParameter
И еще. Наверное я опять что-то не понимаю. У меня почему-то видимости зависят друг от друга.
Прикладываю файл для наглядности.
Цифры 1-2-3 и 4-5-6 должны переключаться независимо друг от друга. Но когда я переключаю 1-2-3, почему-то появляются все 4-5-6 сразу. И наоборот.
Вложения
Тип файла: dwg
DWG 2004
Копия яя_тренировка2видимости3-3.dwg (34.8 Кб, 2916 просмотров)
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 06.10.2008, 15:01
#207
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 474


Offtop: Все, пора домой... Продолжим завтра. Я уже вторую неделю вместо работы на форуме сижу, аж стыдно!
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Автор темы   Непрочитано 06.10.2008, 15:41
#208
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Volodich, Если вставляешь новый Visibility Set, то в него автоматом попадают все элементы блока. Для этого и сделана функция очистки Visibility Set-a. Я не заню, от куда у тебя лезет эта буква Д.
Ставь нормальный английский автокад.
Supermax вне форума  
 
Автор темы   Непрочитано 06.10.2008, 18:15
#209
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Программа Lookup-дубль-активатор не нужна.

Оказалось, что установка нескольких активаторов на один параметр Lookup-a не совсем обрезана в Автокаде.

Установка дополнительных активаторов дает примерно такие блоки см. пост #212.

И так:
Наведите курсор на значек установки параметра Lookup с активатором в закладке панели динамических свойств, в которой все параметры сразу с активаторами устанавливаются. Нажмите правую кнопку мыши и выберите строку "свойства". Раскроется окно свойств данного элемента.
Наведите курсор на нижнюю строку, в которой указан активатор и нажмите левую кнопку мыши. На строке справа появится значек кнопки выбора. Нажмите на него.
Откроется новая панель со списком активаторов, привязанных к параметру Lookup. Но в списке будет только один активатор.
Нажмите справа кнопку "добавить" и появится в списке еще один активатор. Нажмите "добавить" столько раз, сколько активаторов вам надо.

После этой нехитрой процедуры, при нажатии на элемент Lookup+активатор Автокад будет устанавливать вам параметр Lookup с целой кучей активаторов.

К сожалению, в 2010 каде, а может и в 2011 (не проверял) активаторы, в которых не заполнены таблицы, в редакторе блока не видны (хотя они есть на самом деле) их заполнение пока можно делать в кадах предидущих годов выпуска или попробовать эксель-лукуп.


Последний раз редактировалось Supermax, 14.12.2010 в 22:49.
Supermax вне форума  
 
Непрочитано 06.10.2008, 18:30
#210
Ddjo

архитектор
 
Регистрация: 01.04.2008
СПб
Сообщений: 296


1. Установить Action на задействованный другим Action-ом Lookup-параметр.
2. Скопировать данные из одного Lookup-a в другой Lookup.
3. Переписать данные из указанного Lookup-a в EXCEL.
4. Переписать из файла EXCEL в указанный Lookup данные.
5. Очистить Visibility Set от всех элементов, свойств и представлений.
6. Удалить из текущего Visibility Set-a выбранные объекты (сделать их свободными).
7. Выключить видимость всем элементам.
8. Включить видимость всем элементам.
9. Включить ручки всем элементам текущего Visibility Set-a.
10. Вставить Visibility Set.

Вот, что получилось, пока не все
Изображения
Тип файла: jpg палитра.jpg (7.8 Кб, 745 просмотров)
Ddjo вне форума  
 
Автор темы   Непрочитано 06.10.2008, 20:48
#211
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


По моемому 7 и 8 надо поменять местами.
Но в целом, лично мне:
Обозначение Lookup-a как ручка - не нравится.
Глаз понравился, как идея, но исполнение - нет.
Стырь где-нибудь красивый глаз.
Включение и выключение видимости надо отображать как заход и восход солнца. Со стрелочкой, поясняющей куда это солнце движется.
Очистка Visibility Set-a от всего и удаление выбранных элементов в целом хорошо, если не считать глаза.
Supermax вне форума  
 
Автор темы   Непрочитано 06.10.2008, 23:28 Пример связывания параметров через Lookup
#212
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Вот наваял примерчик использования связанных Lookup-ов. На большее у меня фантазии не хватило.

Данный пример показывает, как изменяя один параметр блока можно автоматически менять другие его параметры.

Файл обновлен 8.10.2008г.
Миниатюры
Нажмите на изображение для увеличения
Название: Картинка для DWG.RU.jpg
Просмотров: 839
Размер:	15.8 Кб
ID:	10881  
Вложения
Тип файла: rar Drawing2.rar (73.7 Кб, 1081 просмотров)

Последний раз редактировалось Supermax, 08.10.2008 в 16:25. Причина: Змена файла более новым.
Supermax вне форума  
 
Непрочитано 07.10.2008, 06:27
#213
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 474


Цитата:
Я не заню, от куда у тебя лезет эта буква Д.
Ставь нормальный английский автокад.
Причем здесь английский автокад? Что, никто больше эту программу не запускал? Или у всех нормально работает? Я ведь не сам эту букву ввожу, откуда-то она появляется...

Ddjo, красотища!
Согласен с Supermax, что 7 и 8 надо поменять местами
Lookup мы же по-моему решили показывать все-таки таблицей. Тем более что рисуночки для кнопок у Supermax'а с таблицей, причем неплохие. Я думаю, что надо что-то такое повторить, желательно даже оставить расположение элементов чтоб не путаться.
Цитата:
Включение и выключение видимости надо отображать как заход и восход солнца. Со стрелочкой, поясняющей куда это солнце движется.
Ага, включение ручек обозначим как синее небо, удаление всех элементов как армагеддон, а удалить выбранные как расстрел!
Глаз действительно оригинальная идея. Только может чтоб понятнее было сделать где-нибудь рядом (или вообще вместо зрачка) синий треугольничек?
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 07.10.2008, 06:56
#214
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 474


Цитата:
Вот наваял примерчик использования связанных Lookup-ов. На большее у меня фантазии не хватило.
Изменяя Distance у тебя автоматически меняется значение Lookup? Это в автокаде так сразу сделано или это тоже ты придумал? Я как-то всегда делал наоборот, выбирая значение lookup меняется distance.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 07.10.2008, 07:49
#215
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 474


Из поста 67:
Цитата:
Только вот публика, по моему, до понимания ее, пока не доросла.
Чтоб понимать, надо что-то делать. Я только сейчас начинаю чуть чуть разбираться что такое свободные элементы, что такое несвободные...
Supermax, ты сделал функцию, которая очищает текущий параметр видимости от всех элементов и делает их свободными. А есть ли у тебя функция, которая делает наоборот, включает выбранные элементы в текущий параметр видимости?
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 07.10.2008, 08:17
#216
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 474


Попытался сделать иконку для move_properties.
Может у кого-то есть лучше?
Вложения
Тип файла: rar move_properties.rar (227 байт, 162 просмотров)
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Автор темы   Непрочитано 07.10.2008, 09:32
#217
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Цитата:
Supermax, ты сделал функцию, которая очищает текущий параметр видимости от всех элементов и делает их свободными. А есть ли у тебя функция, которая делает наоборот, включает выбранные элементы в текущий параметр видимости?
Я уже где-то тут писал, да вот и сам найти не могу. Проще по новой написать.
Пока такой функции нет. Функций надо еще ого-го сколько!
Но тут есть простое решение. Макросом Kpblc-a или моим вебмакросом (в первом посте я дал на него ссылку). Включаешь видимость всем элементам блока. Выделяешь нужные тебе желементы и копируешь в буфер с указанием точки вставки. Точку вставки выбираешь такую, чтобы она не принадлежала выделенным элементам, поскольку как только ты их в буфер запишешь, тебе надо их, пока они еще выделены - удалить. Все, в блоке уже нет этих элементов, но они остались в буфере. Нажимаешь правую кнопку мыши и давишь Paste курсором тыкаешь в ту точку вставки, в которую ты тыкал, когда заносил элементы в буфер. Все, элементы установлены на то же место, только теперь это текущий Visibility Set и его текущее представление.

Последний раз редактировалось Supermax, 07.10.2008 в 10:27.
Supermax вне форума  
 
Непрочитано 07.10.2008, 11:46
#218
Ddjo

архитектор
 
Регистрация: 01.04.2008
СПб
Сообщений: 296


Цитата:
7 и 8 надо поменять местами
Это ошибка по запарке
Внесу исправления по вашим замечаниям
Ddjo вне форума  
 
Непрочитано 07.10.2008, 12:33
#219
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 474


Supermax, как будет время, не поленись, напиши инструкцию! Потому что вряд ли только один я не пойму как что нужно делать.

Цитата:
Макросом Kpblc-a или моим вебмакросом (в первом посте я дал на него ссылку). Включаешь видимость всем элементам блока.
[b]
Вот и нашлось применение программе Kpblc-a! А вообще тут как-то об этом шел разговор, что разным параметрам видимости должны принадледлежать разные элементы, поэтому в принципе если они отключены, значит уже принадлежат какому-то параметру видимости. Значит мы их не будем вставлять в другой параметр. Так что не видно ну и ладно.
Кстати, никто мне толком так и не объяснил, для каких целей используется программа kpblc-objects-hide.lsp. Написали только что она делает. Это-то я тоже понимаю! Но в каких целях это можно использовать?
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 07.10.2008, 12:36
#220
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 474


Supermax, сделал блок по инструкции из поста 217. Все работает! Здорово!
Молодец! Спасибо тебе за проделанную работу! Результаты уже налицо. Конечно, как ты сам сказал, еще кучу доработок надо делать, но по крайней мере работать уже можно!
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Создание дополнительных параметров Visibility Set в динамических блоках.

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как с помощью vba начертить линию vasyavip Программирование 77 09.10.2008 23:17
Femap и VBA Makson Программирование 11 05.08.2008 14:54
Создание списка чертежей из Sheet Set Manager krokh AutoCAD 2 20.06.2008 16:46