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

Вернуться   Форум 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.
Просмотров: 362907
 
Непрочитано 06.11.2008, 19:51
#321
Ddjo

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


Цитата:
Можно сделать функцию и высвечивать имя, но это мне кажеться лишнее.
все же, было бы проще, если текущий Visibility Set как-нибудь отображался
Цитата:
пишите название вызываемой функции так, как она мною названа
функция Move-to-visibilityset. В файле 9 объектов, кружки , квадраты и три Visibility Set, каждый из кот. имеет по 3 представления. Начинаю распределять объекты по представлениям и Visibility Set'ам, они отлично распределяются..., только когда жмешь "ок" все зависает намертво
Ddjo на форуме  
 
Автор темы   Непрочитано 06.11.2008, 19:59
#322
Supermax

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


Я думал над этим, но влезть редактор блоков невозможно, свой редактор сваять- сложно, а немодальное окно повесить в принципе не сложно, но тут народ никак не определится с выбором способа. На VBA можно немодальное окно сделать и тогда все будет ОК.
Открой новую тему и попытайся достучаться до VBA-шников, может кто-нибудь откликнится. В принципе не сложно, но врядли кто-то еще жив. Народ угас в своем интузиазме. И я гасну потихоньку.
Supermax вне форума  
 
Непрочитано 07.11.2008, 06:50
#323
Volodich

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


Народ не угас, народ решил отвлечься и поработать!
Я с разбором дин блоков работу запустил, сейчас пытаюсь наверстать.

По поводу текущего visibility set. Ddjo, есть же функция, включающая ручки всем элементам текущего параметра видимости. Я ее использую, т.к. я знаю какие элементы какому параметру видимости принадлежат. А если не уверен, так есть же функция для установки любого параметра видимости текущим.
Supermax, а сложно сделать фунцию, которая выделяет ручку текущему параметру видимости выделяет?
И еще, не хватает очень фунции, которая все свойства делает видимыми во всех представлениях всех параметров видимости...

А вообще все уже сделано на отличном уровне, вполне можно работать.
Жаль только что штриховку нельзя использовать, без нее половину блоков не сделать...
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 07.11.2008, 07:01
#324
Volodich

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


Цитата:
Сообщение от Ddjo Посмотреть сообщение
функция Move-to-visibilityset. В файле 9 объектов, кружки , квадраты и три Visibility Set, каждый из кот. имеет по 3 представления. Начинаю распределять объекты по представлениям и Visibility Set'ам, они отлично распределяются..., только когда жмешь "ок" все зависает намертво
Может быть дело вот в чем. Разберись в какие параметры видимости у тебя вставлены объекты. Распределять объекты по параметрам видимости нужно с помощью других функций:
element-sel-current-del - удалить из текущего параметра видимости выбранные элементы (для частичного удаления),
либо
element-all-current-del - удалить из текущего параметра видимости все элементы, оставляя свойства и представления (для полного удаления).

element-sel-current-insert - добавить выбранные элементы в текущий параметр видимости.

А уже после этого можно запускать Move-to-visibilityset и устанавливать там видимость элементов.
Но можно сделать и проще. Эта программа нужна, когда много элементов, много представлений... А если твой случай - 9 элементов и 3 представления, дак просто выбирай вручную нужное представление и вручную включай / выключай видимость элементам.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 07.11.2008, 07:10
#325
wetr

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


Цитата:
Жаль только что штриховку нельзя использовать, без нее половину блоков не сделать...
Попробуй ACAD2009 SP2 - вроде стало работать корректней
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 07.11.2008, 07:17
#326
Volodich

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


Цитата:
Сообщение от wetr Посмотреть сообщение
Попробуй ACAD2009 SP2 - вроде стало работать корректней
Ты пробовал делать блоки с несколькими параметрами видимости и штриховкой в акаде 2009м ?? Меня Supermax напугал что все виснет, я даже не пытался Да и у меня нету 9го када.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Автор темы   Непрочитано 07.11.2008, 09:47
#327
Supermax

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


Что-то вы по верхам читаете, господа. Я написал, что штриховку надо вставлять в самую последнюю очередь, поскольку она уже не дает добавлять Visibility Set и вообще, редактировать словари.
Я как-нибудь еще с ней поэксперементирую. Чую, что не все словари она блокирует.
Supermax вне форума  
 
