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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Мои динамические блоки

Мои динамические блоки

Закрытая тема
Поиск в этой теме
Непрочитано 07.11.2006, 15:22
Мои динамические блоки
Shoorup
 
Минск
Регистрация: 16.09.2006
Сообщений: 1,587

Прогресс и опыт не стоит на месте. А по этому хочу поделиться своим опытом по созданию динамических блоков и конечно посмотреть на чужой.
Динамические блоки очень мощный инструмент, а умело им пользоваться далеко не каждый умеет. Уверен большинство идей (ухищрений, модификаций, построений) можно применить и для своей работы тем самым свести к минимуму однотонную и трудоемкую работу => что я и предлагаю на данной теме.
---
Дополнительно (спасибо VVA):
В 2010-2011-2012 в редакторе блоков при настройках по умолчанию нельзя добавлять к операциям некоторые вещи, например к операции Flip добавить Strech и т.д.
Описание проблемы:
http://forum.dwg.ru/showpost.php?p=7...postcount=2666
Решение:
http://forum.dwg.ru/showpost.php?p=7...postcount=2679
----
Тема закрыта, продолжение: http://forum.dwg.ru/showthread.php?t=66721
__________________
Поезд который устал от ржавого здравомыслия рельсов...

Последний раз редактировалось Кулик Алексей aka kpblc, 09.11.2011 в 14:01.
Просмотров: 1891412
 
Непрочитано 10.12.2010, 14:01
#2201
JokerrSergh


 
Регистрация: 01.10.2008
Сообщений: 136


Цитата:
Сообщение от PSG Посмотреть сообщение
Вопрос - можно ли в блоке использовать параметр "Таблица блоков" несколько раз? Если можно то как это сделать.
В какой версии автокада выполнен блок? Не могу открыть его своим 2007 русским
__________________
Вагоны, они ведь умнее паровоза, потому что они его толкают... когда он тормозит
JokerrSergh вне форума  
 
Непрочитано 10.12.2010, 15:02
#2202
Войду[В]Доверие

Алюминиевые конструкции
 
Регистрация: 09.12.2010
Lausanne, CH
Сообщений: 117


Цитата:
Сообщение от JokerrSergh Посмотреть сообщение
1. Удлинение блока должно происходить в обе стороны? или в одну, как показано в твоем примере?
Неподвижная часть блока- это его правая часть, или его центр?
Если удлинение в обе стороны, то один подход к решению. Если в одну- то другой подход.
В файле test2 я, кстати, поменял его немного - не имеет смысла делать его таким сложным: с двумя перемычками; оттуда видно, что центром является перемычка, при растяжении блока в обе стороны.
На самом деле, меня устроит любое растяжение, я думаю, что надо исходить из подхода который будет проще.
Я начинал с растяжения в одну сторону: с этим подходом вообще ничего не получилось, ну как не получилось, что-то вышло, но не то)) поэтому переключился на расстяжение в оба конца.

Цитата:
Сообщение от JokerrSergh Посмотреть сообщение
главное, определиться с подходом, т.е. ответить на вопрос 1.
У тебя уже имеется опыт в этом деле и может заранее предопределить какой подход будет изначально полегче.

Цитата:
Сообщение от JokerrSergh Посмотреть сообщение
2. Для получения симметрии нужно отслеживать приращение (допустим растянули на 1000), вычесть из этого приращения энное целое кол-во элементов (в нашем случае 1 элемент =350), т.е. 1000-350-350=300 и остаток поделить пополам: 300/2=150. Реализовать это не сложно.
Да. реализовать не сложно, но тогда пропадает вся прелесть динамики, а именно, каждый раз надо пересчитывать и переделывать - это обычный блок. Или я на прав? Или своей фразой "Реализовать это не сложно" ты как раз имеешь ввиду, что сам динблок будет пересчитывать приращения внутри себя?

Цитата:
Сообщение от JokerrSergh Посмотреть сообщение
В какой версии автокада выполнен блок? Не могу открыть его своим 2007 русским
сохранил его в 2007.
Вложения
Тип файла: dwg
DWG 2007
Штампик-1_2007.dwg (82.8 Кб, 5443 просмотров)
Войду[В]Доверие вне форума  
 
