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

Вернуться   Форум 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.
Просмотров: 361232
 
Непрочитано 02.10.2008, 15:18
#121
stas_org


 
Регистрация: 05.04.2007
Самара
Сообщений: 1,199


Могу скинуть крякнутую прогу по созданию иконок, если kpblc даст добро, а вот с фантазией не очень, если архитектора какого-нить.
stas_org вне форума  
 
Непрочитано 02.10.2008, 15:27
#122
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,772


stas_org, а правила одинаковы для всех. Так что "одобрямс" не будет.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 02.10.2008, 15:42
#123
Supermax

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


Ну, сжимется все прекрасно Paint-ом. Только вот остается совсем немного. Узнать то, что Kpblc дал, невозможно.
Изображения
 
Supermax вне форума  
 
Непрочитано 02.10.2008, 15:44
#124
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,772


Это точно )
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 02.10.2008, 19:50
#125
SLADE

проектировщик-новобранец
 
Регистрация: 14.09.2005
Minsk
Сообщений: 324


11. Переписать данные из указанного Lookup-a в EXCEL.
12. Переписать из файла EXCEL в указанный Lookup данные.
13. Скопировать данные из одного Lookup-a в другой Lookup.

Использую их, как только выложили эти лиспы
Изображения
   
SLADE вне форума  
 
Автор темы   Непрочитано 02.10.2008, 20:32
#126
Supermax

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


Вот сам наваял Excel->Lookup.
К сожалению файл BMP и такой маленький, что при переводе в jpg, J.P.G и получается.
Изображения
Тип файла: tif Excel-Lookup.TIF (618 байт, 180 просмотров)
Вложения
Тип файла: rar Excel-Lookup.rar (440 байт, 188 просмотров)

Последний раз редактировалось Supermax, 02.10.2008 в 20:57.
Supermax вне форума  
 
Автор темы   Непрочитано 02.10.2008, 20:39
#127
Supermax

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


Макрос Exel->Lookup для пространства редактора блоков.
Никаких папок не требуется.
Код открытый.
Вложения
Тип файла: rar Excel-Lookup Block.rar (3.7 Кб, 225 просмотров)
Supermax вне форума  
 
Автор темы   Непрочитано 02.10.2008, 20:53
#128
Supermax

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


Аналогичная картинка на Lookup->Excel
Тоже BMP.
Изображения
Тип файла: tif Lookup-Excel.TIF (632 байт, 173 просмотров)
Вложения
Тип файла: rar Lookup-Excel.rar (444 байт, 215 просмотров)

Последний раз редактировалось Supermax, 02.10.2008 в 21:02.
Supermax вне форума  
 
Автор темы   Непрочитано 02.10.2008, 21:06
#129
Supermax

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


Ну и Lookup->Lookup.
Изображения
Тип файла: tif Lookup-Lookup.TIF (616 байт, 176 просмотров)
Вложения
Тип файла: rar Lookup-Lookup.rar (410 байт, 186 просмотров)
Supermax вне форума  
 
Автор темы   Непрочитано 02.10.2008, 21:19
#130
Supermax

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


Макрос Lookup->Excel для пространства редактора блоков.
Папки не требуются.
Вложения
Тип файла: rar Lookup-Excel Block.rar (3.5 Кб, 182 просмотров)
Supermax вне форума  
 
Автор темы   Непрочитано 02.10.2008, 21:30
#131
Supermax

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


Макрос Lookup->Lookup для пространства редактора блоков.
Вложения
Тип файла: rar Lookup-Lookup Block.rar (1.9 Кб, 201 просмотров)
Supermax вне форума  
 
Непрочитано 02.10.2008, 21:50
#132
Ddjo

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


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


Единственное, я не очень понимаю, что означает:
Цитата:
15. Скопировать указанные элементы текущего Visibility Set в выбранные представления текущего Visibility Set.
что есть "элементы" и что есть "представления"?
Динамические блоки - весьма слабо изученая мною область, к сожалению

Последний раз редактировалось Ddjo, 02.10.2008 в 22:16.
Ddjo вне форума  
 
Автор темы   Непрочитано 02.10.2008, 23:19
#133
Supermax

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


Спасибо за сочувствие.