Непрочитано 07.11.2008, 09:52
#328
Volodich

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


Ну тогда это не так страшно!
Лень сейчас искать цитаты, но по-моему ты писал, что штриховка "все вешает".
Ну да неважно, я потом тоже как-нибудь поэксперементирую по вставке штриховки.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Автор темы   Непрочитано 07.11.2008, 10:55
#329
Supermax

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


Вот тот пост, в котором я про ошибку писал. Там нет слов "виснет".
http://forum.dwg.ru/showpost.php?p=296223&postcount=289

А вот про штриховку:
http://forum.dwg.ru/showpost.php?p=296260&postcount=291
Supermax вне форума  
 
Непрочитано 07.11.2008, 11:47
#330
Ddjo

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


Volodich

Цитата:
Распределять объекты по параметрам видимости нужно с помощью других функций:
Наверное, все дело в этом...

Цитата:
А если твой случай - 9 элементов и 3 представления, дак просто выбирай вручную нужное представление и вручную включай / выключай видимость элементам.
так я просто делаю, чтобы разобраться, если работает на трех, то и на 33 должно работать. Хочу понять, что возможно сделать с помощью всех функций....

Цитата:
есть же функция, включающая ручки всем элементам текущего параметра видимости
с ней у меня что-то дело не пошло..

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

Supermax
Цитата:
Открой новую тему и попытайся достучаться до VBA-шников, может кто-нибудь откликнится
Я бы может, и открыла бы, да, поскольку в программировании ни в зуб ногой, будет тяжело объяснить, чего я от них хочу, а особенно трудно будет понять, что мне отвечают))

to all
я вконец запуталась с макросами и кнопками...
составила список кнопок и макросов на них, на некоторые кнопкине могу понять, какие должны быть макросы.., в связи с этим, у меня огромная просьба помочь мне добавить недостающие макросы...
Миниатюры
Нажмите на изображение для увеличения
Название: 2.jpg
Просмотров: 211
Размер:	58.8 Кб
ID:	11961  
Вложения
Тип файла: doc кнопки_макросы.doc (43.5 Кб, 160 просмотров)

Последний раз редактировалось Ddjo, 07.11.2008 в 15:26.
Ddjo на форуме  
 
Непрочитано 07.11.2008, 13:17
#331
Volodich

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


без всякого файла:
9. Включить ручки всем элементам текущего Visibility Set-a.
Макрос: ^C^C(load "Visibility-ADD2.fas") (eddedd)
5, 12, 13, 14, 15: ^C^C(load "Move-to-visibilityset.fas")
(я эту кнопку назвал "массовая видимость")

Не хватает:
16. Удаление из текущего Visibility Set всех элементов ОСТАВЛЯЯ свойства и представления
Макрос: ^C^C(load "Visibility-ADD2.fas") (element-all-current-del)

Есть еще 3 функции, не совсем относящиеся к видимости, но иногда полезные:
1. Показать все элементы
Макрос: ^C^C(load "kpblc-objects-hide.lsp") (kpblc-objects-hide 0)
2. Скрыть выделенные элементы
Макрос: ^C^C(load "kpblc-objects-hide.lsp") (kpblc-objects-hide 1)
3. Скрыть все, кроме выделенных
Макрос: ^C^C(load "kpblc-objects-hide.lsp") (kpblc-objects-hide 2)

Я тут долго добивался для чего они нужны, но надо просто пощелкать и понять как они работают и иногда пользоваться. Например, можно сразу все объекты увидеть в блоке.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 07.11.2008, 13:44
#332
Ddjo

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


Volodich
Огромное спасибо!!! Становится все понятнее, Ваши пояснения и помощь меня очень выручают

Цитата:
сть еще 3 функции, не совсем относящиеся к видимости, но иногда полезные:
1. Показать все элементы
Макрос: ^C^C(load "kpblc-objects-hide.lsp") (kpblc-objects-hide 0)
2. Скрыть выделенные элементы
Макрос: ^C^C(load "kpblc-objects-hide.lsp") (kpblc-objects-hide 1)
3. Скрыть все, кроме выделенных
Макрос: ^C^C(load "kpblc-objects-hide.lsp") (kpblc-objects-hide 2)
Наверное, надо на них тоже кнопок понарисовать? Чтобы уж все были...

