Ошибка при объединении областей

Автор Тема: Ошибка при объединении областей  (Прочитано 11025 раз)

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

Оффлайн Алексей ТерноАвтор темы

  • ADN Club
  • ****
  • Сообщений: 382
  • Карма: 33
    • C3D Extensions
  • Skype: alexeyterno
Области автокада имеют замечательные методы, например, объединение - две отдельные области можно объединить в одну. Но вот беда, при попытке объединения двух областей возникает ошибка 'Error Code Number is 83028'. Есть одна большая область и одна маленькая. Обе они расположены в плоскости XY в нулевой отметке:

Большая область (красная) состоит из двух частей - большой и маленькой слева. Вторая область - белая на правом рисунке. Вторая область имеет площадь 0.00000736 и периметр 385.84600827, т.е. она не нулевая. И при попытке объединения этих двух областей, возникает вышеуказанная ошибка. Подробное описание в командной строке, если объединять вручную через интерфейс автокада:
Код - Microsoft Registry [Выбрать]
  1. Сбой логической операции над 3D-телами или поверхностями.
  2. Ошибка операции моделирования:
  3. Error Code Number is 83028
Никаких вменяемых данных по этой ошибке я не нашел.
Если рядом создать новую область, например, из прямоугольника, то она без каких-либо проблем объединяется и с большой областью и с малой областью.
Может быть кто-нибудь подскажет, в чем проблема? В каком направлении копать?

Объединение выполняю вот так:
Код - C# [Выбрать]
  1. r0.BooleanOperation(BooleanOperationType.BoolUnite, r);
  • r0 - большая область
  • r - малая область
Во вложении чертеж с этими двумя областями.

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

  • Administrator
  • *****
  • Сообщений: 13898
  • Карма: 1790
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Ошибка при объединении областей
« Ответ #1 : 06-08-2019, 08:53:54 »
Может быть кто-нибудь подскажет, в чем проблема? В каком направлении копать?
Тут нечего копать. Это один из "оченьдолгоиграющих багов" AutoCAD. Связано это (IMHO) с точностью работы с телами и областями на уровне 1e-6. Не лечится. Иногда помогает перенос поближе к (0,0,0)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 475
  • Карма: 63
Re: Ошибка при объединении областей
« Ответ #2 : 06-08-2019, 10:29:28 »
когда мне понадобилось объеденять области - скачал геометрический движок от MS SQL Server'а

Оффлайн Алексей ТерноАвтор темы

  • ADN Club
  • ****
  • Сообщений: 382
  • Карма: 33
    • C3D Extensions
  • Skype: alexeyterno
Re: Ошибка при объединении областей
« Ответ #3 : 07-08-2019, 00:29:50 »
Тут нечего копать. Это один из "оченьдолгоиграющих багов" AutoCAD. Связано это (IMHO) с точностью работы с телами и областями на уровне 1e-6. Не лечится.
Я очень расстроился :( Это означает, что в районе границ будут стопроцентные косяки (((
Я, конечно попробую, как-нибудь это обыграть, но много времени тратить не буду.
Спасибо за информацию!

Оффлайн Алексей ТерноАвтор темы

  • ADN Club
  • ****
  • Сообщений: 382
  • Карма: 33
    • C3D Extensions
  • Skype: alexeyterno
Re: Ошибка при объединении областей
« Ответ #4 : 07-08-2019, 00:31:37 »
когда мне понадобилось объеденять области - скачал геометрический движок от MS SQL Server'а
А можно ссылку на какой-нибудь пример?

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 738
Re: Ошибка при объединении областей
« Ответ #5 : 07-08-2019, 11:09:33 »
Я очень расстроился  Это означает, что в районе границ будут стопроцентные косяки (((
Не помогает временный перенос объектов в начало координат (Перенёс - объединил - вернул обратно)? Мне в аналогичной ситуации с 3D телами помогло.

Оффлайн Алексей ТерноАвтор темы

  • ADN Club
  • ****
  • Сообщений: 382
  • Карма: 33
    • C3D Extensions
  • Skype: alexeyterno
Re: Ошибка при объединении областей
« Ответ #6 : 07-08-2019, 11:11:58 »
Не помогает временный перенос объектов в начало координат (Перенёс - объединил - вернул обратно)? Мне в аналогичной ситуации с 3D телами помогло.
Я попробую, но меня смущает, что это помогает не всегда.

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

  • Administrator
  • *****
  • Сообщений: 13898
  • Карма: 1790
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Ошибка при объединении областей
« Ответ #7 : 07-08-2019, 11:21:21 »
Я очень расстроился  Это означает, что в районе границ будут стопроцентные косяки (((
Не помогает временный перенос объектов в начало координат (Перенёс - объединил - вернул обратно)? Мне в аналогичной ситуации с 3D телами помогло.
В данном случае нет. Фактически в данном случае меньшая область практически совпадает с частью большой области. Причем она очень узкая и длинная. Если чуть-чуть сдвинуть меньшую область, то UNION работает.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение