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

Вернуться   Форум 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.
Просмотров: 363072
 
Непрочитано 24.11.2009, 11:11
#441
Composter

Отопление и вентиляция
 
Регистрация: 31.10.2008
Москва
Сообщений: 445


заметил что в 2010 акаде ручки блока, выполненные с помощью Lookup-duble-activator не отображаются в модели. но переключить можно зайдя в свойства.
Composter вне форума  
 
Непрочитано 27.11.2009, 12:15
#442
Ddjo

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


Цитата:
Сообщение от SLADE Посмотреть сообщение
выложи пож. иконки в архиве
уже были здесь выложены
http://forum.dwg.ru/showpost.php?p=307079&postcount=316
и еще было
http://forum.dwg.ru/showpost.php?p=430696&postcount=428

Последний раз редактировалось Ddjo, 27.11.2009 в 12:35.
Ddjo вне форума  
 
Непрочитано 16.01.2010, 12:28
#443
SLADE

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


Замена на строку
(setq g_oex (vlax-get-or-create-object "Excel.Application"))
не помогает, программа все ровно пытается найти файл с расширением *.xls
Можно ли добавить возможность *.xlsx
SLADE вне форума  
 
Автор темы   Непрочитано 02.02.2010, 14:46
#444
Supermax

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


Внимание! Очередное обновление!Скачайте заново и замените файл visibility-ADD2.fas
Также надо обновить программу по перемещению свойств.


