Как получить все координаты 3D-полилинии, не взрывая её?
Мне нужно получить все координаты 3D полилинии (не взрывая её). Дело в том, что 3D полилиния имеет такие параметры как smooth. Что делать если полилиния "сглажена"? Как в таком случае получить координаты прямых из которых состоит полилиния?
#2 Ответ от kpblc 20 декабря 2005г. 13:29:37
- Откуда: С.-Петербург
- На форуме с 29 ноября 2004г.
- Сообщений: 8,348
- Спасибо: 23
Re: Как получить все координаты 3D-полилинии, не взрывая её?
Чтобы получить все координаты всех вершин, вопользуйся
Возвращает одномерный список из координат вершин (3Д-точки для 3dpoly и 2Д-точки для lwpolyline). Если надо получить вершину со строго определенным номером
#3 Ответ от Олег(jr.) 20 декабря 2005г. 13:45:01
- На форуме с 10 августа 2004г.
- Сообщений: 917
- Спасибо: 5
Re: Как получить все координаты 3D-полилинии, не взрывая её?
> Антон
Что-то вроде этого:
#4 Ответ от Антон 20 декабря 2005г. 13:48:55
- На форуме с 1 апреля 2005г.
- Сообщений: 70
- Спасибо: 0
Re: Как получить все координаты 3D-полилинии, не взрывая её?
В том-то всё и дело, что получить координаты вершин относительно просто. А вот как получить реальные координаты полилинии?
kpblc для теста можно начертить 3Д полилинию из 2 линий.
Выдаст ровно 3 координаты.
НО.
Если поставить Properties->fit/smooth->quadratic
То полилиния изменится, а код будет выдавать те же 3 координаты!
В этом и есть суть вопроса — как получить РЕАЛЬНЫЕ координаты полилинии?
#5 Ответ от kpblc 20 декабря 2005г. 13:54:55
- Откуда: С.-Петербург
- На форуме с 29 ноября 2004г.
- Сообщений: 8,348
- Спасибо: 23
Re: Как получить все координаты 3D-полилинии, не взрывая её?
Стоп. По тормозам. сглаживание полилинии не приводит к изменению координат ее вершин, об этом, по-моему, по всей документации говорится. Она ж вершина, куда ей деваться-то? А есть снять сглаживание, чего будет? Если вершина "съедет", как можно будет это объяснить? Так что вершина сидит как вкопанная, чего ей еще делать-то?
Или вопрос задан некорректно, и надо на самом деле определять не вершины, а некоторые точки, ближайшие к указанной?
#6 Ответ от Александр Ривилис 20 декабря 2005г. 13:58:10
- Откуда: Украина / Киев
- На форуме с 15 апреля 2005г.
- Сообщений: 8,661
- Спасибо: 158
Re: Как получить все координаты 3D-полилинии, не взрывая её?
> Антон
Что такое "реальные координаты полилинии"? Если ты ее "скруглил", то у тебя уже нет реальных вершин этой полилинии и единственный способ — это выполнить ее апроксимацию, т.е. в зависимости от параметра получать точку на полилинии.
#7 Ответ от Антон 20 декабря 2005г. 13:59:46
- На форуме с 1 апреля 2005г.
- Сообщений: 70
- Спасибо: 0
Re: Как получить все координаты 3D-полилинии, не взрывая её?
Вопрос задан совершенно корретный:
"Как получить координаты прямых из которых состоит полилиния?"
Если полилинию взорвать — она, независимо от сглаживания, распадётся на набор прямых, который меня и интересует. Вопрос в том как найти координаты этих прямых без взрывания полилинии.
#8 Ответ от kpblc 20 декабря 2005г. 14:04:22
- Откуда: С.-Петербург
- На форуме с 29 ноября 2004г.
- Сообщений: 8,348
- Спасибо: 23
Re: Как получить все координаты 3D-полилинии, не взрывая её?
Все, теперь я перегрелся. Суть вопроса дошла.
Хотя с другой стороны, все равно вопрос не до конца не понятен (все равно, правда, я помочь не смогу) — как минимум шаг получения координат надо знать да направление, по которому получать эти координаты для каждого сегмента полилинии.
—
ИМХО
—
Пока писал, новые посты появились. Антон, ты уж определись, чего тебе надобно. Если ты знаешь начальную и конечную координату отрезка, ты сможешь получить координаты любой точки, принадлежащей этому отрезку.
#9 Ответ от Евгений Елпанов 20 декабря 2005г. 14:10:47
- Откуда: Москва
- На форуме с 2 июля 2004г.
- Сообщений: 2,538
- Спасибо: 10
Re: Как получить все координаты 3D-полилинии, не взрывая её?
#10 Ответ от Антон 20 декабря 2005г. 14:37:43
- На форуме с 1 апреля 2005г.
- Сообщений: 70
- Спасибо: 0
Re: Как получить все координаты 3D-полилинии, не взрывая её?
Евгений, я проверил Ваш код, но. Увы и ах. К сожалению он выдаёт набор точек на полилинии. Причем где-то посередине полилинии, а не от начала и до конца. Всё равно спасибо, вопрос остаётся открытым.
#11 Ответ от Антон 20 декабря 2005г. 14:44:25
- На форуме с 1 апреля 2005г.
- Сообщений: 70
- Спасибо: 0
Re: Как получить все координаты 3D-полилинии, не взрывая её?
Извиняюсь. Сам дурак! Евгений Вы — Гений! Ваш код работает. Спасибо
#12 Ответ от Олег(jr.) 20 декабря 2005г. 15:23:07
- На форуме с 10 августа 2004г.
- Сообщений: 917
- Спасибо: 5
Re: Как получить все координаты 3D-полилинии, не взрывая её?
> Антон
Ты рано радуешься, я тоже в свое время делал код
исходя из vlax-curve-getPointAtParam, посмотри
внимательно разницу для замкнутых и разомкнутых полилиний
#13 Ответ от Антон 20 декабря 2005г. 15:27:21
- На форуме с 1 апреля 2005г.
- Сообщений: 70
- Спасибо: 0
Re: Как получить все координаты 3D-полилинии, не взрывая её?
Для теста написал следующий код:
По-моему всё работает.
Программа взрывает 3Дполилинию
#14 Ответ от VH 20 декабря 2005г. 17:43:17
- На форуме с 14 июня 2001г.
- Сообщений: 1,381
- Спасибо: 7
Re: Как получить все координаты 3D-полилинии, не взрывая её?
AutoCAD Help: Developer Documentation/DXF Reference/ENTITIES Section/VERTEX:
Vertex group codes
100 Subclass marker (AcDbVertex)
100 Subclass marker (AcDb2dVertex or AcDb3dPolylineVertex)
10 Location point (in OCS when 2D, and WCS when 3D)
.
70 Vertex flags:
1 = Extra vertex created by curve-fitting
2 = Curve-fit tangent defined for this vertex. A curve-fit tangent direction of 0 may be omitted from DXF output but is significant if this bit is set
4 = Not used
8 = Spline vertex created by spline-fitting
16 = Spline frame control point
32 = 3D polyline vertex
64 = 3D polygon mesh
128 = Polyface mesh vertex
.
то есть все вершины 3D-Полилинии, у которых группа 70 содержит значение 40, являются точками на сглаженной кривой и располагаются как раз ". на концах прямых (то есть отрезков — VH.). ".
С помощью (entsel) выбрать 3D-Полилинию. С помощью (entnext) выбирать последовательно вершины. С помощью (entget) получать сведения об очередной вершине. С помощью (assoc) выбрать группу 70 и с помощью (logand) проанализировать ее значение. Ежели в состав значения входят и 32 и 8 (в сумме 40) — это "вершина" на сглаженной кривой, в противном случае можно эту вершину пропустить.
И никакого ActiveX?
Sorry, you have been blocked
This website is using a security service to protect itself from online attacks. The action you just performed triggered the security solution. There are several actions that could trigger this block including submitting a certain word or phrase, a SQL command or malformed data.
What can I do to resolve this?
You can email the site owner to let them know you were blocked. Please include what you were doing when this page came up and the Cloudflare Ray ID found at the bottom of this page.
Cloudflare Ray ID: 7c81d3106f74c31c • Your IP: Click to reveal 138.199.34.31 • Performance & security by Cloudflare
Получение координат полилинии в AutoCAD
Получение координат полилинии необходимо при оформлении чертежей границ земельных участков. Можно в свойствах переключаться между вершинами и просматривать координаты каждой вершины.

