|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Рисование полилинии по другому объекту с привязкой
Регистрация: 26.03.2010
Сообщений: 8
|
||
Просмотров: 15304
|
|
||||
Регистрация: 08.02.2008
Где-то
Сообщений: 8,460
|
jagr, когда-то мне такая идея приходила в голову, но цель была другая, и решилась она копированием на другой слой.
Но сейчас мне просто интересно, какая у тебя цель так точно повторять? И не понимаю относительно "привязки без указания другой точки привязки". Пояснишь?
__________________
Я дарю не рыбу, а удочку и море. www.zodchii.ws, Библиотеки электронных книг Download |
|||
![]() |
|
||||
Регистрация: 26.03.2010
Сообщений: 8
|
Profan, копирование действительно самый очевидный вариант из тех, что мне пришли в голову, но этот метод достаточно трудоемок, если такие операции используются часто.
BM60, нужна отрисовка отдельных замкнутых (ну или не замкнутых) полилиний (условно назову их полигонами) с точным повторением контуров на местах их стыковки. Такой метод цифрования используется, например, в современной цифровой картографии. По поводу привязки, имеется в виду привязка без указания каждой точки полилинии на отрезке к которому необходимо привязаться (то есть я указываю не 100000000000 точек из которых состоит отрезок полилинии, а лишь 2-3, определяющих направление привязки). KennyMckormik, PL-XX что это? Что из себя представляет PL_CLONE? |
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Интересно узнать, а что обводить приходится? Если отрезки и полилинии, то совсем не надо указывать 10000000000000000000 точек, достаточно указать начальную и конечную точки для отрезков и вершины и вторые точки дуговых сегментов (если они есть) для полилиний. Если обводятся сплайны, то тут уже надо указать как можно больше точек для лучшей аппроксимации.
|
|||
![]() |
|
||||
Регистрация: 26.03.2010
Сообщений: 8
|
Profan, обводить надо полилинии, но из Вашего объяснения я, к сожалению, не понял как это сделать средствами AutoCAD не указывая каждую вершину (которых на линии може быть 1000000000000)
![]() Приношу извинения, если запутал использовав термин "точка" для "вершины полилинии". |
|||
![]() |
|
||||
Цитата:
__________________
С уважением sbi |
||||
![]() |
|
||||
Регистрация: 26.03.2010
Сообщений: 8
|
Исправил пример в первом сообщении:
Рисую линию 1, дохожу до точки 2.1 на линии 2, привязываюсь к точке 2.1 на линии 2, зажимаю шифт и указываю точку 2.2 на линии 2 (между точками 2.1 и 2.2 может быть множество вершин линии 2), программа рисует мне линию 1 по линии 2 точно повторяя ее контур (все это время функция рисовки линии не прерывается). Profan, какие исходные полилинии имеются ввиду? sbi, возможно исправленый конкретный пример поможет понять то, что нуждается для Вас в переводе с русского на русский. |
|||
![]() |
|
||||
Цитата:
1. Шикарно было бы пользоваться командой создания замкнутых контуров в виде полилинии после указания внутренней точки области - BOUNDARY (КОНТУР). Только эта команда кривая (см. раздел "Баги"). 2. Вполне можно "бить через дымоход" - создавать Hatch (штриховку), указывая все элементы, составляющие границу нужной области, потом с помощью команды (по правой кнопке) Generate Boundary создаем границу этой штриховки в виде AEC Polygon, а потом (по правой кнопке) конвертируем его в единую полилинию - Convert To->Polyline. Удобно тем, что нужно указывать не начало-конец полилиний, а прямо сами полилинии. И тем, что в местах пересечений полилиний не обязательно не обязательно должны быть узлы. И тем, что штриховки позволят контролировать правильность полученной площади. Потом штриховку удаляем, остается искомая замкнутая полилиния. 3. С помощью Autocad Map 3D можно создавать топологические площадные модели, указывая или набор полилиний (можно сразу для многих областей, а можно только для одной области), или только слои, в которых лежат нужные полилинии. Потом конвертируем эти "топологии" в замкнутые полилинии (Create closed polylines). Правда, исходные полилинии необходимо сначала основательно подготовить: разбить на пересечениях, удалить дубликаты, замкнуть и т.п. Хотя, функция создания площадных топологий все "плохие" места пометит. Можно узнать, где еще картографы не разочаровались в Автокаде? Можно в личку. Последний раз редактировалось АлексЮстасу, 26.03.2010 в 14:34. |
||||
![]() |
|
||||
Цитата:
Тем более, что предварительная чистка карты в значительной степени автоматизированна. |
||||
![]() |
|
||||
Цитата:
Disney - "Получатель"-"Даватель" - это что? |
||||
![]() |
|
||||
Цитата:
![]() Имел в виду других участников. У меня программка Disney просто пока никак не срабатывает. Да и хотелось узнать, что она, собственно, делает, и кто такие "Получатель"-"Даватель"? |
||||
![]() |
|
||||
Цитата:
Объясните, как этим лиспом пользоваться - у меня вообще ничего не получается. |
||||
![]() |
|
||||
Регистрация: 26.03.2010
Сообщений: 8
|
Disney, решение выглядит очень интересно. К сожелению, пока нет возможности проверить работу лиспа; работает ли он для нескольких полилиний? По какому принципу происходит изменение полилинии, почему часть полилинии изменилась, а часть нет?
АлексЮстасу, я не картограф, просто был опыт работы в некоторых программах. |
|||
![]() |
|
||||
Это я знаю. Но при трассировке линий все равно их нужно обойти все-каждую. А в режиме указания всех линий границы области штриховки работают надежно.
|
||||
![]() |
|
||||
Акцептор и Донор тебя устроит?
Цитата:
![]() Цитата:
[IMG]http://s002.***********/i197/1003/8f/3d1224058e68.gif[/IMG] Код:
__________________
Почему все вдруг становятся умными, когда уже не надо? |
||||
![]() |
|
||||
Для непонятливых и криворуких можно?
Что нужно иметь до начала запуска проги? Какова последовательность действий? Что на выходе? Правильно понимаю, что необходимо иметь либо область ограниченную несколькими элементами, либо цепочку из соединенных-пересекающихся элементов? И нужно создать одну замкнутую полининию, совпадающую со всеми вершинами ограничивающих область элементов? Либо одну полилинию, повторяющую все вершины цепочки элементов? Я думал, что нужно просто указать все эти элементы, и на выходе получить эту самую единую полилинию. |
||||
![]() |
|
||||
[IMG]http://i021.***********/1003/d7/4b20dbbe61cc.gif[/IMG] [IMG]http://i080.***********/1003/cd/c61bca9dab97.gif[/IMG] Как по какому? по тобой описанному, только не в процессе построения полилинии, а уже после. Изменяется та часть полилинии, 2(3) последовательные вершины которой совпадают с вершинами донора. АлексЮстасу, если ещё вопросы остались спрашивай ![]()
__________________
Почему все вдруг становятся умными, когда уже не надо? |
||||
![]() |
|
||||
Цитата:
![]() По-моему, в изложенной jagr задаче цель довести полилинию до какой-то абстрактной точки на другом элементе - совсем не главная. Почти всегда это либо конец, либо место пересечения с другим элементом. Все-таки: задача у jagr заключается в получении новой полилинии, точно повторяющей форму цепочки полилиний, дуг и т.п. (Новую полилинию, которой хотелось бы все обвести, тоже можно рассматривать как существующую). Соответственно, чтобы получить эту общую полининию, достаточно указать последовательно все элементы цепочки, которые хотелось бы обвести (начиная с этой "новой"). Так можно сделать? Т.е. человек сначала рисует к существующему набору примыкающих/перескающихся элементов нужное число примыкающих линий, потом вызвает Ваш лисп (предлагаю назвать его ближе к сути, например "trasser"), и указывает нужные элементы. На выходе - новая полилиния. Последний раз редактировалось АлексЮстасу, 27.03.2010 в 18:17. |
||||
![]() |
|
||||
Для этого уже есть решения:
Цитата:
[IMG]http://i027.***********/1003/dd/687104bf8105.gif[/IMG] В сложном случаи, уже много желающих... ![]()
__________________
Почему все вдруг становятся умными, когда уже не надо? |
||||
![]() |
|
||||
Цитата:
1. PL-CSE - замечательная. Только она не делает две искомых вещи: не сохраняет старые линии (а задача была - новую добавить), и не обрабатывает фрагменты между пересечениями - а только совпадающие концами элементы. И результат ее работы может быть малопредсказуем, если к полилиниям цепочки примыкают другие элементы. 2. С TotalPurge примерно та же история. 3. _BOUNDARY - очень нужная и очень востребованная команда. Иногда даже работает. Но про плохую дееспособность _BOUNDARY на разных форумах говорится уже лет десять - не меньше. См. и мои свежие пять копеек: http://forum.dwg.ru/showthread.php?t=49256 Может, кстати, подскажете: в архиве Pltools не оказалось pltools.cui -- "меню для подгрузки в AutoCAD с 2006 включительно". А хотелось бы поставить нормально - с меню к моему 2008. Последний раз редактировалось АлексЮстасу, 28.03.2010 в 05:02. |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,408
|
По-моему, в pltools был включен файл *.mnu. Загружается в любую версию AutoCAD через команду _.menuload
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Цитата:
Еще с большим удовольствием пробежался по возможностям Pltools - до решения нашей задачи просто рукой подать ![]() |
||||
![]() |
|
||||
Цитата:
Чертим полилинию или 3дполилинию, вводим прозрачную команду 'fsg (с апострофом), указываем первую и вторую точку на существующей полилинии, и чертим свою полилинию дальше. Получается новая полилиния, примыкающая к существующей, и полностью повторяющая часть существующей - от ближайшей вершины к первой указанной точке до ближайшей вершины ко второй указанной точке. При черчении следующих полилиний команда будет доступна в списке на правой кнопке в Последний ввод (Recent input).
__________________
количество моих сообщений не говорит о знании Автокада Последний раз редактировалось АлексЮстасу, 06.05.2021 в 18:14. |
||||
![]() |