Непрочитано 11.12.2010, 09:36
#2203
PSG


 
Регистрация: 28.04.2010
Сообщений: 268



AutoCAD 2010 русский, файл сохранен в формате 2004
Мысль такая - хочу чтобы в каждой строке можно было бы выбирать из Таблицы должность (фамилия автоматом вставляется).
PSG вне форума  
 
Непрочитано 13.12.2010, 08:22
#2204
JokerrSergh


 
Регистрация: 01.10.2008
Сообщений: 136


PSG
так?

P.S.
Использовал атрибуты, в значения которых запихал поля со значениями состояний видимости. В зависимости от состояний видимости (ДОЛЖНОСТИ) происходит выбор ФАМИЛИЙ.
т.к. в блоке используются "поля", то после каждой манипуляции с блоком следует выполнить регенерацию.

Второй параметр видимости был создан этим макросом:
http://forum.dwg.ru/showpost.php?p=292452&postcount=144

Войду[В]Доверие

"Или своей фразой "Реализовать это не сложно" ты как раз имеешь ввиду, что сам динблок будет пересчитывать приращения внутри себя?"

Именно.

Формулы я уже вывел:
n= (целое число от выражения L/350)-1;
n-количество целых элементов (длиной =350)
L-общая длина блока (от начала блока до ручки)
Приращение ∆:
∆=(L-350*n)/2;

Похоже, что я поторопился с фразой "Реализовать это не сложно". Не могу сообразить, куда и как эти формулы вставить. Выражения ДИЗЕЛЬ почему-то не работают внутри блока (или я не так их использую). А как переместить от начала блока первый элемент на величину приращения ∆ пока не могу сообразить.

Мое видение решения задачи (при условии сдвигания блока в одну сторону- вправо):
1. Двигаем за ручку.
2. Получаем длину блока и считаем кол-во целых элементов n и приращение .
3. Оперецией перемещения отодвигаем первый элемент на величину приращения . (пока не знаю как это реализовать)
4. Копируем перемещенный элемент n-ное кол-во раз с шагом 350
Вложения
Тип файла: dwg
DWG 2000
Штампик-1_2007.dwg (108.4 Кб, 5366 просмотров)
__________________
Вагоны, они ведь умнее паровоза, потому что они его толкают... когда он тормозит

Последний раз редактировалось JokerrSergh, 13.12.2010 в 09:11.
JokerrSergh вне форума  
 
Непрочитано 13.12.2010, 10:20
#2205
Leopard_

Нефтепереработка
 
Регистрация: 21.01.2010
Украина, Киев.
Сообщений: 364


Блок посмотреть не могу у меня вылетает акад.
На практике не проверенно, только теория:
Растягиваем элемент и перемещаем масив на половину растягивания. Выполняем масив в обе стороны симетрично.
__________________
У фантазии нет границ. Это у ограниченных нету фантазии.
Leopard_ вне форума  
 
Непрочитано 13.12.2010, 10:54
#2206
JokerrSergh


 
Регистрация: 01.10.2008
Сообщений: 136


Цитата:
Сообщение от Leopard_ Посмотреть сообщение
Блок посмотреть не могу у меня вылетает акад.
На практике не проверенно, только теория:
Растягиваем элемент и перемещаем масив на половину растягивания. Выполняем масив в обе стороны симетрично.
А разве можно массив перемещать? Это же операция, а не параметр.
В общем, не получается с массивом добиться нужного результата, как-то непонятно он себя ведет при произвольном растягивании ручки...

Народ, у кого не локализованная русская версия автокада, помогите:
нужно в прикрепленном файле на один параметр выбора посадить 7 лукап активаторов.
Suprmax че-то не доделал в лиспе
http://forum.dwg.ru/showpost.php?p=293460&postcount=209
и на моем русском каде он не работает.
Вложения
Тип файла: dwg
DWG 2000
Связать Lookup неасколькими активаторами.dwg (46.3 Кб, 5338 просмотров)
__________________
Вагоны, они ведь умнее паровоза, потому что они его толкают... когда он тормозит

Последний раз редактировалось JokerrSergh, 13.12.2010 в 12:14.
JokerrSergh вне форума  
 