SLADE, конечно можно!
Найди в тексте лиспа такое место:
Код:
[Выделить все]
; Читаем 
(readex12_com 
(setcfg "AppData/Excel-Loocup/files/xls" ;1
(getfiled "Выбор файла Excel для конфигурации Lookup-a" ;2
(if (null (getcfg "AppData/Excel-Loocup/files/xls")) (car '("C:\\")) (getcfg "AppData/Excel-Loocup/files/xls"))
 "xls;xlsx" 0)) '(vlax-get-property g_mainsh "Name"))
И подправь у себя выделенное красным.

Последний раз редактировалось Supermax, 02.02.2010 в 20:29.
Supermax вне форума  
 
Непрочитано 13.05.2010, 19:15
#445
SLADE

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


Supermax можно просто добавить xls* (как в VBA)
SLADE вне форума  
 
Непрочитано 30.05.2010, 14:10
#446
sdv79

Инженер ЭОМ
 
Регистрация: 05.03.2009
Москва
Сообщений: 215
Отправить сообщение для sdv79 с помощью Skype™


Небольшие замечание по поводу кода Lookup-Lookup
В начало дописать (vl-load-com) без этого выдает ошибку
в строках 104, 119 (ex_break_connect) лишнее, а также prign заменить на progn
СПАСИБО за код.

Последний раз редактировалось sdv79, 30.05.2010 в 14:28.
sdv79 вне форума  
 
Непрочитано 18.06.2010, 09:27
#447
alex-kolchugin

инженер-конструктор
 
Регистрация: 03.02.2010
г. Березники, Пермский край
Сообщений: 40


Добрый день, уважаемые! Прочитал сию тему, но может где чего пропустил, поэтому сильно не пинайте пожалуйста, а просто, если не затруднит, ткните носом в нужную ссылку...
Создал динамический блок с несколькими параметрами видимости. Всё прекрасно работает. Когда тянешь за ручку рамка "Общий вес" сдвигается, поле "Масса стали по элементам растягивается", рамка, где будет выбираться элемент конструкции (например "Балки"), копируется массивом. Вопрос в следующем: как скопировать сам параметр видимости? ну то есть как сделать, чтобы при добавлении 4-й, 5-й и т. д. ячеек можно было бы выбирать как и в первых трёх.
Если есть способ реализовать сие более простыми методами, подскажите пожалуйста как это сделать.
Юзаю AutoCAD 2009 (RUS)
Заранее благодарен.
Вложения
Тип файла: dwg
DWG 2000
head_table.dwg (486.6 Кб, 3430 просмотров)
alex-kolchugin вне форума  
 
Непрочитано 19.06.2010, 01:24
#448
SLADE

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


Эх если бы это можно было реализовать,
Здесь стандартные методы не прокатят, может только програмирование, создание дополнительных параметров видомости.

p.s. в вашей конретной задаче есть путь на много проще, ТСМ в VetCADe
http://dwg.ru/dnl/206 (демо, сама прогамма стоит копейки, если попасть на скидки, будет еще дешевле, думаю что к дню строителя (как обычно) опять будет информация.
Сам пробовал и блоком и ексель в этому делу приручить, но это все не то.
SLADE вне форума  
 
Непрочитано 24.06.2010, 18:03
#449
Eddicordo

КИП и А
 
Регистрация: 28.04.2010
Киев
Сообщений: 101
<phrase 1=


Доброго дня.
Очень интересная тема.
Не могли бы подсказать каким образом можно взорвать все динамические блоки на чертеже сделанные с несколькими параметрами видимости Visibility?

Но при этом все выбранные параметры видимости после взрыва остались на чертеже. Взрываю explode.
Требуется для передачи готовых чертежей заказчику, а так же для уменьшения размера чертежа.
Eddicordo вне форума  
 
Непрочитано 24.06.2010, 19:13
#450
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Eddicordo, Открой и сохрани в Авкаде 2004. Сохрани как dxf R12. Все динамические блоки заменятся на анонимные с именами *Unnn. Дальше, если нужно, можно использовать UX или U2B
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 25.06.2010, 16:48
#451
Eddicordo

КИП и А
 
Регистрация: 28.04.2010
Киев
Сообщений: 101
<phrase 1=


VVA Спасибо
А ни кто не сталкивался с такой проблемой как:
скрыть сам треугольничек выбора невидимости Visibility.
Lookup скрыть можно, а вот Visibility не получается.

Для чего надо?
Мне надо при выборе невидимости объектов помимо показа что бы некоторые объекты двигались Move.
Для этого я указал в Lookup свойства выбора Visibility и движение Move.
Все классно, Но лишний треугольник Visibility мешает.
Как его скрыть?
Eddicordo вне форума  
 
Непрочитано 26.06.2010, 19:00
#452
Disney

Геодезист
 
Регистрация: 12.03.2009
Сибирь (где медведи по улицам ходят)
Сообщений: 860
Отправить сообщение для Disney с помощью Skype™


Цитата:
Сообщение от Eddicordo Посмотреть сообщение
Как его скрыть?
Число ручек: 0
__________________
Почему все вдруг становятся умными, когда уже не надо?
Disney вне форума  
 
Непрочитано 01.07.2010, 17:24
#453
Eddicordo

КИП и А
 
Регистрация: 28.04.2010
Киев
Сообщений: 101
<phrase 1=


Цитата:
Сообщение от Disney Посмотреть сообщение
Число ручек: 0
Если ручки убрать то и смысл Visibility пропадет.
Принял решения лишние Visibility переносить далеко за пределы блока. Будут просто висеть. Не выход конечно но по крайней мере не будут мешать работать с блоком.

Вопрос возник следующий.
При выборе невидимых объектов Visibility. Появляется менюшка в 1 колонку.
Можно каким то образом сделать менюшку с выбор пунктов и так же подпунктов.


Тобиш получается много ярусное меню.
Пример. Типа как в любом браузере "Закладки" и справа стрелочка с еще одним меню.


Нужно поскольку при большом выборе не удобно искать то что тебе надо.
Eddicordo вне форума  
 
Непрочитано 02.07.2010, 22:43
#454
kha

BIM, С#, AutoCAD, LISP
 
Регистрация: 15.03.2006
Дуброво
Сообщений: 657


Скрываешь ручки у параметров видимости и отключаешь показ параметра видимости. А управление видимостями делаешь через Lookup.

Ручки Lookup'ов можно делать невидимыми там где это нужно.

По поводу многоярусного меню даже и не задумывался. Это уже ближе к программированию
__________________
"Молодой человек, Вы не представляете всей широты поставленной перед Вами задачи." © Панкратова Г.Е.
kha вне форума  
 
Непрочитано 30.07.2010, 17:11
#455
Eddicordo

КИП и А
 
Регистрация: 28.04.2010
Киев
Сообщений: 101
<phrase 1=


kha Спасибо все получилось.

Возник следующий вопрос.
Использование программки Excel-Lookup.lsp
1) В блоке использую 3 параметра Lookup
В которые мне и нужно записать с Excel информацию.
В Excel создаю 3 листа, в каждом листе прописываю в 2 колонки инфу которую мне надо закинуть в Lookup-ы.
В итоге почему то во все 3 Lookup записывается только в с 1 листа. Хотя я указываю первый лист к первому Lookup. и т.д.
Глюк какой то?
Eddicordo вне форума  
 
Непрочитано 29.10.2010, 10:51
#456
Eddicordo

КИП и А
 
Регистрация: 28.04.2010
Киев
Сообщений: 101
<phrase 1=


Supermax
Доброго времени суток.
Выловил глюк с русским AutoCad 2009.
При попытке подключить активатор к Lookup-у выдает.

Код:
[Выделить все]
Команда: (LOAD "D:/TEST_LISP/Блоки/Lookup-duble-activator.fas") Укажите 
Lookup-параметр
<Имя объекта: 7ef60d80> Укажите точку вставки активатора_BParameter
Введите тип параметра 
[Выравнивание/База/Точка/Линейный/Полярный/Xy/повоРот/Отразить/виДимость/поиСк]:
 _Lookup
Укажите местоположение параметра или [Имя/Метка/Описание/Палитра]:
Введите число ручек [0/1] <1>: 0
Команда: _BActionTool
Введите тип операции 
[Массив/Поиск/Отразить/пЕреместить/поВернуть/масШтаб/раСтянуть/поЛярное 
растяжение]: Lookup
Неправильное ключевое слово.
Введите тип операции 
[Массив/Поиск/Отразить/пЕреместить/поВернуть/масШтаб/раСтянуть/поЛярное 
растяжение]: -4721.651983846784,262.4417204652993
Неправильное ключевое слово.
Введите тип операции 
[Массив/Поиск/Отразить/пЕреместить/поВернуть/масШтаб/раСтянуть/поЛярное 
растяжение]: -4721.651983846784,262.4417204652993
Неправильное ключевое слово.
<Имя объекта: 7ef60f18> <Имя объекта: 7ef60f20>
Введите тип операции 
[Массив/Поиск/Отразить/пЕреместить/поВернуть/масШтаб/раСтянуть/поЛярное 
растяжение]: *Прервано*
В 2008 анг работало.
Ошибка насколько я понял аналогичная
http://forum.dwg.ru/showpost.php?p=293303&postcount=198

Можно подправить ошибку для работы в русских Автокадах
Eddicordo вне форума  
 
Автор темы   Непрочитано 29.10.2010, 19:14
#457
Supermax

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


Исправил. Только с появлением их значков туго. Пока файл не закрыл и открыл, не появились дополнительные значки активаторов.
Может даже в 2007 или 2004 формат пересохранять придется.
Сейчас уточню.

Разобрался. В 2009 и 2010 каде активаторы проподают, если в них ничего нет. Последний пустой остается и на нем появляется знак !.
Как-нибудь на досуге попытаюсь их перетасовывать, чтобы была возможность редактировать. Но не обещаю. Пока советую открывать 8 кадом и заполнять там.

Последний раз редактировалось Supermax, 29.10.2010 в 19:57.
Supermax вне форума  
 
Автор темы   Непрочитано 14.12.2010, 23:25
#458
Supermax

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


Как оказалось Автокад сам умеет вставлять параметр Lookup сразу с кучей активаторов. См. http://forum.dwg.ru/showpost.php?p=293460&postcount=209
Supermax вне форума  
 
Непрочитано 15.12.2010, 13:02
#459
kor99


 
Регистрация: 28.02.2007
Riga
Сообщений: 19


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

К сожалению, в 2010 каде, а может и в 2011 (не проверял) активаторы, в которых не заполнены таблицы, в редакторе блока не видны (хотя они есть на самом деле) их заполнение пока можно делать в кадах предидущих годов выпуска или попробовать эксель-лукуп.
В этом случае можно воспользовться возможностьями Quick select
Lookup Action -> Action name и пробовать имя с большим номером - например Lookup2
Мне так работает
kor99 вне форума  
 
Автор темы   Непрочитано 22.12.2010, 13:52
#460
Supermax

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


Ну, тут нет ничего сложного.
Есть в словаре "ACAD_EVALUATION_GRAPH" указатель на активатор вашего Polar Stretch. Открываете его и видите указатели на элементы блока. Надо только разобраться с точечными парами самого активатора (где указано количество элементов, последний созданный и т.п).
Все можно.
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