DrawableOverrule. Возможно редактирование базовой геометрии объекта?

Автор Тема: DrawableOverrule. Возможно редактирование базовой геометрии объекта?  (Прочитано 10828 раз)

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

Оффлайн bender

  • ADN Club
  • **
  • Сообщений: 62
  • Карма: 4
Подниму тему. Я правильно понимаю, что всё вышенаписанное относится и к MText-ам? Т. е. MText, созданный в WorldDraw/ViewPortDraw, не будет перекрывать изображение? За прошедшие 5 лет ничего не поменялось?

UPD. Добрался до компа, проверил. Нормально перекрывает изображение. Только надо объект на передний план перетащить.
« Последнее редактирование: 14-08-2019, 20:19:54 от bender »

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

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
UPD. Добрался до компа, проверил. Нормально перекрывает изображение. Только надо объект на передний план перетащить.
Перетаскивание на передний план означает, что объект находится в базе данных. А MText созданный в WorldDraw/ViewPortDraw не содержится в базе (иначе это самостоятельный примитив). Так что не очень понятно, что у тебя получилось.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн bender

  • ADN Club
  • **
  • Сообщений: 62
  • Карма: 4
Перетаскивание на передний план означает, что объект находится в базе данных. А MText созданный в WorldDraw/ViewPortDraw не содержится в базе (иначе это самостоятельный примитив). Так что не очень понятно, что у тебя получилось.
Есть блок, к нему "пририсовываем" mtext, и вот этот mtext перекрывает изображение, если блок переместить на передний план. Как то вот так.

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

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Непонятно, что подразумевается под словом "изображение". Это отдельный объект чертежа или имеется в виду базовое изображение (отображение) блока?

Оффлайн bender

  • ADN Club
  • **
  • Сообщений: 62
  • Карма: 4
Непонятно, что подразумевается под словом "изображение". Это отдельный объект чертежа или имеется в виду базовое изображение (отображение) блока?

Все примитивы чертежа "под" текстом. Т. е. как у обычного mtext-а.

Кстати. ЯТД если вместо wipeout использовать MPolygon, то и в базовом изображении можно что-то поскрывать.

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

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Я всё равно не понимаю ситуации. Но могу обратить внимание на две вещи:
1. У MText есть своя собственная маскировка. Если надо скрыть область под текстом, то можно её включить. В DrawableOverrule этот приём работает.
2. Если надо поместить текст поверх всех других объектов, то его надо "рисовать" в коде метода WorldDraw (или ViewportDraw) самым последним - после базовой отрисовки и всех других добавляемых объектов.

Оффлайн bender

  • ADN Club
  • **
  • Сообщений: 62
  • Карма: 4
У MText есть своя собственная маскировка
Что значит "своя собственная"? Какой-то примитив АКАДа, не wipeout? Ну может быть и так. Хотя я считал, что там как раз обычная маскировка. Т. е. MText + Wipeout
В DrawableOverrule этот приём работает
Вот для меня это было совсем не очевидно. Но таки да, работает.

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

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Что значит "своя собственная"? Какой-то примитив АКАДа, не wipeout?
Код - C# [Выбрать]
  1. if (useTextMask)
  2. {
  3.     mText.BackgroundFill = true;
  4.     mText.BackgroundScaleFactor = 1.1;
  5.     mText.UseBackgroundColor = true;
  6. }
  7. else
  8. {
  9.     mText.BackgroundFill = false;
  10. }
  11.  

Оффлайн bender

  • ADN Club
  • **
  • Сообщений: 62
  • Карма: 4
Да я не про то. Это-то понятно, как и чего включать.

Вот когда мы у мультитекста маскировку включаем, Вы считаете, что там "что то такое своё" рисуется. Может быть и так.

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

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
На уровне .NET API маскировка MText не является отдельным от MText объектом. И когда я писал, что MText имеет свою маскировку, я имел в виду именно это. А как там это устроено глубже - это, пожалуй, знают только разработчики AutoCAD. Мы можем только гадать.