Ошибки команды СОЕДИНИТЬ (замыкает, превращает в сплайн)
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Ошибки команды СОЕДИНИТЬ (замыкает, превращает в сплайн)

Ошибки команды СОЕДИНИТЬ (замыкает, превращает в сплайн)

Ответ
Поиск в этой теме
Непрочитано 15.08.2023, 14:07 #1
Ошибки команды СОЕДИНИТЬ (замыкает, превращает в сплайн)
wepp
 
Инжиниринг
 
Тюмень
Регистрация: 16.09.2011
Сообщений: 235

Первый раз столкнулся с таким поведением команды. Полилиния получена импортом из PDF. Очевидно, что-то с ней не так. Если выбирать отдельные части, то можно получить отдельные соединённые участки. Но если выбрать целиком, то на отдельных участках полилиния будет пытаться сомкнуться. Если разрушить всё на отрезки, то тоже будет замыкание, причём иного вида. Свойство "замкнуто" у этой не появляется, но у других - да.

На изображении исходная полилиния и варианты соединения (без предварительного разрушения и с ним).



Объединение без проблем происходит только через СОЕДИНИТЬПОЛ (ПОЛРЕД) с опцией "добавить".

Версия Autocad - 2021. В версии 2016 проблемы нет.

Миниатюры
Нажмите на изображение для увеличения
Название: глюк полилинии.png
Просмотров: 324
Размер:	14.5 Кб
ID:	258111  

Вложения
Тип файла: dwg
DWG 2010
глюк полилинии.dwg (83.7 Кб, 4 просмотров)


Последний раз редактировалось wepp, 25.08.2023 в 11:05. Причина: добавил версию
Просмотров: 1149
 
Непрочитано 15.08.2023, 14:34
#2
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Да вроде нормально объединяет
Цитата:
Команда: _JOIN
Выберите исходный объект или несколько объектов для присоединения: Противоположный угол: найдено: 23
Выберите объекты для объединения:
Объединено сегментов: 22, получена 1 полилиния
и получается полилиния без всяких замыканий.
Сергей812 вне форума  
 
Автор темы   Непрочитано 17.08.2023, 12:54
#3
wepp

Инжиниринг
 
Регистрация: 16.09.2011
Тюмень
Сообщений: 235


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
и получается полилиния без всяких замыканий.
Занятно. Глюк зависит от версии. Добавил в первый пост информацию. Сейчас проверил в 2016: лучше, но всё равно не то. Объединяет в два приёма.

Цитата:
Команда: _JOIN
Выберите исходный объект или несколько объектов для присоединения: Противоположный угол: найдено: 23
Выберите объекты для объединения:
Объединено сегментов: 21, получено полилиний: 2
Цитата:
Команда: СОЕДИНИТЬ
найдено: 2
Объединено сегментов: 10, получена 1 полилиния
Видимо есть какая-то ошибка с объектами и сегментами. Нарисовал свои линии (две из одного сегмента и одну из двух):
Цитата:
Команда: СОЕДИНИТЬ
найдено: 3
Объединено сегментов: 3, получена 1 полилиния
А у этой 23 объекта, а сегмента потом 22. Либо как у меня 23 и 21, а потом сразу 2 и 10. Возможно, есть какие-то скрытые сегменты?
wepp вне форума  
 
Автор темы   Непрочитано 25.08.2023, 11:04
#4
wepp

Инжиниринг
 
Регистрация: 16.09.2011
Тюмень
Сообщений: 235


Ещё про недоработки команды соединить. При объединении двух полилиний получаем сплайн. В русскоязычном сегменте ответа не нашёл, но вот что пишут:
Код:
[Выделить все]
these two polylines were created based on different coordinate systems, one with Z-value positive and the other with Z-value negative
В моём случае объект создавался программным способом, так что неудивительно, что такое могло быть.

И у себя, похоже, увидел эту разницу через просмотр DXF-кода:
Код:
[Выделить все]
((-1 . <Имя объекта: 17004e4b9f0>) (0 . LWPOLYLINE) (330 . <Имя объекта: 17004e509f0>) (5 . 757) (100 . AcDbEntity) (67 . 0) (410 . Model) (8 . Т_ТРАССА) (370 . -3) (100 . AcDbPolyline) (90 . 2) (70 . 0) (43 . 0.0) (38 . 0.0) (39 . 0.0) (10 -4.38708e+06 7.25628e+06) (40 . 0.0) (41 . 0.0) (42 . 0.073959) (91 . 0) (10 -4.3871e+06 7.25632e+06) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (210 0.0 0.0 -1.0))
Код:
[Выделить все]
((-1 . <Имя объекта: 17004e4ef70>) (0 . LWPOLYLINE) (330 . <Имя объекта: 17004e509f0>) (5 . 61F) (100 . AcDbEntity) (67 . 0) (410 . Model) (8 . Т_ТРАССА) (370 . -3) (100 . AcDbPolyline) (90 . 4) (70 . 0) (43 . 0.0) (38 . 0.0) (39 . 0.0) (10 4.38693e+06 7.25618e+06) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 4.38701e+06 7.25619e+06) (40 . 0.0) (41 . 0.0) (42 . 0.210375) (91 . 0) (10 4.38704e+06 7.25622e+06) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 4.38708e+06 7.25628e+06) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (210 0.0 0.0 1.0))
В том топике рекомендовали eplode, flatten и join, но у меня не сработало. В итоге было проще перерисовать объект руками.
wepp вне форума  
 
Непрочитано 25.08.2023, 11:05
#5
Кулик Алексей aka kpblc
Moderator

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


У тебя системы координат разные. В разные стороны направлены. Все ж попробуй
_ucs _w
_plan _c
_flatten (указывать обе полилинии)
И потом уже _.pedit _j
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 26.08.2023, 21:31
#6
wepp

Инжиниринг
 
Регистрация: 16.09.2011
Тюмень
Сообщений: 235


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
У тебя системы координат разные.
У меня - одна, это вертикальное решение во время своей работы создаёт один объект в разных СК. Не совсем понял, чем поможет _plan, но попробую алгоритм в другой версии, т.к. по проблеме выше уже отловил, что AutoCAD ведёт себя по-разному с одной и той же полилинией.
Я пробовал убрать минус в координатах вручную, но видимо полилиния где-то хранит информацию о ПСК, т.к. убрав минус, в моей ПСК он наоборот появился и полилиния "улетела".
wepp вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Ошибки команды СОЕДИНИТЬ (замыкает, превращает в сплайн)



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сбой всех команд Acad2018. d.mOnII AutoCAD 10 30.08.2017 23:26
В файле acad.pgp не назначается команда на букву "О" и не срабатывает команда "Разорвать в точке" Вася завод Программирование 2 15.12.2014 23:46
Как указать необходимые участки полилинии makxvl Программирование 5 22.03.2013 09:55
выноски к полилинии gizmo_zx Программирование 6 01.03.2010 12:17
команда _boundary и толщина полилинии Jason AutoCAD 19 22.04.2009 04:25