Непрочитано 13.12.2010, 23:39
#2207
Supermax

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


Ну, радуйтесь. Причину неработы в 2010 каде и далее нашел. Осталось исправить, но это не легко. 2010 кад не исправляет словарь
ACAD_EVALUATION_GRAPH а 2007, 2008, 2009 только если вставлять по одному активатору и заполнять их после установки.
Придется самому дописывать расширенные данные в этом словаре.
В ближайшее время точно не смогу сделать, но вполне решаемая проблема.
Вложения
Тип файла: dwg
DWG 2004
Связь Lookup с неасколькими активаторами.dwg (32.2 Кб, 5344 просмотров)

Последний раз редактировалось Supermax, 13.12.2010 в 23:48.
Supermax вне форума  
 
Непрочитано 14.12.2010, 06:29
#2208
JokerrSergh


 
Регистрация: 01.10.2008
Сообщений: 136


Цитата:
Сообщение от Supermax Посмотреть сообщение
Ну, радуйтесь. Причину неработы в 2010 каде и далее нашел. Осталось исправить, но это не легко. 2010 кад не исправляет словарь
ACAD_EVALUATION_GRAPH а 2007, 2008, 2009 только если вставлять по одному активатору и заполнять их после установки.
Придется самому дописывать расширенные данные в этом словаре.
В ближайшее время точно не смогу сделать, но вполне решаемая проблема.
Радуемся
И с нетерпением ждем апгрейда
Отдельное спасибо за прикрепленный файлик с активаторами
__________________
Вагоны, они ведь умнее паровоза, потому что они его толкают... когда он тормозит
JokerrSergh вне форума  
 
Непрочитано 14.12.2010, 09:32
#2209
PSG


 
Регистрация: 28.04.2010
Сообщений: 268


Цитата:
Сообщение от JokerrSergh Посмотреть сообщение
так?

P.S.
Использовал атрибуты, в значения которых запихал поля со значениями состояний видимости. В зависимости от состояний видимости (ДОЛЖНОСТИ) происходит выбор ФАМИЛИЙ.
т.к. в блоке используются "поля", то после каждой манипуляции с блоком следует выполнить регенерацию.

Второй параметр видимости был создан этим макросом:
http://forum.dwg.ru/showpost.php?p=292452&postcount=144
Да так. Но у меня не получается: загружаю приложение visibility-ADD2, а оно работает только с состояниями видимости, а сам новый параметр видимости не создает, пишет, что параметр видимости уже существует. Может у меня ручки кривые? Объясни, пожалуйста, подробнее, когда время будет
PSG вне форума  
 
Непрочитано 14.12.2010, 10:04
#2210
JokerrSergh


 
Регистрация: 01.10.2008
Сообщений: 136


Цитата:
Сообщение от PSG Посмотреть сообщение
Да так. Но у меня не получается: загружаю приложение visibility-ADD2, а оно работает только с состояниями видимости, а сам новый параметр видимости не создает, пишет, что параметр видимости уже существует. Может у меня ручки кривые? Объясни, пожалуйста, подробнее, когда время будет
visibility-ADD2 это целый комплекс, который может создавать параметры видимости и производить с ними всякие манипуляции. Почитай инструкцию (она написана в той же ссылке), там все написано. После загрузки нужно вводить нужные команды.

Файл Visibility-ADD2.fas содержит следующие функции:
(Visibility_add) - Добавить новый Visibility Set
(visibility-up) - делает указанный пользователем Visibility Set текущим
(element-sel-current-del) - убирает из текущего Visibility Set-a выделенные элементы
(eddedd) - включает ручки всем элементам текущего Visibility Set-a
(Visibility_clear) - очищает указанный Visibility Set от всех элементов, параметров и представлений. Принадлежащие ему элементы становятся свободными
(element-all-current-del) - удаление из текущего Visibility Set всех элементов оставляя свойства и представления.
(element-sel-current-insert) долгожданная - по внедрению в общий список текущего Visibility Set-a выбранных элементов.
(properties_add_all_visibility) - устанавливает видимость выбранным динамическим свойствам во всех представлениях всех Visibility Set-ов
(tecuch_visibility) - показывает наименование текущего Visibility Set-a и выводит его в статусную строку

