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

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

Хитрый блок

Ответ
Поиск в этой теме
Непрочитано 09.12.2004, 14:17
Хитрый блок
Vova
 
Engineer
 
New-York
Регистрация: 05.09.2003
Сообщений: 10,288

Обыкновенно для ускорения черчения применяются либо специальные самодельные инструменты (лиспы-макросы) либо особые приемы работы (не всем известные возможности автокада вроде Alias или опции выбора Fence). Но есть еще один путь. Например, создать хитрый блок. Ранее мне удалось создать блок, который автоматически разрывает линию под собой. Этот блок описан в книге AutoCAD Язык макрокоманд и создание кнопок. (там, кроме собственно разрыва линии, происходит действие, похожее на съем блоков с Design Center, советую ознакомиться).
Теперь я поставил и, кажется, решил такую задачу: блок не разрывает линию, но закрывает ее своим телом.Больше того, под блоком линия может превратиться, например, в пунктирную, оставаясь при этом сплошной. Такие блоки в разы ускоряют черчение, например, технологических схем, где на линию нанизаны разные блоки. Я отрабатывал эту идею на элекрической схеме 60-этажного здания. Десятки вертикальных линий, а на них Тэги (ярлыки)-блоки с именем этой линии. Десятки горизонтальных линий - разводка по этажам, также с тэгами. Всего около 500 тэгов. Многие линии в процессе разработки схемы надо перемещать, чтобы внедрить вновь появляющиеся связи или более удачно скомпоновать чертеж. Обычно под тэгом линии разрывались. При перемещении тэгов линии разрывались на новом месте и сращивались на старом. Любая хотелка шефа превращалась в непростую работу. Теперь все значительно упростилось. Линии не состоят теперь из кусочков. Тэги перемещаются, скрывая под собой линии на новом месте и открывая их на старом.
Прошу откликнуться, насколько актуальна эта проблема. Есть ли у кого готовое решение и кто согласен поучаствовать в эксперименте, который я задам? Потому что блок не простой, при неправильной технологии он капризничает, требует особого к себе отношения. Потребуется строго соблюдать порядок работы и отчитываться о проделанном.
Просмотров: 94300
 
Непрочитано 03.02.2006, 11:33
#61
Rytis


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


sto by kontur blocka bil s radiusom. Mozno bi zdelat naprimer sm. fail
[ATTACH]1138955594.dwg[/ATTACH]
__________________
God bless you
Rytis вне форума  
 
Непрочитано 03.02.2006, 11:36
#62
v_alex


 
Регистрация: 24.10.2005
Новокузнецк
Сообщений: 1,124
<phrase 1=


Цитата:
Сообщение от Rytis
a mozno zdielat block s radyusom. (prostite za yazik)
придется радиус рисовать мелкими прямыми линиями...
Цитата:
Сообщение от VVA
Ну так оно получится, если wipeout'om закрыть сплошные, а поверх рисуй себе пунктирные, швы, болты и т.д.
можно так, а можно мелкими wipeoutами... выпустил из виду сообщение написанное ранее...

p.s. у архитекторов возникли вопросы с возможностью испольхования хитрых блоков в трехмерном проектировании... какие соображения?
v_alex вне форума  
 
Непрочитано 03.02.2006, 12:21
#63
VVA

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


>Rytis №61
Все равно не понял кто кого должен закрыть и где должен быть радиус

>v_alex
Цитата:
Правда для каждого № швеллера по идее будет свой блок
Все равно остается актуальным, правда может, наверное, помочь динамический блок из 2006 (еще не разбирался). С 3-х меркой я пас, мы больше в земле'с
VVA вне форума  
 
Непрочитано 03.02.2006, 12:46
#64
Rytis


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


radius dolzen bit u detali, u kotorou odin kontur dolzen byt s radiusom. a sama detal u est block. smotret muo fail. kak zdelat stoby wipoutom narisovana liniya bila s radiusom.
ya dumay sto V_alex uze otvetil.
__________________
God bless you
Rytis вне форума  
 
