|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
26.06.2010, 16:32 | #1 | |
Обрезать все линии внутри нескольких выбранных полилиний
Регистрация: 25.01.2010
Сообщений: 7
|
||
Просмотров: 13126
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Alea, Добро пожаловать на форум!
Тебе помогут сделующие команды: 1. EXTRIM из ExpressTools (на всякий случай ExpressTools или иногда ET - это бесплатное дополнение к Автокаду, входит в дистрибутив) 2. CookieCutter2 - more fun with ET extrim Судя по вопросу с лиспом обращаться умеешь. Если нет - читай по ссылке в моей подписи. По поводу поста #2 - это тоже то, что нужно. Создаешь блок размером 1x1 с маскировкой (часть 2 статьи). Задавая в свойствах масштаб по x и y легко превращаешь его в окно нужного размера. Можно при определенном навыке сделать этот блок динамическим.
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Регистрация: 25.01.2010
Сообщений: 7
|
И EXTRIM и CookieCutter2 выбирает только одну полилинию и нужно указывать сторону, где резать. В любом случае, гораздо удобнее обычного trim, спасибо, не знала про эти команды! Но у меня этих прямоугольников (окошек) больше 200 на каждом доме, для каждого нужно повторять операцию отдельно, что резать, что блок с маскировкой ставить(((
Хотя идею подали: можно все окошки тупо заштриховать солидом в цвет листа (белым) и поставить штриховку на передний план, на экране выглядит погано, а при печати - то, что нужно))) И все же, может быть можно программку написать? Чтобы выбрать все прямоугольники и вырезать то, что попало внутрь? Кто-нибудь пишет на заказ и сколько такая программка может стоить? Т.е., получается, нужно команду EXTRIM , переделать так, чтобы можно было выбрать режущие кромки рамкой, все сразу, и указать точки внутри ВСЕХ прямоугольников. Последний раз редактировалось Alea, 26.06.2010 в 18:00. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
У команды _trim есть замечательная опция _fence...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 25.01.2010
Сообщений: 7
|
А толку? То же самое делает и рамка... Все равно, тем или иным образом, нужно выбирать линии внутри каждого прямоугольника, а их (прямоугольников)- много...
Т.е. в программе нужно выбрать прямоугольники, секущая линия - это диагональ каждого прямоугольника...алгоритм, кажется, понятен.. напишите кто-нибудь, а?! Последний раз редактировалось Alea, 26.06.2010 в 21:26. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Alea, Проще "закрыть" их маскировками (WIPEOUT)
Если каждый прямоугольник - это ЗАМКНУТАЯ полилиния. Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 26.05.2011 в 15:40. Причина: Обработка предварительного выбора |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
В строке
Цитата:
PS. Я подправил #8. Если нужны и незамкнутые полилинии, то убери из красной строчки '(70 . 1)
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Регистрация: 25.01.2010
Сообщений: 7
|
Все работает, спасибо огромное!)
Только если в готовом чертеже запускать - маскировку рисует не на полилиниях, а где-то в другом месте, но это не проблема, один раз и перетащить не трудно))) Маскировкой раньше практически не пользовалась, ведет она себя мало предсказуемо (для меня), порядок слоев меняется, часть маскировки уходит назад, часть остается впереди.... нервирует. Нет ли возможности в автокаде зафиксировать порядок слоев, типа как в фотошопе? "Штатной" функции не нашла((( Последний раз редактировалось Alea, 30.06.2010 в 22:53. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Добавил обработку ПСК в #8
Меню Вид->Регенерировать все
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Я предпочитаю отключать контур (в команде _WIPEOUT опция Контур/Frame)
Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 01.07.2010 в 22:44. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
vade, Разницы нету. Ты код в #14 смотрел? (нажми на +)
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Отличный, очень нужный лисп создания оптом масок - я тоже искал такой ))
По поводу удаления-обрезания-вырезания. Tool Pack-->Object-->Erase-->Inside Objects позволяет удалять все элементы, попадающие внутрь контуров, причем, контуров можно сразу указать много. И никаких точек-элементов внутри указывать не требуется! Проблема там, во-первых, в том, что удалятся элементы целиком, а не обрежутся по границам контуров. Во-вторых, даже если элементы предварительно разбить на границах контуров, то эта утилита либо внутри контуров не удалит все примыкающие к границе (Erase Crossing Objects - N), либо удалит все - и внешние тоже (Erase Crossing Objects - Y). Разрезание элементов на пересечениях есть - http://forum.dwg.ru/showthread.php?t...t=breakobjects Можно на основе этих наработок сделать и удаление всех частей всех элементов внутри множества указанных контуров, не указывая точек или элементов внутри контуров? |
||||
|
||||
Цитата:
Цитата:
Оттого, что у меня 2006? |
||||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Обновил #8. Сделал 2 команды (с удалением и без удаления исходных полилиний)
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание нового типа линий | Apelsinov | AutoCAD | 915 | 08.07.2022 12:36 |
Не все линии проекции отображаются при использовании Sectionplane | NK2891 | AutoCAD | 9 | 02.06.2009 09:09 |
все линии отображаются одной толщиной это при включенном LWG | lisa4ka | AutoCAD | 7 | 05.02.2007 20:36 |
ЮМОР 2006 =) | Perezz!! | Разное | 1122 | 04.01.2007 00:46 |
Переход в пунктирные линии примитивов,блоков внутри rectang | DDlis | Программирование | 3 | 12.03.2005 11:39 |