Nearest OSNAP для AcDbBlockReference

Автор Тема: Nearest OSNAP для AcDbBlockReference  (Прочитано 9294 раз)

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

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

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

  • ADN Club
  • ***
  • Сообщений: 161
  • Карма: 8
  • Skype: begiz_i
Nearest OSNAP для AcDbBlockReference
« : 30-04-2015, 09:41:48 »
Добрый день.
Тема интересовала давно, но не сильно надо было.
Какие OSNAP поддерживаются AcDbBlockReference по умолчанию и можно ли их расширить не создавая CustomEntity со своими OSNAP?

Конкретней.
Есть блок который состоит толко из кусочка AcDbLine (0,0;1,0) и собственно потом при вставке растягивается по оси Х для получения линии.
Так вот нужно бы сделать возмозность к етой "линии" цеплятся OSNAP как nearest например.

Как можно это съимитировать, желательно из Jig'a?

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Nearest OSNAP для AcDbBlockReference
« Ответ #1 : 30-04-2015, 10:27:34 »
Или я не понял что нужно, или всплыл какой-то баг. Итак:
1) Создаю (вручную) отрезок с координатами [(0,0) (1,0)]
2) Превращаю этот отрезок в блок
3) Меняю масштаб по X например на 10
4) Включаю привязку БЛИЖАЙШАЯ (_Nearest)
5) Запускаю команду ОТРЕЗОК (_LINE)
6) Вижу результат:

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

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

  • ADN Club
  • ***
  • Сообщений: 161
  • Карма: 8
  • Skype: begiz_i
Re: Nearest OSNAP для AcDbBlockReference
« Ответ #2 : 30-04-2015, 10:50:22 »
Хм... деиствительно, вновь созданый блок ведет себя точно так же как у Вас.
Проверил на чертеже от заказчика, и выяснилось, что там не AcDbLine, а AcDbPolyline.
Просто переделаю блоки.
Но раз тема уже затронута, то всё таки как реализовать такое решение.

Прицепил пример чертежа.

Отмечено как Решение begiz 30-04-2015, 12:31:07

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Nearest OSNAP для AcDbBlockReference
« Ответ #3 : 30-04-2015, 12:03:12 »
Если блок отмасштабирован с разными масштабами по X, Y, Z (non-uniform scale), то привязки типа _NEAR и _INT работают не со всеми типами примитивов в блоке. И с этим ничего поделать нельзя.
Но раз тема уже затронута, то всё таки как реализовать такое решение.
Какое это "такое"? Проблема в том, что я не могу понять что ты хочешь.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • ***
  • Сообщений: 161
  • Карма: 8
  • Skype: begiz_i
Re: Nearest OSNAP для AcDbBlockReference
« Ответ #4 : 30-04-2015, 12:28:07 »
Цитировать
Если блок отмасштабирован с разными масштабами по X, Y, Z (non-uniform scale), то привязки типа _NEAR и _INT работают не со всеми типами примитивов в блоке. И с этим ничего поделать нельзя.

Собственно это и хотел услышат.

Так вот, я хочу/хотел сделать привязки к примитивам, которые их могут не поддерживать.

Но раз с этим ничего не поделать, то можно тему закрывать.

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

  • ADN Club
  • ***
  • Сообщений: 161
  • Карма: 8
  • Skype: begiz_i
Re: Nearest OSNAP для AcDbBlockReference
« Ответ #5 : 30-04-2015, 12:36:50 »
П.С. в дахном случае решил проблему, добавлением обычной линии под полилинию в блоке.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Nearest OSNAP для AcDbBlockReference
« Ответ #6 : 30-04-2015, 12:53:42 »
П.С. в дахном случае решил проблему, добавлением обычной линии под полилинию в блоке.
Но это только в данном случае. А если бы у тебя была полилиния с дуговым сегментом?


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

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

  • ADN Club
  • ***
  • Сообщений: 161
  • Карма: 8
  • Skype: begiz_i
Re: Nearest OSNAP для AcDbBlockReference
« Ответ #7 : 30-04-2015, 13:04:07 »
Так точно, только для этого конкретного случая.