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

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

Хитрый блок

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

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


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,327


s_get, чем блок резал? Командой _clipit из комплекта Express Tools?
Тогда границу отправить на непечатный или замороженный слой
Хмурый вне форума  
 
Непрочитано 08.06.2009, 10:37
#122
s_get

архитектура
 
Регистрация: 05.06.2009
СПБ
Сообщений: 67


ура!
XCLIPFRAME (0/1) - получилось! извините за беспокойство ))
s_get вне форума  
 
Непрочитано 04.08.2009, 02:50 разрезание линий под дин. блоками автоматом
#123
АлексЮстасу

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


Одним заказчикам достаточно видимости разрывов линий под динамическими блоками, а другим реальные разрывы подавай. Иногда это менеджеры выясняют слишком поздно...
А разрывать под каждым блоком линии долго, даже с помощью макросов.
Можно ли придумать прогу, которая бы пробежалась по всем (-указанным) дин. блокам, и из площадей их wipeout'ов активной видимости вырезала все (-указанное)?
Только для активной видимости, т.к. в ряде дин. блоков заложено несколько wipeout'ов для разных вариантов видимости.
АлексЮстасу вне форума  
 
Автор темы   Непрочитано 04.08.2009, 04:49
#124
Vova

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


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Одним заказчикам достаточно видимости разрывов линий под динамическими блоками, а другим реальные разрывы подавай. .
Возможно, поможет #118
Vova вне форума  
 
Непрочитано 04.08.2009, 13:47
#125
АлексЮстасу

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


Цитата:
Сообщение от Vova Посмотреть сообщение
Возможно, поможет #118
Да, я читал и вдохновился
Но, если я правильно понял, там вырезание под дин. блоками происходит поштучно, т.е. долго. И ненадежно - легко что-то пропустить.
АлексЮстасу вне форума  
 
Автор темы   Непрочитано 04.08.2009, 14:46
#126
Vova

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


Там разрезание происходит при вставке блока
Vova вне форума  
 
Непрочитано 04.08.2009, 14:57
#127
АлексЮстасу

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


Цитата:
Сообщение от Vova Посмотреть сообщение
Там разрезание происходит при вставке блока
Но блок же при этом уже не блок - взрывается? Да и при вставке еще не знаешь, останется ли этот блок точно на этом месте

Моя идея здесь в максимуме гибкости и скорости: наставил блоков с масками. Если заказчика (да и себя) маски устраивают, то хорошо. А если нужно фактически разрезать линии под дин. блоками, то программкой пройтись разом по всем.

Кстати, вдруг пригодится кому-то из чайников вроде меня - мой супер-гипер-мега макрос для ручного вырезания линий из площадей дин. блоков:
[FONT=Arial]*^C^C_trim;\;\;[/FONT]
Указал границу в блоке-указал линию в его площади. И так до Esc. Плохо только, что нельзя указать в площади сразу все вырезаемые линии. Только по одной. Но число действий в среднем все равно в два раза меньше, чем прямо вызывать Трим. Чем могу...

Последний раз редактировалось АлексЮстасу, 04.08.2009 в 15:11.
АлексЮстасу вне форума  
 
Автор темы   Непрочитано 04.08.2009, 16:51
#128
Vova

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


QUOTE=АлексЮстасу;430957]Но блок же при этом уже не блок - взрывается? Да и при вставке еще не знаешь, останется ли этот блок точно на этом месте
[/quote]

1. Остается блоком
2. Поэтому и родился "хитрый" блок
3. Почему Заказчик выставил такое странное требование-иметь разрывы под блоком? Он переделывает ваши файлы? Если так, хитрый блок без умения с ним работать не подходит. Научите, дайте им инструменты, впрочем дайте им ссылку на эту тему.
Vova вне форума  
 
Непрочитано 04.08.2009, 18:04
#129
АлексЮстасу

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


Цитата:
Сообщение от Vova Посмотреть сообщение
1. Остается блоком
3. Почему Заказчик выставил такое странное требование-иметь разрывы под блоком? Он переделывает ваши файлы? Если так, хитрый блок без умения с ним работать не подходит. Научите, дайте им инструменты, впрочем дайте им ссылку на эту тему.
1. Нижайше прошу прощения - невнимательно, значит, читал...
3. Заказчик ставит свои условия - какие хочет. И переделывать приходится не ему, а мне. Исполнители о желаниях заказчиков узнают как всегда "вовремя". Если уже блоки расставлены с масками, то под ними быстро повырезать все линии без программки шибко непросто...

Одно ведь другому не мешает: и блоком сразу можно резать, и программкой потом - почему нет? Больше возможностей - больше гибкости. Программки хороши тем, что ими быстрее и надежнее, чем вручную.
АлексЮстасу вне форума  
 
