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

Вернуться   Форум 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.
Просмотров: 1891932
 
Непрочитано 30.10.2009, 12:30
#1441
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от Shoorup Посмотреть сообщение
Спасибо за блок только не пойму всеравно как он работает. Вернее как не работает Что это за такой атрибут ?
А как сделать такой блок, что бы он не открывался редактором блоков, в случае если блок не содержит атрибутов?
Как сделать такой блок (под рукой только английская версия):
- заходим в редактор блока, запускаем комманду _attdef (создает описание атрибута)
- в диалоге ставим галочки как в прилагаемом рисунке, остальное - по желанию (прим.: там есть обязательные поля, без которых атрибут может не создаться)
- жмем ОК и вставляем атрибут в блок
- сохраняем изменения, выходим из редактора блока
- запускаем комманду _attsync, выбираем опцию _select, затем указываем наш блок, на запрос: "ATTSYNC block <тут имя блока>?" вводим _yes.
В чем суть: когда блок содержит атрибут, то по двойному щелчку на нем, вместо предложения редактировать блок выскакивает диалог редактирования атрибутов. В этом же случае мы создаем просто невидимый атрибут (невидимый, если системная переменная ATTMODE имеет значение по умолчанию). А вторую галочку ставим для того, чтобы при вставке блока через комманду _insert не запрашивалось значение этого атрибута.
Миниатюры
Нажмите на изображение для увеличения
Название: invisible_attr.JPG
Просмотров: 181
Размер:	34.5 Кб
ID:	28024  
Do$ вне форума  
 
Автор темы   Непрочитано 30.10.2009, 17:44
#1442
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Что-то я ступил про это я вкурсе. Вот как бы сделать так чтобы нигде не открывался по двойному клику. Без редактирования макроса.
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 31.10.2009, 20:04
#1443
_Ri_

проектирование СЦБ
 
Регистрация: 18.10.2009
Иркутск
Сообщений: 11
<phrase 1=


Примерчик забора динамическим блоком. Никак не могу придумать как сделать так, чтобы при таскании за стрелку через определенные промежутки появлялся столб вместо доски. И еще почему-то размер файла конский получился
Вложения
Тип файла: zip example.zip (6.02 Мб, 124 просмотров)
_Ri_ вне форума  
 
Непрочитано 01.11.2009, 12:20
#1444
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Цитата:
Сообщение от _Ri_ Посмотреть сообщение
Примерчик забора динамическим блоком. Никак не могу придумать как сделать так, чтобы при таскании за стрелку через определенные промежутки появлялся столб вместо доски. И еще почему-то размер файла конский получился
Добавь еще один массив к линейному параметру применительно к столбу с другим шагом. Правда получится не вместо доски, в вместе с доской. Если все-же хочется "вместо", то можно переодическую часть укрупнить, т.е. сделать её например с одним столбом и десятью досками.
По поводу объема файла. Сделай "_wblock", у меня вес до 700kb упал.
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 01.11.2009, 19:31
#1445
_Ri_

проектирование СЦБ
 
Регистрация: 18.10.2009
Иркутск
Сообщений: 11
<phrase 1=


О, за _wblock отдельное спасибо! Ну как бы мысль понятна, просто подумал может есть какое-то еще элегантное решение, чтобы длины прожилин и соответственно разное количество досок на них можно было сделать. Еще нюанс - сделал второй массив да, почему при растягивании по расстоянию уже должен повторяться элемент массива, а его нет? Получается более длинная поперечина в конце, без столба
Вложения
Тип файла: dwg
DWG 2004
example2.dwg (923.1 Кб, 3053 просмотров)
_Ri_ вне форума  
 
Непрочитано 03.11.2009, 08:45
#1446
Volodich

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


У меня возник вопрос по блокам пока принципиальный.
Можно ли сделать динамический блок, в котором одна из величин рассчитывается по формуле?
Объясняю для чего: Я хочу сделать для начала очень простой блок - одиночный молниеприемник. Пусть выглядит как круглешок, диаметром 2мм. В свойствах задаю высоту молниеприемника (H) и высоту, на которой хочу получить радиус молниезащиты (Hx). Забиваю формулу: Rx=1,5(H-Hx/0,92). И хочу чтобы вокруг круглешка прорисовалась пунктиром окружность, радиусом Rx. Как вариант - можно еще задать выбор масштаба (100, 200, 500). Но главное принцип - рисовать круг с радиусом, рассчитанным по формуле.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 03.11.2009, 10:17
#1447
wetr

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