Автор темы   Непрочитано 04.02.2006, 05:45
#65
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Цитата:
Сообщение от Jurasic
Vova:
Цитата:
Заодно вопрос-загадка: Заметил-ли кто-нить интересненькое, не относящиеся совственно к хитрому блоку?
Это не про гиперссылки ли речь?? Ссылки на чертежи, в которых, видимо, планы этажей, да? Или есть еще чего-то??
Точно, гиперссылка. На номер этажа, который представлен в виде горизонтальной линии. Вместо того, чтобы гонять этот огромный чертеж к его краю, если надо узнать, на каком этаже а нахожусь, просто подвожу курсор к линии-и тут-же всплывает подсказка. Так-же я делаю и с осями здания. Кто может, откройте мой фрагмент пост №52 на 2006 и на более ранней версии и почувствуйте разницу. В 2006 появилась совершенно ненужная инфа, загромождающая экран. Может, есть рецепт от нее избавится?
VVA> oткрыл слой и убедился, все работает. Товар-то лицом надо показывать, то есть самому открыть слой...
Vova вне форума  
 
Автор темы   Непрочитано 04.02.2006, 05:51
#66
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Цитата:
Сообщение от Rytis
radius dolzen ....l.
Зайди на сайт http://translit.ru/ и через него пиши нормальными русскими буквами. Там можно настроить клавиатуру так, что англ буквы в большинстве будут совпадать с русскими. Я печатаю англ буквами без русских наклеек, получается довольно споро.
Vova вне форума  
 
Непрочитано 12.02.2006, 17:21
#67
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Цитата:
Порядок слоёв на экране может меняться при внесении данного файла XREFом в другой файл.
Что подразумевается под порядком слоев? Это функция отображения всего что на слое выше всех, может быть тогда написать лисп на выбор всех объектов определенного слоя и отображения их выше всех и проблема уйдет? Крыс?
Да и еще: при создании блока tfames - грани блока были ON. поумолчанию - чертеж весил 30 кб, после того когда я две раза щелкнул трумблер tfames - стал весить 102 кб.
Всвязи с этими рамками вайпаута, предлагаю как уже и предлагал рассмотреть вариант с ассоциативной штриховкой, в акаде 2006 вроде бы уже ассоциативность стала нормально работать. Выкладываю пример динамического блока акада 2006, со штриховкой, если есть какие-то причины по которым нельзя использовать hatch, объяните сам пока не вижу.
[ATTACH]1139754847.dwg[/ATTACH]
Sleekka вне форума  
 
Непрочитано 13.02.2006, 09:01
#68
Кулик Алексей aka kpblc
Moderator

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


> Sleekka : там дело в том, что при программной вставке блока с wipeout (или вставке его через Toolpalettes) могут быть определенные проблемы - в частности, wipeout может вылезти поверх примитивов блока. Многоуважаемый ZZZ посказал решение - при создании таких блоков имеет значение не порядок отображения (_.drawporder) примитивов, а порядок их создания. Т.е. сначала должны быть сделаны примитивы, которые закрываются wipeout'ом, потом собственно wipeout, а затем уже примитивы, которые лежат поверх wipeout. И вот только тогда делать уже собственно блок.
Говорю сразу, что 2006 я не пользуюсь (в силу различных причин), так что динамические блоки проходят мимо...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 13.02.2006, 10:46
#69
Krieger

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


Зацените:
[ATTACH]1139816761.rar[/ATTACH]
Krieger вне форума  
 
Непрочитано 13.02.2006, 13:41
#70
Jurasic


 
Регистрация: 10.01.2005
Москва
Сообщений: 89
<phrase 1=


Господа, пользуюсь "хитрыми блоками" давно и давольно успешно.. А тут нужно было отправить такой чертеж в виде wmf - выявилась такая мелкая неприятность - при экспорте в wmf (как средствами самого акада так и внешними програмами) все wipeout разбиваются на кучу растровых картинок - в результате размер файла wmf вместо 100 кб возрастает до 1,5-2/5 Мб. Пробовал конвертировать в pdf, тоже не фонтан - те места где был wipeout заливается черным... Кто нибудь сталкивался с подобным?? Как быть??
Jurasic вне форума  
 
Непрочитано 13.02.2006, 13:47
#71
Кулик Алексей aka kpblc
Moderator

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


Я не спец по растрам, но на уровне идеи: а почему бы не распечатать в jpg / png и потом конвертнуть? Или это нереал полный получается?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 13.02.2006, 13:55
#72
v_alex


 
Регистрация: 24.10.2005
Новокузнецк
Сообщений: 1,124
<phrase 1=


Цитата:
Сообщение от kpblc
Я не спец по растрам, но на уровне идеи: а почему бы не распечатать в jpg / png и потом конвертнуть? Или это нереал полный получается?
если просто картинка нужна, тогда нормально... если вектор... то... могу посоветовать отредактировать wmf в кореле и заменить растр на вектор...
v_alex вне форума  
 
Непрочитано 13.02.2006, 14:30
#73
Jurasic


 
Регистрация: 10.01.2005
Москва
Сообщений: 89
<phrase 1=


Речь идет о сотнях или даже ТЫСЯЧАХ растров.... Я не считал, но акад при экспорте вылетает через раз на третий, а один раз при конверации в папке где был создан wmf файл остались 1,5 тысячи файлов bmp - видимо промежуточный результат экспорта wipeout'ов. Решением, ИМХО, в данном случае является замена wipeout на штриховку белого цвета.
И еще одна идея, в порядке бреда - порядок объектам задается не по слою, а по объектам. Т.е. программно задается конечное количество перекрытий, например 10 (на самом деле используется обычно не более 4-5). Порядок объекта задается пользователем и записывется в его расширенные данные (например). Тогда все примитивы чертежа будут на уровне 0 то что выше +1, +2 и так далее, то что ниже - -1,-2 и т.д. Затем если порядок по каким либо причинам сбился, нажимается кнопка / срабатывает реактор и порядок возвращается на заранее определенный. Если энтузиастов не найдется, попробую написать самостоятельно...
Jurasic вне форума  
 
Непрочитано 01.06.2007, 19:26
#74
Алексиус

Инженер-механик
 
Регистрация: 01.06.2007
Южно-Сахалинск
Сообщений: 4


2 Jurasic
"...Речь идет о сотнях или даже ТЫСЯЧАХ растров.... Я не считал, но акад при экспорте вылетает через раз на третий, а один раз при конверации в папке где был создан wmf файл остались 1,5 тысячи файлов bmp — видимо промежуточный результат экспорта wipeout'ов. Решением, ИМХО, в данном случае является замена wipeout на штриховку белого цвета..."""

Не подходит для меня этот вариант. Хоть и заманчив.
Для меня самым оптимальным вариантом был бы просто разрыв на заданное расстояние линии проведенной под произвольным углом. Стандартная кнопка — Break.
http://www.autocad.ru/cgi-bin/f1/board.cgi?t=35993QI
З.Ы.
Я лиспом неделю назад стал только заниматься, и то только на работе в свободные минутки.
Люди! Человеки! Маги и волшебники от клавиатуры и мыши! Помогите с кодом. С помошью стандартных акадовских функций. Без vla- функций.
Я ничё в них не понимаю.
__________________
Критикуйте - может быть поможет.
Алексиус вне форума  
 
Непрочитано 09.06.2008, 08:17
#75
Volodich

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