Автор темы   Непрочитано 04.08.2009, 20:46
#130
Vova

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


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Заказчик ставит свои условия - какие хочет. .
Интересен мотив, которым руководствуется заказчик.
Если разрабатывать программу, которая-бы вырезала под блоками линию, то, поскольку блоки разные, все равно придется тыкать курсором в каждый блок индивидуально. Программа, очевидно, сможет найти самую внешнюю границу для режущей кромки, но ведь бывает, блок такой, что вырезать надо не внешними границами, или блок касается соседней линии, которую не следует вырезать. То есть программа будет обслуживать частные случаи. Может, программисты и заинтересуются. Но рисовать, скажем. схему будет неудобно. Сначала все блоки сажаются поверх линий, и это продолжается несколько дней, в течение которых чертеж выглядет малочитабельно, а потом, когда все устаканились, одним махом все вырезать. Правда, если блоки хитрые....Кстати, а сколько таких блоков на твоих чертежах?
Vova вне форума  
 
Непрочитано 05.08.2009, 01:18
#131
АлексЮстасу

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


Цитата:
Сообщение от Vova Посмотреть сообщение
Интересен мотив, которым руководствуется заказчик.
Если разрабатывать программу, которая-бы вырезала под блоками линию, то, поскольку блоки разные, все равно придется тыкать курсором в каждый блок индивидуально.
Заказчики руководствуются чаще всего своими привычками и уровнем маразма Но в хитром блоке ведь предусмотрено разрезание линий... Так что заказчики не хуже нас

Поскольку все блоки разные, то нужен однозначный критерий - границы wipeout'ов активного состояния видимости. Т.е., используя это правило, в каждый блок тыкать не нужно - прога находит в дин. блоках wipeout'ы и из их границ вырезает все (указанное).

Цитата:
Сообщение от Vova Посмотреть сообщение
Программа, очевидно, сможет найти самую внешнюю границу для режущей кромки, но ведь бывает, блок такой, что вырезать надо не внешними границами, или блок касается соседней линии, которую не следует вырезать. То есть программа будет обслуживать частные случаи.
Резать нужно под теми дин. блоками, которые находятся в видимом стостоянии или указаны прямо - указано название блоков, задана выборка с блоками.
Резать без сомнения всегда нужно то, что должны в блоке закрывать wipeout'ы.
И резать нужно, конечно же не вообще все линии, а, например, только находящиеся в видимом состоянии.
По-моему, вполне та же степень "частности", что и у большинства программ вообще

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

Цитата:
Сообщение от Vova Посмотреть сообщение
Кстати, а сколько таких блоков на твоих чертежах?
Сотни файлов, в каждом до 2-2.5 тысяч дин.блоков с масками. И сроки адские. Согласись - не подарок вручную-то...
АлексЮстасу вне форума  
 
Автор темы   Непрочитано 05.08.2009, 03:12
#132
Vova

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


2.5 тысячь блоков.... О чем чертеж? Что за проект, в котором сотни фйлов и столько грамотных на применение хитрых блоков исполнителей? И все это для одного заказчика?
Напоминаю, хитрые блоки иногда поглощают границу своих масок, особенно если их копировать из файла в файл. Приходится чиниить. Это может сделать не каждая тетка.
Vova вне форума  
 
Непрочитано 05.08.2009, 17:45
#133
АлексЮстасу

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


Цитата:
Сообщение от Vova Посмотреть сообщение
Что за проект, в котором сотни фйлов и столько грамотных на применение хитрых блоков исполнителей?
Ничего особо хитрого у меня нет: вставить нужный блок, развернуть, растянуть, выбрать нужный вариант видимости.
Не сильно сложнее транзисторов-резисторов из статьи
Просто я постарался заменить все повторяющиеся элементы на дин. блоки. Кстати, сильно потерял в скорости черчения, когда блоков много в одном файле.
И постарался во всех дин. блоках, которые исключают другие элементы, предусмотреть маски. Но, например, один из проектов начался уже давно, когда дин. блоков я еще не сделал, и в нем везде под соответствующими объектами линии вырезались. И сдавать его хочешь-не хочешь придется с разрезанными линиями.
Но, независимо от конкретного случая, думаю, что вырезать оптом всегда технологичнее, лучше, чем поштучно. Да и иметь в запасе возможность не вырезать до последнего момента - пока все замены, перемещения, исправления не сделаны.
Да и вдруг заказчик одумается

Последний раз редактировалось АлексЮстасу, 05.08.2009 в 17:54.
АлексЮстасу вне форума  
 
Непрочитано 05.08.2009, 19:25
#134
Krieger

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


Я думаю никто тебе прогу не напишет. Поэтому начинай вырезать, чем раньше начнешь, тем раньше закончишь.
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 05.08.2009, 20:38
#135
АлексЮстасу

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


Цитата:
Сообщение от Krieger Посмотреть сообщение
Я думаю никто тебе прогу не напишет. Поэтому начинай вырезать, чем раньше начнешь, тем раньше закончишь.
Не сомневайтесь: режем-колем-рубим-гасим вручную уже полгода... Будьте уверены - нашинкуем, руки заодно накачаем. Дурное дело - нехитрое
Я бы сам написал, если бы умел
Но, по-моему, идея нормальная - вырезать в самый последний момент оптом, когда все уже вставлено-исправлено-проверено.
АлексЮстасу вне форума  
 
Автор темы   Непрочитано 05.08.2009, 22:23
#136
Vova

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


АлексЮстасу, ты так и не ответил, что за чертеж такой, который содержит Две с По-ло-виной ТЫ-СЯ-ЧИ блоков. И все эти блоки должны быть врезаны в линии. И в проекте таких чертежей сотни. Назови конкретно, что это, если не секрет. Все-таки, я автор хитрых блоков, и польщен что эта идея работает даже в таких сверхчертежах. В конце концов могу претендовать на поощрения от вашего руководства. Ведь без таких блоков работа двигалась-бы куда медленней
Vova вне форума  
 
Непрочитано 06.08.2009, 02:20
#137
АлексЮстасу

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


Цитата:
Сообщение от Vova Посмотреть сообщение
АлексЮстасу, ты так и не ответил, что за чертеж такой, который содержит Две с По-ло-виной ТЫ-СЯ-ЧИ блоков. И все эти блоки должны быть врезаны в линии. И в проекте таких чертежей сотни. Назови конкретно, что это, если не секрет. Все-таки, я автор хитрых блоков, и польщен что эта идея работает даже в таких сверхчертежах. В конце концов могу претендовать на поощрения от вашего руководства. Ведь без таких блоков работа двигалась-бы куда медленней
Не во всех файлах по 2.5 тысячи, не все врезаны в линии - не будем сгущать краски Да и у меня уже есть предположение, что с расширенным применением дин. блоков я переборщил - эти "сверхчертежи" тормозят слишком сильно.
Увы, я не уверен, что мои блоки по-настоящему хитрые. Мои динамические блоки с масками, и актуален вопрос разрезания линий под ними. Поэтому я влез в эту ветку. Я могу поддерживать здесь пока только эти темы. Если этого мало, то извинюсь искренне, что отвлекал внимание...
От руководства же пока одни "бонусы" за торможение работы Автокада и за затруднения вырезания линий под блоками - из площадей замкнутых полилиний вырезать легче...
АлексЮстасу вне форума  
 
Автор темы   Непрочитано 06.08.2009, 05:24
#138
Vova

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


Да ладно, не обижайся. Я настырный, если вижу неточности, или когда для красного словца что-то приукрашают. Правильно что влез в ветку, продолжай, и не только сюда.
Vova вне форума  
 
Непрочитано 06.08.2009, 14:31
#139
АлексЮстасу

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


Цитата:
Сообщение от Vova Посмотреть сообщение
Да ладно, не обижайся. Я настырный, если вижу неточности, или когда для красного словца что-то приукрашают. Правильно что влез в ветку, продолжай, и не только сюда.
Спасибо!
Вчера ревизовал всевозможные тримы в Express, Tool Pack, MicroStation, полазил по форуму, на Cadusere... В Express, Tool Pack, MicroStation доля ручного труда (укажи каждую границу, укажи каждую линию, которую нужно резать) все равно высока... На форуме есть оч. похожие ветки с выбором, статистикой и даже вырезанием элементов, попадающих в указанные границы... Но все поштучное. Хотя, умеючи лисповать, наверное, можно было бы собрать из фрагментов нужное - похожие задачи фактически уже решены.

Последний раз редактировалось АлексЮстасу, 06.08.2009 в 15:59.
АлексЮстасу вне форума  
 
Непрочитано 06.08.2009, 18:05
#140
Juss_00

Инженер
 
Регистрация: 11.12.2007
Москва
Сообщений: 295


С лиспом я не дружу, читал про него и коды пытался смотреть, так что не знаю его. Но понял что самая простая задача быстро разрастается в огромную, со всякими проверками и уточнениями...

Быть может сработает такая схема...
Зайти в ваши блоки и по контору "Маскировки" Полилинию (в новом слое) задать или просто заменить Максировку Полилинией. Наложив все дин связи на неё. (видов то блоков не должно быть безумное колличество)

ЗАтем вставить получившийся блок с переопределением. (Если будем всё резать порядки прорисовки уже не важны).

КвикСелектов выделяем все блоки - взрываем. Находим все полилинии в новом слое.

А далее просим сделать лисп которые Принимает выбраные полиллинии за контур обрезки и внутриняю площадь за вырезаемые фрагменты.

может быть такое решение возможно? А всё програмно никто здесь делать не возьмётся. (Вон калькулятор что бы цифры отчищал от форматирования - 5 листов кода и 5 листов обсуждения програмеров)
__________________
Live as though tomorrow you will die,
Study as though you will live eternally.
Juss_00 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Хитрый блок

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск