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

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


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


Сам себе не поможешь, никто не поможет.

Мне тоже эти visibility по барабану, хоть и простой инженер.

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

p.s VBA only

Примерно так:

-создается двумерный массив, в котором i-это ID основного блока, j- ID зависимого.
- слушаем акад
- реагируем на событие object_modify(проверяем вхождение ID изменяемого объекта, если ОНО, то смотрим какие свойства были change, и соответствующему ID делаем change. Или по хэндлам.

Последний раз редактировалось Кулик Алексей aka kpblc, 28.09.2008 в 21:40.
stas_org вне форума  
 
Непрочитано 28.09.2008, 21:54
#82
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от Volodich Посмотреть сообщение
Так, ладно, я под код не подхожу, дайте мне баннер!
А "шайбу" кричать бесполезно. Дело в том что несколько параметров видимости нужно "простым" людям, т.е. проектировщикам, которые большую часть времени занимаются проектированием по основной специальности и немного времени уделяют познанию автокада. А "гуру" по-моему до фени эти параметры видимости, разве что для спортивного интереса. Т.к. "гуру"-то занимаются не проектированием, а программированием.
Хотя, конечно, это мое мнение и я могу ошибаться.
В общем, дайте мне удобную программу и баннер!
Отчасти (по крайней мере в отношении меня) - это правда. Динамические блоки нужны в чистом AutoCAD. Поскольку у меня основная работа (пока) в ADT, то предоставляемых штатных возможностей дин.блоков лично мне - за глаза. Остальное решается средствами ADT.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 29.09.2008, 17:18
#83
SLADE

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


Supermax спасибо за предоставленную возможность дополнительных параметров Visibility Set.
Используя ваш блок 3.dwg - создал свой блок Секторные площадки.
Споткнулся в нескольких местах:
1) - Не могу отключить в редакторе видимость тех эл. которые принадлежат другим параметрам видимости.
2) - при удалении ваших примитивов, все видимости обнуляются и становятся в неизм. положение.

Потонциал для работы огромный, есть еще пару идей внедрения.
Вложения
Тип файла: dwg
DWG 2004
Секторные площадки.dwg (489.7 Кб, 3179 просмотров)
SLADE вне форума  
 
Автор темы   Непрочитано 29.09.2008, 19:59
#84
Supermax

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


Посмотрел я твой блок. Что это такое так и не понял, но то, что ты хотел сделать примерно догнал.
Видимостей было 10 и две из них ты удалил. На каком этапе догодаться не трудно, поскольку часть примитивов попала в группу "свободные". Надеюсь, что функции Kpblc-a или мой вебмакрос тебе известны, по управлению видимостью элементов? Так вот, рассказываю как примитивно перекидывать элементы из люого Visibility Set или из группы свободных элементов в текущий Visibility Set:
- устанавливаешь нужный Visibility в первую строку списка свойств.
- открываешь редактором блок
- включаешь видимость всем элементам блока
- выбираешь нужные элементы и копируешь в буфер С УКАЗАНИЕМ ТОЧКи ВСТАВКИ
- тут же, пока они выделены жмешь DEL
- вставляешь из буфера указываяту точку, которую ты выбрал при копировании в буфер.
- раскидываешь по представлениям.

Вот обственно и все.

Твоя проблема была в том, что у тебя не было возможности включить видимость всем элементам и наоборот.
Supermax вне форума  
 
Автор темы   Непрочитано 29.09.2008, 20:14
#85
Supermax

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


stas_org, конечно есть у меня мысли по связыванию динамических блоков друг с другом.
Если говорить про способ связки лиспом, то тут все элементарно. Я с Shoorup-om это уже обсасал, да он никак время не выкроит сделать пару блоков для такого связывания. Я ему поставил условие, что блоки должны быть библиотечные, то есть качественные. Жду-с.
А ты в VBA можешь что-то делать? А то у меня как раз есть потребность в этом.
Supermax вне форума  
 
Непрочитано 29.09.2008, 23:02
#86
SLADE

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


Я пока их не объединил в одну точку, пока неразберусь как убрать их из видимости других Visibility Set.
Это секторные площадки вокруг аппаратов, идея в том что каждый сегмент был не зависим друг от друга , что бы можно было играть дальше с вылетом, кол-вом пролетов, и многим другим с помощью вашей программы "Программа заполнения Lookup-a динамических свойств блока из данных таблицы Excel" (раньше мы с товарищем, пользовались одним блоком , копируя его 8 раз по окружности). В Excelе сейчас пытаемся описать расчет !

то что было до прошлой недели!
Миниатюры
Нажмите на изображение для увеличения
Название: Sektornie_ploshadki_(SLADE)-Model.jpg
Просмотров: 202
Размер:	44.5 Кб
ID:	10489  
Вложения
Тип файла: dwg
DWG 2004
Sektornie_ploshadki(NEW29.02.2008).dwg (42.0 Кб, 3194 просмотров)
SLADE вне форума  
 
Автор темы   Непрочитано 30.09.2008, 18:17
#87
Supermax

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