Конечно можно их переписать. Но если их сотня или тысяча?
В AutoCAD есть команда, выдающая всю информацию об объектах. В том числе и координаты вершин полилиний. На чертеже нужно выбрать нужный объект и набрать СПИСОК.
Программа выдаст информацию об объекте. Теперь координаты точек можно выделить и скопировать.
Форум для экологов
Есть еще один хитрый и универсальный способ переносить координаты из а-када в эксель или наоборот. С макросом IZACoords для источников выбросов он наверное уже не актуален, но подойдет если надо снять большой массив вершин какой-нибудь изолинии или если нет возможности установить этот макрос.
Спойлер

Re: Как перенести координаты из AutoCad в Excel
Сообщение Che Guevara » 13 сен 2014, 18:05
Re: Как перенести координаты из AutoCad в Excel
Сообщение Yasva » 13 сен 2014, 19:59
Re: Как перенести координаты из AutoCad в Excel
Сообщение masm0 » 14 сен 2014, 06:43

Re: Как перенести координаты из AutoCad в Excel
Re: Как перенести координаты из AutoCad в Excel
Сообщение nightroad » 05 дек 2022, 09:14
Ответственность
Форум «Форум для экологов» является общедоступным для всех зарегистрированных пользователей и осуществляет свою деятельность с соблюдением действующего законодательства РФ.
Администрация форума не осуществляет контроль и не может отвечать за размещаемую пользователями на форуме «Форум для экологов» информацию.
Вместе с тем, Администрация форума резко отрицательно относится к нарушению авторских прав на территории «Форум для экологов».
Поэтому, если Вы являетесь обладателем исключительных имущественных прав, включая:
— исключительное право на воспроизведение;
— исключительное право на распространение;
— исключительное право на публичный показ;
— исключительное право на доведение до всеобщего сведения
и Ваши права тем или иным образом нарушаются с использованием данного форума, мы просим незамедлительно сообщать нам по электронной почте.
Ваше сообщение в обязательном порядке будет рассмотрено. Вам поступит сообщение о результатах проведенных действий, относительно предполагаемого нарушения исключительных прав.
При получении Вашего сообщения с корректно и максимально полно заполненными данными жалоба будет рассмотрена в срок, не превышающий 5 (пяти) рабочих дней.
Наш email: eco@integral.ru
ВНИМАНИЕ! Мы не осуществляем контроль за действиями пользователей, которые могут повторно размещать ссылки на информацию, являющуюся объектом Вашего исключительного права.
Любая информация на форуме размещается пользователем самостоятельно, без какого-либо контроля с чьей-либо стороны, что соответствует общепринятой мировой практике размещения информации в сети интернет.
Однако мы в любом случае рассмотрим все Ваши корректно сформулированные запросы относительно ссылок на информацию, нарушающую Ваши права.
Запросы на удаление НЕПОСРЕДСТВЕННО информации со сторонних ресурсов, нарушающей права, будут возвращены отправителю.