Опиши пошагово порядок своих действий
__________________
Вагоны, они ведь умнее паровоза, потому что они его толкают... когда он тормозит

Последний раз редактировалось JokerrSergh, 15.12.2010 в 12:57.
JokerrSergh вне форума  
 
Непрочитано 14.12.2010, 10:20
#2211
PSG


 
Регистрация: 28.04.2010
Сообщений: 268




Цитата:
Сообщение от JokerrSergh Посмотреть сообщение
visibility-ADD2 это целый комплекс, который может создавать параметры видимости и производить с ними всякие манипуляции. Почитай инструкцию (она написана в той же ссылке), там все написано. После загрузки нужно вводить нужные команды.
После ввода любой команды пишет - неизвестная команда. AutoСAD 2010 русский.
PSG вне форума  
 
Непрочитано 14.12.2010, 10:28
#2212
JokerrSergh


 
Регистрация: 01.10.2008
Сообщений: 136


Цитата:
Сообщение от PSG Посмотреть сообщение
После ввода любой команды пишет - неизвестная команда. AutoСAD 2010 русский.
Команды работают только в пространстве редактора блоков. И загружать приложение тоже нужно в пространстве редактора блоков
__________________
Вагоны, они ведь умнее паровоза, потому что они его толкают... когда он тормозит

Последний раз редактировалось JokerrSergh, 14.12.2010 в 10:36.
JokerrSergh вне форума  
 
Непрочитано 14.12.2010, 16:42
#2213
Supermax

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


PSG, судя по тому, что ты пишешь, ты вообще не знаешь как запускать лисп. В командную строку надо вставлять (бла-бла-бла) вместе со скобками!
Supermax вне форума  
 
Непрочитано 14.12.2010, 17:24 Связанное вращение линий
#2214
Mihailovich


 
Регистрация: 23.08.2006
Россия
Сообщений: 9


Здравствуйте! Помогите пожалуйста со следующей проблемой.
Есть динамический блок видеокамеры. Для визуализации её горизонтального угла обзора предусматриваются 2 линии, выходящие из одной точки.
Каким образом можно обеспечить связанное зеркальное вращение этих линий относительно фиксированной точки в блоке видеокамеры симметрично оси видеокамеры? При этом линии линии должны независимо растягиваться и вращение желательно обеспечить как за ручку первой, так и за ручку второй линии.
Возможно ли каким либо образом вводить произвольное значение угла обзора, в соответствии с которым линии будут поворачиваться зеркально на половинное значение угла симметрично оси видеокамеры?
Мною "в лоб" реализован дискретный ввод угла при помощи Lookup таблицы, но он не совсем устраивает.
И общий вопрос, следующий из всей вышеописанной задачи - каким образом можно связать actions произвольной функцией.
Вложения
Тип файла: dwg
DWG 2007
CameraDWG.dwg (83.9 Кб, 5575 просмотров)
Mihailovich вне форума  
 
Непрочитано 14.12.2010, 22:45
#2215
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


Цитата:
Сообщение от Mihailovich Посмотреть сообщение
Есть динамический блок видеокамеры. Для визуализации её горизонтального угла обзора предусматриваются 2 линии, выходящие из одной точки.
Каким образом можно обеспечить связанное зеркальное вращение этих линий относительно фиксированной точки в блоке видеокамеры симметрично оси видеокамеры? При этом линии линии должны независимо растягиваться и вращение желательно обеспечить как за ручку первой, так и за ручку второй линии.
А как сделать линии угла обзора видимыми в редакторе блоков?
АлексЮстасу вне форума  
 
Непрочитано 14.12.2010, 22:51
#2216
Supermax

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


JokerrSergh,
Все, апгрейд сделал.
http://forum.dwg.ru/showpost.php?p=293460&postcount=209

Последний раз редактировалось Supermax, 14.12.2010 в 23:27.
Supermax вне форума  
 
Непрочитано 15.12.2010, 06:19
#2217
JokerrSergh


 
Регистрация: 01.10.2008
Сообщений: 136