Цитата:
Сообщение от Volodich Посмотреть сообщение
У меня возник вопрос по блокам пока принципиальный.
Можно ли сделать динамический блок, в котором одна из величин рассчитывается по формуле?
Объясняю для чего: Я хочу сделать для начала очень простой блок - одиночный молниеприемник. Пусть выглядит как круглешок, диаметром 2мм. В свойствах задаю высоту молниеприемника (H) и высоту, на которой хочу получить радиус молниезащиты (Hx). Забиваю формулу: Rx=1,5(H-Hx/0,92). И хочу чтобы вокруг круглешка прорисовалась пунктиром окружность, радиусом Rx. Как вариант - можно еще задать выбор масштаба (100, 200, 500). Но главное принцип - рисовать круг с радиусом, рассчитанным по формуле.
В 2010 про формулы уже было.
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 03.11.2009, 12:17
#1448
Volodich

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


Цитата:
Сообщение от wetr Посмотреть сообщение
В 2010 про формулы уже было.
А если не в 2010, то невозможно? До нас сей новшество еще не дошло...
Я где-то видел подобные примеры, там длина невидимой линии изменялась и в соответствии с ней менялась картинка. Но не помно где это было, а как реализовано тем более.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 03.11.2009, 16:16 Rx=1,5(H-Hx/0,92)
#1449
ытя


 
Регистрация: 23.09.2005
СПб
Сообщений: 428


Набросал тут в первом приближении
Вложения
Тип файла: dwg
DWG 2004
Rx=.dwg (37.2 Кб, 3129 просмотров)
ытя вне форума  
 
Непрочитано 04.11.2009, 18:55
#1450
Vavan Metallist


 
Регистрация: 30.01.2008
Україна, Львів
Сообщений: 6,057


В редакторе блоков исчезли панели с иконками "Parameter" и "Action", можно только вводить в командной строке. Есть системная переменная типа Filedia?
Спасибо, вроде разобрался.

Последний раз редактировалось Vavan Metallist, 04.11.2009 в 20:13.
Vavan Metallist вне форума  
 
Непрочитано 05.11.2009, 06:56
#1451
Volodich

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


Цитата:
Сообщение от ытя Посмотреть сообщение
Набросал тут в первом приближении
Ого! А теперь еще пошагово объясни, пожалуйста, как такое сделать? Хотя бы в общих чертах.
wetr, по-моему, стоит такое видео сделать Или если есть подобное, подскажи где?

Добавлено: как ни кручу блок, никак не могу понять с чего все это началось и как работает
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...

Последний раз редактировалось Volodich, 05.11.2009 в 07:02.
Volodich вне форума  
 
Непрочитано 05.11.2009, 09:48
#1452
ытя


 
Регистрация: 23.09.2005
СПб
Сообщений: 428


На замороженном "Defpoints" нарисована линия с начальной длиной Hx.
1) Hx задается "Linear Parameter". Длина линии изменяется "Stretch" с коэф. 1,087 (=1/0,92);
2)H задаётся "Linear Parameter" и с помощью "Move" двигает всё из п.1;
3)H-Hx/0.92 - "Linear Parameter", изменяемый с помощью "Stretch" из п.1. Он управляет "Stretch" R=1.5(H-Hx/0.92), который растягивает с коэф. 1,5 ["Linear Parameter" R=1.5(H-Hx/0.92)]
4)["Linear Parameter" R=1.5(H-Hx/0.92)] через ["Scale" R] изменяет радиус окружности.

Последний раз редактировалось ытя, 05.11.2009 в 12:01. Причина: поправил слегка
ытя вне форума  
 
Непрочитано 05.11.2009, 13:48
#1453
Константин Тарасов


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


Здравствуйте! Есть желание видеть значение атрибута динамического блока в нескольких местах этого блока. Попробовал вставить в поле "значение" описания атрибута, но результата не дало, вставляется значение по умолчанию. Подскажите, как можно это сделать?
Вложения
Тип файла: dwg
DWG 2007
блок.dwg (340.3 Кб, 2995 просмотров)
Константин Тарасов вне форума  
 
Непрочитано 05.11.2009, 14:31
#1454
Volodich

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


Цитата:
Сообщение от ытя Посмотреть сообщение
На замороженном "Defpoints" нарисована линия с начальной длиной Hx.
1) Hx задается "Linear Parameter". Длина линии изменяется "Stretch" с коэф. 1,087 (=1/0,92);
2)H задаётся "Linear Parameter" и с помощью "Move" двигает всё из п.1;
3)H-Hx/0.92 - "Linear Parameter", изменяемый с помощью "Stretch" из п.1. Он управляет "Stretch" R=1.5(H-Hx/0.92), который растягивает с коэф. 1,5 ["Linear Parameter" R=1.5(H-Hx/0.92)]
4)["Linear Parameter" R=1.5(H-Hx/0.92)] через ["Scale" R] изменяет радиус окружности.
У меня мозги кипят!!! А можно сюда принцип работы? (на каждом шаге)
Еще тут ничего не написано про то что линия длиной не Hx, а Hx/0,92. для чего так?
И еще ничего не написано про Strech "H-Hx/0.92". Насколько я понял он "H" растягивает? А зачем все объекты "move" ?
Я сделал все как написано по шагам, но не работает.
Прикладываю файл. Еще не могу понять почему не все слои удаляются purge и из-за чего у него такой большой размер?