Последний раз редактировалось Ddjo, 07.11.2008 в 13:53.
Ddjo на форуме  
 
Автор темы   Непрочитано 07.11.2008, 14:41
#333
Supermax

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


Цитата:
Я бы может, и открыла бы, да, поскольку в программировании ни в зуб ногой, будет тяжело объяснить, чего я от них хочу, а особенно трудно будет понять, что мне отвечают
Да ты только открой и туда поналезет советчиков целая куча (и я в том числе). Они будут друг с другом переругиваться, а ты в стороночке постой и подожди, пока результат будет. Если бы ты что-то знала, или умела, то и не писала бы, а так, пиши "Нужно немодальное окно для редактора блоков, показывающее текущий Visibility Set" и дальше все твои объяснения, которые ты тут написала. Результат будет файл макроса, который мы потом присовокупим к уже имеющимся.

Вы вебмакрос попробуйте. Там можно выбирать из всех выкллюченных объектов по типу объекта, цвету и пр. и включать ручки к примеру.
Supermax вне форума  
 
Автор темы   Непрочитано 07.11.2008, 14:47
#334
Supermax

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


Дык, Ddjo ты ж уже сделала иконки на эти три функции Kpblc-а 12, 14, 15. вот 13 надо макросом Владимира Света делать. Попозже сделаю.
Supermax вне форума  
 
Непрочитано 07.11.2008, 15:16
#335
Ddjo

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


Я что-то совсем запуталась...

Цитата:
Макрос: ^C^C(load "Visibility-ADD2.fas") (eddedd)
5, 12, 13, 14, 15: ^C^C(load "Move-to-visibilityset.fas")
Цитата:
Дык, Ddjo ты ж уже сделала иконки на эти три функции Kpblc-а 12, 14, 15. вот 13 надо макросом Владимира Света делать
Я в замешательстве....

Цитата:

Да ты только открой и туда поналезет советчиков целая куча (и я в том числе).
ок
Ddjo на форуме  
 
Автор темы   Непрочитано 07.11.2008, 16:04
#336
Supermax

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


9 - ^C^C(load "Visibility-ADD2.fas") (eddedd)
5 - ^C^C(load "Move-to-visibilityset.fas")
12 - ^C^C(load "kpblc-objects-hide.lsp") (kpblc-objects-hide 0)
13 - ^C^C(load "kpblc-objects-hide.lsp") (sssetfirst nil (ssget "_X")) (kpblc-objects-hide 1)
14 - ^C^C(load "kpblc-objects-hide.lsp") (kpblc-objects-hide 2)
15 - ^C^C(load "kpblc-objects-hide.lsp") (kpblc-objects-hide 1)
Supermax вне форума  
 
Непрочитано 07.11.2008, 16:19
#337
Ddjo

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


Supermax
Спасибо!
Вот тогда полный список, может, кому-нибудь пригодится.
Вложения
Тип файла: doc кнопки_макросы.doc (45.5 Кб, 1519 просмотров)
Ddjo на форуме  
 
Автор темы   Непрочитано 07.11.2008, 22:28
#338
Supermax

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


Ddjo, ой как мне стыдно
Функция, то определяющая текущий Visibility Set уже есть, правда я ее для технических целей сделал, но раз тебе надо - на. Она уже есть у тебя в файле "Visibility-ADD2.fas"
Можешь так на кнопку повесить
^C^C(load "Visibility-ADD2.fas") (alert (TECUCH_VISIBILITY))
А можешь и так:
^C^C(load "Visibility-ADD2.fas") (alert (strcat "Текущий Visibility Set - " (TECUCH_VISIBILITY)))
Supermax вне форума  
 
Непрочитано 11.11.2008, 06:30
#339
Volodich

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


Ddjo, вот блок, который я обещал показать.
Для примера я рядом приложил табличку функции EATTEXT. Что приятно (я даже не ожидал), что эта функция воспринимает разные параметры видимости и может из отображать и считать. Это очень здорово.
Вложения
Тип файла: dwg
DWG 2004
светильник_3_варианта.dwg (53.8 Кб, 2928 просмотров)
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Автор темы   Непрочитано 11.11.2008, 11:40
#340
Supermax

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


Что-то у тебя с видимостью напутано - не переключается на лампах.
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