Цитата:
Сообщение от Supermax Посмотреть сообщение
судя по тому, что ты пишешь, ты вообще не знаешь как запускать лисп. В командную строку надо вставлять (бла-бла-бла) вместе со скобками!
Было дело, я тоже этого не знал. Хотя, раньше я все лиспы без скобок запускал и они работали

Цитата:
Сообщение от Supermax
Все, апгрейд сделал.
Все гениальное - просто
__________________
Вагоны, они ведь умнее паровоза, потому что они его толкают... когда он тормозит
JokerrSergh вне форума  
 
Непрочитано 15.12.2010, 10:06
#2218
PSG


 
Регистрация: 28.04.2010
Сообщений: 268



PSG, судя по тому, что ты пишешь, ты вообще не знаешь как запускать лисп. В командную строку надо вставлять (бла-бла-бла) вместе со скобками!
Все может быть. Раньше не приходилось этим заниматься, но это же не преступление.
При вводе в командную строку (бла-бла-бла) вместе со скобками ( естественно в редакторе блоков) AutoCAD вылетает - фатальная ошибка.
PSG вне форума  
 
Непрочитано 15.12.2010, 11:07
#2219
Mihailovich


 
Регистрация: 23.08.2006
Россия
Сообщений: 9


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
А как сделать линии угла обзора видимыми в редакторе блоков?
С помощью редактора дополнительных параметров Visibility Set http://forum.dwg.ru/showthread.php?t=24597. Сделал Visibility Set с углом обзора текущим - см. прикрепленный файл. Будьте внимательны - там реализованы углы обзора серого и голубого цветов. Вообще не обязательно ковырять именно мой блок, мне важно понять как это делается в принципе - т.е. можно просто создать свой блок из двух линий...
Вложения
Тип файла: dwg
DWG 2007
CameraDWG2.dwg (86.9 Кб, 5537 просмотров)
Mihailovich вне форума  
 
Непрочитано 15.12.2010, 17:32
#2220
Войду[В]Доверие

Алюминиевые конструкции
 
Регистрация: 09.12.2010
Lausanne, CH
Сообщений: 117


Цитата:
Сообщение от JokerrSergh Посмотреть сообщение

"Или своей фразой "Реализовать это не сложно" ты как раз имеешь ввиду, что сам динблок будет пересчитывать приращения внутри себя?"

Именно.

Формулы я уже вывел:
n= (целое число от выражения L/350)-1;
n-количество целых элементов (длиной =350)
L-общая длина блока (от начала блока до ручки)
Приращение ∆:
∆=(L-350*n)/2;

Похоже, что я поторопился с фразой "Реализовать это не сложно". Не могу сообразить, куда и как эти формулы вставить. Выражения ДИЗЕЛЬ почему-то не работают внутри блока (или я не так их использую). А как переместить от начала блока первый элемент на величину приращения ∆ пока не могу сообразить.
Да, действительно, осталось сообразить куда и как эти формулы вставлять, я вообще, что касается программы, ничего не соображаю, НО, вникнуть готов )) и, надеюсь, с вашей помощью до этого добраться. Сразу вопрос: "Что такое команды ДИЗЕЛЬ?"

Цитата:
Сообщение от JokerrSergh Посмотреть сообщение
Мое видение решения задачи (при условии сдвигания блока в одну сторону- вправо):
1. Двигаем за ручку.
2. Получаем длину блока и считаем кол-во целых элементов n и приращение .
3. Оперецией перемещения отодвигаем первый элемент на величину приращения . (пока не знаю как это реализовать)
4. Копируем перемещенный элемент n-ное кол-во раз с шагом 350
Идея хорошая - реализуема, но малясь муторная, т.к. опять же при отсутсвии автоматизации, все сводится к тому, чтобы сидеть и при каждом изменении длины блока пересчитывать начальную точку вставки элемента. Следовательно - не айс.
Но с твоей подачи вышел на другой маневр: приращение длины - за ручку вправо, установка элемента по центру блока, затем, размножение оных в оба конца - не худший вариант, но и не идеал. При размножении ручка убегает за пределы блока, хотя и не сильно мешает, но как-то некрасиво )
Вложения
Тип файла: dwg
DWG 2007
test3.dwg (152.3 Кб, 5434 просмотров)
Войду[В]Доверие вне форума  
Закрытая тема
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Мои динамические блоки