Читал и разбирался с этой темой в несколько приемов. Причем читал сначала сначала до конца, потом наоборот, потом вообще выборочно.
Сделал "хитрый блок" с wipeout-ом. До этого я догадывался еще не читая этой темы.
Но отсюда пытаюсь вынести для себя полезную кнопку - чтобы все эти блоки поднять "над" чертежом.
Но пока не получается
Хочу сделать блок, в котором wipeout лежит на отдельном слое "0wipeout" (по совету VVA), чтобы можно было его отключать при работе.
То есть, надо "поднять" наверх все объекты этого слоя.
1й макрос от Vova:
Код:
[Выделить все]
"^C^C_Getsel;\;_draworder;p;;f"
выдает: Неизвестная команда "GETSEL".
2й макрос от Кулик Алексей aka kpblc:
Код:
[Выделить все]
^C^C_-Layer;_set;0;Freeze;*;^C^C_-Layer;_Thaw;ИмяПоднимаемогоСлоя;;^C^C_Draworder;_All;;_Front;_-Layer;_Thaw;*;;
работает, но я бы сделал по-другому:
3й вариант:
Код:
[Выделить все]
^C^C_-Layer;_set;ИМЯ_ПОДНИМАЕМОГО_СЛОЯ;Freeze;*;^C^C_Draworder;_All;;_Front;_LayerP;
В таком случае после выполнения команды мы возвращаемся к предыдущему состоянию слоев.

НО! Команда не работает, если wipeout находится на отдельном слое! Т.к. при замораживании всех слоев на экране ничего не остается. Не знаю пока как решить эту проблему. Посоветуйте, пожалуйста.
Выкладываю блок, на котором эксперементировал.
Вложения
Тип файла: dwg
DWG 2004
тест.dwg (41.2 Кб, 2399 просмотров)
Volodich вне форума  
 
Непрочитано 09.06.2008, 08:49
#76
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Посмотри тему Окна и проемы в стенах.
Там решение решение (багодаря Kpblc'у) уже нашлось.
Makswell вне форума  
 
Непрочитано 09.06.2008, 13:28
#77
Volodich

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


Нашел одну проблему в этих "хитрых" блоках. Например, блок прямоугольной формы, wipeout тоже прямоугольной формы по размеру блока. (см. блок из поста 75). И когда этот блок копируешь, то почему-то контуры линий не видны. То есть как бы слегка мерцают, но чем-то перекрываются. Когда не двигаешь, то все нормально. Есть выход, делать wipeout размером на 0.05 маньше, чем контур блока, но это извращение по-моему, да тем более конфигурации могут быть разные и это очень неудобное решение. Ну либо второе решение - отключать слой wipeout'ов и работать. Но тоже тогда сразу не видишь всей картины...
Volodich вне форума  
 
Непрочитано 09.06.2008, 14:13
#78
VVA

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


Volodich, Обычно _regenall помогает
Еще можно сделать такой пирожок:
1. Контур блока (полилиния)
2. Wipeout
3. Контур блока (полилиния)
Тогда как бы описание блока не "перевернулось", wipeout будет всегда посередине.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 10.06.2008, 06:38
#79
Volodich

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


Действительно, помогает... Спасибо, VVA!
Volodich вне форума  
 
Непрочитано 25.11.2008, 18:04
#80
KOVBAN


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


Цитата:
Сообщение от Jurasic Посмотреть сообщение
Господа, пользуюсь "хитрыми блоками" давно и давольно успешно.. А тут нужно было отправить такой чертеж в виде wmf - выявилась такая мелкая неприятность - при экспорте в wmf (как средствами самого акада так и внешними програмами) все wipeout разбиваются на кучу растровых картинок - в результате размер файла wmf вместо 100 кб возрастает до 1,5-2/5 Мб. Пробовал конвертировать в pdf, тоже не фонтан - те места где был wipeout заливается черным... Кто нибудь сталкивался с подобным?? Как быть??
posmoti syuda
Вложения
Тип файла: dwg
DWG 2004
Drawing2.dwg (49.0 Кб, 2410 просмотров)
KOVBAN вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Хитрый блок

Размещение рекламы