Элементы, это имеется в виду графические, текстовые элементы и атрибуты. То, что объеденено в блок.
Visibility Set - это такой динамический объект (параметр + активатор), который позволяет управлять видимостью элементов блока. В блоке создается что-то типа слоев (Visibility State или по русски - представлений) и все элементы раскидываются по этим слоям. В редакторе блоков в правом верхнем углу выпадающий список этих представлений и кнопки для управления ими и видимостью элементов.
Переключая одно представление на другое мы одни объекты выключаем, другие включаем.

Установив в редакторе какое-нибудь представление мы можем в него добавить элементы, но чтобы их было видно в других представлениях надо по очереди открывать эти представления и включив "серую" видимость (когда видны все элементы блока), указав на нужные элементы включить им видимость в текущем представлении.
Если элементов много, и представлений много, то эта работа не для слабонервных. А с помощью макроса выделяем группу элементов, вызываем список (в макросе) представлений, выделяем через Ctrl или шифт нужные представления и машина сама эти элементы делает в них видимыми.

Вся эта возня с включением видимости одним элементам и выключением видимости другим элементам очень сильно взаимозависима. Нельзя (было) управлять видимостью одного элемента не трогая видимость других. Теперь можно. Теперь все элементы могут быть либо свободными, то есть не участвующие в процессе управления видимостью, либо входить в группы, каждаяиз которых управляется своим параметром Visibility Set. В каждом Visibility set свои слои - представления.

Вообще-то в Автокаде нет ни одной кнопки для управления видимостью. только несколько человек удосужилось написать макрос для этих целей.
Я даже вебмакрос для этого сделал. Очень мало народу знает, что выключить видимость элементу можно не перенося его в какой-то слой для этого, а просто так, взять и выключить.
Вот геоподосновы видали? там ничего нельзя из слоя в слой переносить, а работать порою просто невозможно, столько всего друг на друге лежит. Выключишь весь слой, то и в нужном месте все исчезнет. А так можно только часть элементов погасить. Нажатием кнопки "включить все" все и включится.

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

В динамическом блоке управляя видимостью можно менять одну графику на другую (образно). На самом деле там обе графики одна на другой лежит, просто переключая представление мы видим то одно, то другое.
Supermax вне форума  
 
Непрочитано 02.10.2008, 23:54
#134
Ddjo

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


Я правильно понимаю:

Цитата:
15. Скопировать указанные элементы текущего Visibility Set в выбранные представления текущего Visibility Set.
К примеру:
к одному Visibility Set относятся круг, квадрат и треугольник
в этом Visibility Set есть ряд "представлений", скажем :
все видны - при этом видны все фигуры
треугольник - при этом виден тольк отреугольник
квадрат -виден только квадрат
итд

Элементы из одного Visibility Set копируются в другой Visibility Set при этом с возможностью их отнести их к определенному "представлению"?
Ddjo вне форума  
 
Автор темы   Непрочитано 03.10.2008, 00:31
#135
Supermax

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


Нет не правильно. Разве я писал другим Visibility Set-ам?

Вот ты открыл редактором блока блок. И попал в первое по списку представление первого Visibility Set-a. Ты можешь перейти в другое представление этого же Visibility Set-a, в третье и т.д. Можешь создать еще несколько представлений, но все равно ты всегда находишся только в одном из них.
Вот небыло у тебя в этом блоке каких-то элементов, но блок уже создан и в каждом Visibility Set-e уже создано до черта представлений. Тебе надо вставить в блок какие-то новые детали. Куда спрашивается? в один из Visibility set-ов или вставить их и "освободить от зависимости".
Ты делаешь текущим тот Visibility set, куда намерен вставлять эти элементы и вставляешь, НО только в одно из его представлений, которых может быть больше сотни! Элементы, что ты вставил в 20 из них должны быть видны, в 50 не видны, а в 30 какие-то видны, а какие-то не видны. Ты сейчас обречен их по очереди открывать и устанавливать видимость каждому из вновь вставленых в блок элементов.

Спрашивается зачем это делать? Элемент выделили? - Да. Так надо указать сразу целый список представлений и туда эти выделенные элементы прописать. А не открывать каждое и там каждый раз выделять элементы.