SLADE, тебе наверное мешает вот эта точечная пара:
Код:
[Выделить все]
(4 . "© SLADE хххххххххххххххххххххх ОГРОМНОЕ 
СПАСИБО и не менее ОГРОМНОЕ УВАЖЕНИЕ Supermaxу, за предоставленую возможность 
\"Создания дополнительных параметров Visibility Set в динамических блоках\". "))
Весьма забавно получилось.
Мы с дочкой долго смеялись.
Supermax вне форума  
 
Непрочитано 30.09.2008, 19:15
#88
SLADE

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


Моя дочка пока не понимает юмора про автокад, пока.
Но поддержать смех - пожалуйста (ей 2 года).
SLADE вне форума  
 
Автор темы   Непрочитано 30.09.2008, 20:44
#89
Supermax

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


Внесены изменения в пост пост №13. Кому не лень - ознакомьтесь.

Последний раз редактировалось Supermax, 30.09.2008 в 21:33.
Supermax вне форума  
 
Непрочитано 01.10.2008, 09:24
#90
stas_org


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


> Supermax
Какая потребность?
stas_org вне форума  
 
Автор темы   Непрочитано 01.10.2008, 12:13
#91
Supermax

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


Для того, чтобы собрать все функции по созданию и управлению элементами динамического блока нужна интерактивная панель органов управления. Короче, чтобы она висела, а редактор блоков при этом продолжал работать. В VBA это элементарно. Все функции на лиспе, а макрос на VBA запускает через ком. строку эти функции. Ну не может DCL работать интерактивно.
Вот такая вот потребность. Как связать VBA с автолиспом я знаю.
Supermax вне форума  
 
Непрочитано 01.10.2008, 13:11
#92
stas_org


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


Что значит "интерактивно"? Имеется ввиду не модальное окно?
stas_org вне форума  
 
Автор темы   Непрочитано 01.10.2008, 13:52
#93
Supermax

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


Термин "Интерактивно" в буквальном переводе - активное из вне. Например, интерактивные конференции это когда люди совещаются, но рядом их нет. Панели инструментов, которые не являются частью программы и работающие по своим собственным законам, лишь обмениваясь с программой данными - тоже можно считать интерактивными. Немодальные окна тоже самое, но не совсем. Когда говорят "немодальный", подразумевают, что не прерывющий действие, но это чуть-чуть меньше, чем интерактивный.
Применимо к нашему случаю "немодальный" это именно то, что нужно.
Мой вебмакрос, к примеру, интерактивный, поскольку хоть и запускается Автокадом, все равно является независимой программой, написанной на VBScript, обрабатываемой непосредственно операционной системой. На VBA я не знаю как устроен интерфейс. Может есть жесткая зависимость от текущей работы Автокада (не путать с загрузкой), а может нет. Так что "немодальный" так "немодальный".

А что, есть желание помочь?
Supermax вне форума  
 
Непрочитано 01.10.2008, 14:31
#94
stas_org


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


С чего начнем?
stas_org вне форума  
 
Автор темы   Непрочитано 01.10.2008, 15:15
#95
Supermax

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


С решения вопроса, в каком виде и для кого будет делаться эта программа.
Как я уже говорил, можно открытый проект сделать. Все коды вывалить в тему и пр. безрассудства. Я к этому готов.
Можно все скомпилировать и выложить только результат, но для свободного скачивания и пользования. Если скомпилированный вариант, то туда можно рекламу сомаго себя любимого вставить.
Можно поднапрячься и сделать еще один вебмакрос ведь VBScript это слегка кастрированный VBA. Только можно не для сайта, а для стационарного HTML файла, или для хелп-файла (что гораздо предпочтительнее).

Мне все равно, так что ты сам выбирай.
Supermax вне форума  
 
Непрочитано 01.10.2008, 15:21
#96
stas_org


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


А просто для Акада приложение, тупо форма запускается в редакторе блоков, на ней весь твой интерактив?
stas_org вне форума  
 
Автор темы   Непрочитано 01.10.2008, 15:32
#97
Supermax

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


Так ведь любые макросы, это приложения. Хоть макрос, хоть вебмакрос, суть одна и та же - приложение. И совершенно ясно, что для Автокада.
Ясен пень, что в пространсве редактора блоков надо запускать. В модели и DCL покатит. На VBA делаем панель с кнопками, по нажатию которых в ком. сторку посылается "(тра-ля-ля)", которое загружается из лиспа.

Так как, компилируем или так шлепаем?
Supermax вне форума  
 
Непрочитано 01.10.2008, 15:46
#98
stas_org


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


А DCL в редакторе разьве не покатит?
stas_org вне форума  
 
Непрочитано 01.10.2008, 15:50
#99
stas_org


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


Ну тогда вообще проблем не вижу, команды LISP можно из ком.строки через VBA форму запускать, тогда даже связывать их не надо.
stas_org вне форума  
 
Непрочитано 01.10.2008, 15:55
#100
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от stas_org Посмотреть сообщение
Ну тогда вообще проблем не вижу, команды LISP можно из ком.строки через VBA форму запускать, тогда даже связывать их не надо.
А результаты выполнения lisp-функций тебе в VBA не понадобятся? И потом, есть очень небольшое количество действий, нереализуемых в VBA - все остальное там есть.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум 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