И еще... У меня-то очень простая формула, если будет сложнее, то блок будет еще в 10 раз сложнее накручен? Более простых способов как-нибудь через поля нету?
И вот еще, есть какой-то общий принцип построения блока, связанного с фомулой? (с конца формулы и т.п.)
Вложения
Тип файла: dwg
DWG 2004
R.dwg (543.4 Кб, 2988 просмотров)
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...

Последний раз редактировалось Volodich, 05.11.2009 в 14:42.
Volodich вне форума  
 
Непрочитано 05.11.2009, 15:43
#1455
ытя


 
Регистрация: 23.09.2005
СПб
Сообщений: 428


Сначала исправленное(красным) описание:
На замороженном "Defpoints" нарисована линия с начальной длиной Hx/0.92

1) Hx задается "Linear Parameter". Длина линии изменяется <"Stretch"Hx/0.92> с коэф. 1,087 (=1/0,92);

2)H задаётся "Linear Parameter" и с помощью <"Move" H> двигает всё из 1);

2,5)<"Stretch"H-Hx/0.92> растягивает <"Linear Parameter"H-Hx/0.92 > из 3) при изменении H

3)<"Linear Parameter"H-Hx/0.92 >, изменяемый с помощью <"Stretch"Hx/0.92> из 1) и <"Stretch"H-Hx/0.92> из 2,5) . Он управляет <"Stretch"R=1.5(H-Hx/0.92)>, который растягивает с коэф. 1,5 <"LinearParameter"R=1.5(H-Hx/0.92)>

4)<"Linear Parameter"R=1.5(H-Hx/0.92)> через <"Scale"R> изменяет радиус окружности.

Цитата:
А зачем все объекты "move" ?
Выполняет роль (-Hx/0.92) в формуле H-Hx/0.92

В <"Stretch"R=1.5(H-Hx/0.92)> надо коэффициент 1,5 поставить

Последний раз редактировалось ытя, 05.11.2009 в 15:48. Причина: добавил
ытя вне форума  
 
Непрочитано 05.11.2009, 15:48
#1456
Vombat

HVAC (ОВК)
 
Регистрация: 08.10.2005
Ukraine, L'viv
Сообщений: 822


Здравствуйте.
Помогите пожалуйста усовершенствовать дин. блок вентиляционного отвода. Хотелось бы чтоб точка вставки (базовая точка) отвода соответствовала средней точки воздуховода к которому отвод подсоединяется. (на чертеже видно).
К большому сожалению у меня не получилось.
Прошу помощи у Вас хотя бы с первым вариантом (90 град), с остальными разберусь с Вашей помощью.
Спасибо.
Вложения
Тип файла: dwg
DWG 2004
otvod_1.dwg (92.2 Кб, 3001 просмотров)
Vombat вне форума  
 
Непрочитано 06.11.2009, 07:52
#1457
Volodich

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


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

И еще вот эти вопросы остались без внимания (или они его не заслуживают?):
Цитата:
И еще... У меня-то очень простая формула, если будет сложнее, то блок будет еще в 10 раз сложнее накручен? Более простых способов как-нибудь через поля нету?
И вот еще, есть какой-то общий принцип построения блока, связанного с фомулой? (с конца формулы и т.п.)
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 06.11.2009, 09:53
#1458
ытя


 
Регистрация: 23.09.2005
СПб
Сообщений: 428


Цитата:
Сообщение от Volodich Посмотреть сообщение
А как вам-то удалось такое сообразить, тем более так быстро?
Был спортивный интерес.
Цитата:
Сообщение от Volodich Посмотреть сообщение
есть какой-то общий принцип построения блока, связанного с фомулой?
Принцип, наверное, должен быть, но я его для себя не выводил. Просто старался учесть все арифметические действия формулы.


Цитата:
Сообщение от Volodich Посмотреть сообщение
Более простых способов как-нибудь через поля нету?
Может и есть, я не пробовал.
Думаю, упростить можно с помощью Lookup-ов, если набор значений ограничен (Hx напрмер).
ытя вне форума  
 
Непрочитано 06.11.2009, 10:33
#1459
Volodich

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


Я теперь пытаюсь сделать этот блок для масштаба 1:500.
И не понимаю поведение блока. Почему-то когда ставлю в strech R=1.5(H-Hx/0.92) коэффициент вместо 1,5 = 3, радиус как-то нелогично уменьшается.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 06.11.2009, 11:01
#1460
ытя


 
Регистрация: 23.09.2005
СПб
Сообщений: 428


А не логично ли сделать блок для масштаба 1:1 и масштабировать уже сам блок при вставке?
ытя вне форума  
Закрытая тема
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Мои динамические блоки