Конечно можно и нужно перебрасывать или копировать элементы из одной группы Visibility Set в другую, но чисто технически это выглядит несколько иначе. Если элемент принадлежит какой-тогруппе, то его присутствие в другой очень маловероятно нужно. Только в очень редких случаях это может понадобится. (я даже не знаю в каких). А так, либо там, либо сям. От туда убрали, туда вставили. Что значит убрали? - Просто стерли указатели на эти элементы в Visibility Set-e. Элементы стали свободными. Их можно прописать в какой-нибудь Visibility Set, но как правило не только это надо, поэтому это лучше делать, когда Visibility Set является текущим.

Сделал Visibility set текущим, подсветил свободные элементы и нажал кнопку, после чего они стали принадлежать текущему Visibility Set-у.
Но это уже не пункт 15. Это уже совсем другое.
Supermax вне форума  
 
Непрочитано 03.10.2008, 03:29
#136
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Supermax, устрой голосование в шапке темы типа:
"Вам нужны динамические блоки, с множеством параметров видимости?"
Сразу будет видно, нужно это или нет. А то может ты зря на людей ругаешься?
Я напримет только изредка заглядываю в твою тему, т.к. пока особых перспектив не вижу. То что можно было сделать дин. блоком - сделано с базовыми возможностями. Дальнейшее усложнение создания д.блоков отметет львиную долю любителей этих самых д. блоков. ЯТД.
Посмотри какие вопросы задаются на форуме по дин блокам? Элементарные.
Несмотря на их(блоков) относительную простоту - вникнуть сразу, с 0 довольно трудно. Мне кажется Autodesk не зря оставил 1 параметр видимости.
Но это так мысли вслух. Возможно я и неправ. Время покажет
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 03.10.2008, 06:17
#137
Volodich

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


Supermax, ты конкурс объявил вчера в обед и хочешь чтобы картинки сразу пачками полетели! Подожди немного, дай народу время.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 03.10.2008, 06:49
#138
Volodich

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


wetr, может быть ты в чем-то прав. По крайней мере в том что мало кто пользуется динамическими блоками, причем действительно сложными блоками. Эти люди в эту тему и заглядывают Я не так давно стал с дблоками разбираться, но мне уже не хватает одного параметра видимости. Да ладно, тут об этом (и не только тут) много писали. Из-за этого приходится "делать операцию на глаза через задницу", так я могу назвать блоки которые делаю я и которые делают другие. Иногда решения удивляют своей красотой, но все равно это все через одно место, т.к. нет прямых путей...
Это тоже мысли вслух
Кстати, Supermax, я чуть чуть подумал над твоими картинками. Это будет довольно сложно... Даже названия-то у кнопок сложные (не все сразу понимают смысл ), а как их в карнитку превратить, надо думать.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 03.10.2008, 09:03
#139
Volodich

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


Художник из меня никакой, но попытка не пытка.

Вот, пожалуйста, в качестве идеи для начала:
1. Вставить Visibility Set. (insert_visibility.BMP)
2. Очистить Visibility Set от всех элементов, свойств и представлений. (clean_visibility.BMP)
3. Включить ручки всем элементам текущего Visibility Set-a. (grips_on.BMP)
4. Выключить видимость всем элементам. (visibility_off_all.BMP)
5. Включить видимость всем элементам. (visibility_on_all.BMP)
6. Выключить видимость выбранным элементам. (visibility_off_selected.BMP)
7. Выключить видимость всем элементам, кроме выбранных. (visibility_off_all_Except_selected.BMP)

Всякие тени и т.п. по-моему делать бесполезно из-за малости картинки. Хотя может у кого-нибудь получится.

Если хоть что-то понравится, попробую нарисовать картинки и на остальные функции.
Вложения
Тип файла: rar visibility.rar (1.2 Кб, 196 просмотров)
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Автор темы   Непрочитано 03.10.2008, 09:27
#140
Supermax

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


Посмотрел. Ты прав. Художник ты не ахти. Как в прочем и я.
Буквы тулить не фонтан. Ручку активированного параметра ты изобразил правильно, но она ведь для любых параметров такая. Совсем не ассоциируется с Visibility.
А мои иконки хоть кому-то понравились?
Про тени ты тоже не прав. Именно из-за теней иконка смотрится издалека понятно. Как только начинаешь ее рассматривать увеличено, так ничего не понимаешь. Как уменьшишь, так сразу все становится понятным. Законы оптики
Supermax вне форума  
Ответ
Вернуться   Форум 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