Сравнение блоков

Автор Тема: Сравнение блоков  (Прочитано 12674 раз)

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

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Сравнение блоков
« Ответ #15 : 11-11-2015, 20:50:00 »
Сколько? :)
Будет зависеть от того какие примитивы в блоке. Помнишь такое исключение, как NotApplicable?
Или самое любимое: NotImplementedYet  ? ;)

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

Оффлайн Дима_

  • ADN Club
  • ****
  • Сообщений: 473
  • Карма: 66
Re: Сравнение блоков
« Ответ #16 : 11-11-2015, 20:50:12 »
На двг.ру была тема на несколько страниц - ИХМО - в общем случае не реально, не так давно тут разбиралась тема по сравнению ОДНОГО тела в заранее определенной форме - цилиндр - и то были разночтения. Потом допусков которые надо проверить - тьма - даже одна линия может быть направленна в разные стороны. Вероятностный метод, достаточный для конкретных условий, вполне возможен - вот с их формализации и надо начинать.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Сравнение блоков
« Ответ #17 : 11-11-2015, 20:52:28 »
Если нужно сравнивать внешний вид блоков, то нужно сравнивать внешний вид, а не содержимое. И тогда подход может быть такой: печатаем блоки в растр и сравниваем растры. Кстати, эта тема может помочь: http://adn-cis.org/forum/index.php?topic=2497
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Сравнение блоков
« Ответ #18 : 11-11-2015, 21:16:54 »
Еще один вариант, который я не проверял: Autodesk.AutoCAD.Internal.DrawingCompare
Но в нём сравниваются файлы, так что блоки придётся выпихивать во внешние файлы и их сравнивать. Так как класс и методы Internal, то описание что они делают вряд ли где-то найдёшь.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: Сравнение блоков
« Ответ #19 : 11-11-2015, 22:20:15 »
ИМХО:
Я думаю, что универсального метода сравнения двух блоков в двух разных файлах просто не существует! Например будут у меня в блоке две цветные линии - поменяю я им порядок прорисовки и что: геометрия одинаковая, но метод проверки через растры вернет false
Или например - два совершенно одинаковых блока, но я возьму и поменяю одному из них имя: уверен, что Autodesk.AutoCAD.Internal.DrawingCompare вернет false
Ну и так далее - можно вариантов придумать массу
Если автор задается таким вопросом, то скорее всего об этих блоках ему известна какая-либо информация. Возможно его же приложение создает эти блоки. Тогда ему остается вариант, который он и придумал изначально. Просто нужно будет наполнить его максимальным количеством свойств (опять таки - нужных автору) для проверки

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 624
  • Карма: 158
    • ПГСу Бложик
Re: Сравнение блоков
« Ответ #20 : 12-11-2015, 07:45:22 »
Как можно сравнить два определения блока? Одинаковая ли у них геометрия.
Мне нужно сравнивать блоки в текущем чертеже и во внешнем файле.
И тогда подход может быть такой: печатаем блоки в растр и сравниваем растры
Добавлю, в  чб формате и с обнуленными атрибутами. ИМХО, самый верный способ.
ЗЫ.
Сравнивается геометрия, так что слой, цвет, и пр. свойство не имеют значения.