В местах дуг реверс не работает

Автор Тема: В местах дуг реверс не работает  (Прочитано 7130 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AtomohodАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
Здравствуйте!

Делаю реверсирование полилинии. Тип линии для полилинии свой - Х это символ англ. алфавита + сплошная. Пользуемся давно, проблем с ней не было. В местах дуг реверс не работает. Как это исправить? Контур замкнут.


Отмечено как Решение Александр Ривилис 16-04-2020, 21:30:01

Оффлайн Привалов Дмитрий

  • ADN Club
  • *****
  • Сообщений: 534
  • Карма: 117
Re: В местах дуг реверс не работает
« Ответ #1 : 16-04-2020, 17:17:24 »
Делаю реверсирование полилинии. Тип линии для полилинии свой - Х это символ англ. алфавита + сплошная. Пользуемся давно, проблем с ней не было. В местах дуг реверс не работает. Как это исправить? Контур замкнут.
Выглядит странно, нужно проверить саму полилинию, посмотреть тип линии и проверить свойство "Генерация типа линий".
Выложи хотя бы пример.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: В местах дуг реверс не работает
« Ответ #2 : 16-04-2020, 17:25:09 »
Делаю реверсирование полилинии.
Как делаешь? Своим кодом? Командой AutoCAD?
Выложи чертеж с этой полилинией. И укажи версию AutoCAD.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AtomohodАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
Re: В местах дуг реверс не работает
« Ответ #3 : 16-04-2020, 19:46:20 »
Замечено при пользовании родной команды Reverse из контекстного меню редактирования полилинии в самом Autocad 2015. Описание типа линии, файл *.lin
*-SL Removable floor,X---X---X
A,300.0,0,["X",Спецзнак,S=210.0,R=0.0,X=0.0,Y=20],300.
Вручную это не получилось побороть - поэтому ищу решения с помощью кода.
Файл выкладываю тоже.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: В местах дуг реверс не работает
« Ответ #4 : 16-04-2020, 19:59:29 »
Atomohod,
Привалов Дмитрий написал абсолютно правильно - проблема в "выключенной генерации типа линии".

Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AtomohodАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
Re: В местах дуг реверс не работает
« Ответ #5 : 16-04-2020, 20:23:01 »
проблема в "выключенной генерации типа линии".
В этом и проблемка - включать его нельзя, геометрия начинает отображаться некорректно. Например, иксы пересекают основную линию - так нельзя по ОСТу. Может нужно переопределить какие-нибудь нормали?




Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: В местах дуг реверс не работает
« Ответ #6 : 16-04-2020, 20:24:58 »
Может нужно переопределить какие-нибудь нормали?
Нет. У тебя ничего не получится. Всё что можно делать - это включение/выключение генерации типа линии.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: В местах дуг реверс не работает
« Ответ #7 : 16-04-2020, 20:39:40 »
Скорее всего поможет только апросимация такой полилинии сплайном, но это вызовет кучу побочных эффектов.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AtomohodАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
Re: В местах дуг реверс не работает
« Ответ #8 : 16-04-2020, 20:49:11 »
но это вызовет кучу побочных эффектов
Поясните пожалуйста - что за эффекты и на что они повлияют? Я ничего про них не слышал. То есть сплайн опаснее полилинии и нужно при любой возможности его избегать?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: В местах дуг реверс не работает
« Ответ #9 : 16-04-2020, 20:52:34 »
То есть сплайн опаснее полилинии и нужно при любой возможности его избегать?
Да. Неоднократно сталкивался с различными проблемами, вызванными наличием сплайнов в чертежах. По возможности их следует избегать.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AtomohodАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
Re: В местах дуг реверс не работает
« Ответ #10 : 16-04-2020, 21:01:01 »
А влияет ли наличие дуг в составе полилинии на количество глюков с ней или прямой участок и дуга тождественны?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: В местах дуг реверс не работает
« Ответ #11 : 16-04-2020, 21:06:55 »
А влияет ли наличие дуг в составе полилинии на количество глюков с ней или прямой участок и дуга тождественны?
Дуги в полилиниях - это нормальное явление. Альтернатива - это аппроксимация дуг прямыми участками, что резко увеличивает количество вершин в полилинии для достаточной гладкости полилинии - не вижу преимуществ. 
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AtomohodАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
Re: В местах дуг реверс не работает
« Ответ #12 : 16-04-2020, 21:12:37 »
Понял, спасибо!

Оффлайн Привалов Дмитрий

  • ADN Club
  • *****
  • Сообщений: 534
  • Карма: 117
Re: В местах дуг реверс не работает
« Ответ #13 : 16-04-2020, 23:33:37 »
В местах дуг реверс не работает. Как это исправить?

проблема в "выключенной генерации типа линии"

Провел несколько экспериментов, и кажется ты натолкнулся на древний баг автокада. В 2010 аналогично.
Мне не разу о данной проблеме не сообщали. Все дело в том, что дуги в полилиниях с типами линий, которые содержат символы практически никогда не используются.

На дугах, без включенной "генерации типа линии" автокад неправильно высчитывает направление линии, соответственно символы вставляются не правильно и тэги R=45.0, и возможно A и U работают некорректно. Явный баг!

Дополнительно проверил в "клоне Автокада" там все норм.

Александр пишите репорт, пусть срочно к утру выпускают патчи ( Конечно начиная с версии Autocad 2010, позор ведь :-D )


Оффлайн Привалов Дмитрий

  • ADN Club
  • *****
  • Сообщений: 534
  • Карма: 117
Re: В местах дуг реверс не работает
« Ответ #14 : 17-04-2020, 08:59:51 »
Мне не разу о данной проблеме не сообщали.
Наутро вспомнил, был один случай.

Опишу более подробно почему сочетание, дуги полилиний-симолы, редкое:
Типы линий с символами в основном используют в оформлении топографии(например ограждения), и схемах(например газопроводы, кабели в лотках)

Все, кто сталкиваются с топографией прямо или косвенно передают топографию в другие программы, используют пересчет координат(в ряде случаев нелинейной трансформацией). Эти задачи и дуги в полилиниях обычно не совместимы и специалисты естественным образом переходят на простые полилинии с вершинами.

Что касается схемотехников их линии на схемах в 90% чертятся под прямыми углами. Иногда идут под углами по прямой.

Но кажется припоминаю один случай, была архитектурный план, и на нем был холл в виде окружности, по которому электрикам нужно было нарисовать проводку вдоль стены.
Тогда для оформления вроде разбили полилинию на отрезки и дуги. Дуги можно перестроить вручную и поменяется направление. А если нужна полилиния для расчета длины, то "кривую" полилинию поместить в отдельный слой и слой отключить.