|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
А вот и правильно сделанный блок с 10-тью Visibility Set и не только. Открывается двойным щелчком. Аудит - 0 ошибок. Текущих Visibility Set редактируется редактором блока. Программкой, что я выложил, перемещаете нужный Visibility в самый верх списка и редактор его обработает.
Чтобы все свойства корректно работали, они должны быть включены везде, кроме того Visibility, где они управляют графикой. Принцип "И" если хоть в каком-нибудь текущем представлении это свойство выключено - оно не будет видно ни в списке свойств, ни в модели. Программу написал отдельными функциями. Одна - вставляет новый Visibility, другая - перемещает в верх выбранный Visibility (делает его текущим), третья - удаляет из общего списка текущего Visibility выделенные пользователем элементы. DCL - пролетает как фаера над Парижем. Потом объясню почему. Короче - вот вам этот блок. (формат 2007 када) Последний раз редактировалось Supermax, 24.09.2008 в 09:57. |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 474
|
Странно... У меня файл-то открывается, но почему-то ни одно действие с блоком я сделать не могу. Не то что видимостью управлять, даже простое растяжение или отзеркаливание не работает. А по видимостям, когда нажимаю на ручки, менюшки-то с вариантами выпадают, но при выборе любого варианта он не выбирается.
Попробовал по двойному щелчку. Вылезло сообщение: "Блок содержит объекты-заместители. Невозможно изменить блок в редакторе блоков." По правой кнопке почему-то в редакторе блоков открылся. Действия видны все, параметры видимости тоже все. Но из объектов видны только первые кружочки. Так и должно быть? Кстати, а где взять программку, про которую ты пишешь в предыдушем сообщении? (#41) AutoCAD 2006 rus. Последний раз редактировалось Volodich, 24.09.2008 в 06:58. |
|||
![]() |
|
||||
Регистрация: 05.04.2007
Самара
Сообщений: 1,193
![]() |
Очень круто я бы сказал, но:
- область применения (на мой взгляд) ограниченна. Непонимаю, зачем десять visibility, когда в один можно все представления засунуть, пусть он даже большой станет. - надо научить тех кому надо, а это посложнее будет чем научить просто создавать ДБ. На мой взгляд лучше попытаться добавить новые параметры и действия, например: при действии array можно было бы с каждым скопированным объектом работать. Непонятно почему Autodesk не развивает это направление, мож коллективное письмо напишем)))). |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 474
|
Вот это да... ПЕРВЫЙ раз такое слышу, честно!
stas_org, видимо в Autodesk сидит кто-то такой как ты, который не понимает зачем десять параметров видимости вот это направление и не развивается. А мы тут все страдаем и мучаемся всякими array'ями да прочей ерундой заменяем видимости. stas_org, мой тебе совет, беги быстрее, пока камнями тут не закидали! ![]() А по поводу сложности обучения... Я думаю, что тот кто научился делать ДБ разберется и с этим. Причем с радостью разберется! |
|||
![]() |
|
||||
Volodich, я вообще-то делал блок в 2007 английском каде. Как ты умудрился открыть его в 2006, да еще и русском? Там же другой формат файла!
У меня к сожалению накрылся 2006 кад, так что проверить на нем не могу. Даю вам файл в 2004 формате - проверяйте работоспособность. По поводу целесообразности. Подсчитаем, сколько надо описаний видимости для реализации подобного блока с одним Visibility Set. Первая группа имеет 7 штук описаний видимости, вторая - 8, третья - 6, и так далее 2, 2, 5, 2, 2, 2, 2. Это 7*8*6*2*2*5*2*2*2*2=107520 описаний видимости. Вы просто посчитайте вслух до 1000 - охрипнете! А тут 107,5 тысяч! Дальнейшее,думаю, не требует аргументаций. Даже по два описания видимости вкл\выкл у 10-ти элементов это 1024 описания видимости. В редакторе блоков вы видете текущий Visibility Set и его элементы. Иногда можно увидеть элементы других Visibility, но сделать с ними ничего нельзя, а погасив им видимость в серой видимости их уже не увидеть. Перемещайте моей программой нужный вам Visibility в самый верх списка и открывайте блок редактором. Все свойства должны быть включены, кроме тех,которые вам надо выключить в данном состоянии описания видимости текущего Visibility Set-a. Последний раз редактировалось Supermax, 24.09.2008 в 12:05. |
||||
![]() |
|
||||
stas_org, ооооойййй если ты не понимаешь зачем 10 параметров видимости ты вообще не встречался с трудностями Динамических блоков.
Supermax, снимаю шляпу! Это лучший динамический блок который я пока видел! ![]() ![]()
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
Программа по перемещению свойств в списке Properties (свойства) я думаю, что уже есть у всех?
Так вот, что можно делать, а что нельзя в данном блоке. Если вас удовлетворяет количество 10 Visibility Set, то можете использовать данный блок как болванку для создания своих блоков с 10-тью или менее Visibility. В текущем Visibility Set можно: 1 - включать и выключать ручки любым свойствам, перемещать их, менять свойства (имя и пр.) (включая и сами Visibility Set-ы). 2 - добавлять и удалать графические и не графические элементы (они будут видны только в данном Visibility). 3 - Устанавливать на эти элементы динамические параметры (после установки поочередно пройти по всем Visibility Set-ам, делая каждый из них текущим, и включить видимость установленному параметру). 4 - Удалять чужие параметры (после удаления пройти по всем Visibility Set-ам и открыв каждый редактором пересохранить блок. В противном случае не будет видна графика этих Visibility). 5 - добавлять новые описания видмости (если двойным кликом кликнуть по любому параметру Visibility Set, то все равно откроется редактирование описаний текущего Visibility). 6 - используя либо мой вебмакрос по управлению видимостью, либо макрос Kpblc-a включать и выключать видимость всем графическим элементам блока (включая и те элементы, которые принадлежат другим Visibility Set-ам). Это нужно для правильного сопряжения элементов графики в блоке. В редакторе блоков, не выходя из него можно: - Делать текущим любой Visibility Set (но только с помощью макроса) - Вставлять новый Visibility Set (но только с помощью макроса) - Удалять из общего списка и списков на включение выбранные элементы (но только с помощью макроса) - Вставлять в общий список текущего Visibility Set элементы выбранные пользователем (после включения видимости у всех элементов блока и только с помощью макроса). - Автоматически включать в списки на включение дин. параметров новые дин. параметры во все Visibility Set-ы (но только с помощью макроса). - Автоматически удалять из всех Visibility Set-ов, из списков на включение дин. параметров, параметры предназначенные на удаление (но только с помощью макроса). - Включать ручки элементам общего списка и свойствам текущего Visibility Set (но только с помощью макроса). Остались нерешенными проблемы: - Как временно запретить Автокаду делать автоматическое сохранение файла?. Постоянно работу макроса прерывает эта гадость, а выключать ее мне нельзя. Надо в начале выполнения функции запрещать автоматическое сохранение, а в конце восстанавливать. - DCL пролетает как фанера над Парижем. В пространсве редактора блоков он работает, но макрос (лисп) останавливает работу самого редактора и пока из макроса не вывалишся не происходит обновление состояния самого редактора. Ручки элментам включать можно, переходить из одного текущего состояния в другое, а то что видишь в редакторе не меняется (только элементы подсвечиваются). Находишся уже в другом текущем Visibility Set, в набор включаются уже его элементы, а видим то, что было когда макрос включили. Надо делать программу, либо вебмакросом (он интерактивен), либо VBA скрещивать с лиспом (тоже интерактивен), либо панелями инструментов ограничиться. Кроме установки кнопок я больше ничего делать с ними не умею (пока). - Кто и за какие выгоды все это будет делать? Тот, кто мне поможет - получит все секреты этого дела. |
||||
![]() |
|
||||
Еще, забыл одно очень важное.
Как известно, включать и выключать видимость Visibility Set нельзя (за исключением случая, когда блок содержит не корректный Visibility Set). Так вот, выключите всем Visibility Set-ам опцию Show Properties (сделайте No) и создайте дя каждого Visibility Set свой Lookup, в котором перечислите имена представлений данного Visibility Set и сопоставьте эти имена самим представлениям, вставив один единственный столбец с данным Visibility. Вот Lookup вы можете включать и выключать где угодно! Таким образом в свойсвах блока можно управлять наличием доступа к данным Visibility Set. |
||||
![]() |
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
|
|||
![]() |
|
||||
Второе покатит точно, правда не известно обнулился ли отсчет для последнего состояния? И ежу понятно, что мне и 10 минут достаточно, лишь бы отсчет можно было обнулять. Та гадость, что ведает этой бедой, следуя логике программиста, считывает из этой переменной значение и запускает таймер, когда тот отсчитал положенное - выполняет действие и по новой считывает значение из переменной. Мы можем до посинения ждать результата, но пока не закончится цикл - новые данные не будут сьедены. Надо обнулять отсчет, либо вовсе его останавливать.
|
||||
![]() |
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Так гласит справка:
![]() Цитата:
Цитата:
Код:
|
|||
![]() |
|
||||
Makswell, Отключать-то отключает, но не тогда, когда мне надо. Я ж говорю, идет отсчет 10-ти минутного интервала. Закончился интервал - сохранило и опять читает системную переменную (если вообще ее читает). Я изменил время на 1 с 10, а сохраняет по пржнему 10.
Про Цитата:
Цитата:
Вот на счет ActiveX не пробовал, может и подействовать. Сейчас поэксперементирую. При обработке данных словарей сохранять документ категорически нельзя, тогда, когда этого хочет программа. Я сам, когда мне надо обновить кодировку элементов это делаю, и только тогда, когда это надо. Есть еще одна проблема, тоже с сохранением. Многие действия автоматически вызывают запрос на сохранение данных блока. Не только выход из редактора. Вот их тоже не плохо было бы контролировать. |
||||
![]() |
|
||||
Supermax,
![]() ...но чтото не получается. Запутался. Вот создал блок. Пока пытаюсь свзяать 2 параметра видимости. Но не получается убрать цифры 12,22,32... когда включен Т в другом параметре видимости. И 13,23,33,43 когда Ф включен
__________________
Поезд который устал от ржавого здравомыслия рельсов... Последний раз редактировалось Shoorup, 24.09.2008 в 16:46. |
||||
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как с помощью 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 |