Почему выбранный объект не выделяется

Автор Тема: Почему выбранный объект не выделяется  (Прочитано 18905 раз)

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

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

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
Всем доброго дня!
Посадил на чертеж однострочный текст.
Выделил этот текст с помощью прямоугольника.
Записал координаты 2-х противоположных точек прямоугольника.
Реализовал то же самое в С#.
C# говорит, что выделен один элемент, но визуально он никак не помечен.
Почему?
Вот код:
Код - C# [Выбрать]
  1.         [CommandMethod("NCS_SET_HLINKS")]
  2.         public static void CmdSetLinks()
  3.         {
  4.             try
  5.             {
  6.                 // Get the current document and database, and start a transaction
  7.                 Document acDoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
  8.                 // Get the current document editor
  9.                 Editor acDocEd = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;
  10.  
  11.                 PromptSelectionResult acSSPrompt;
  12.                 acSSPrompt = acDocEd.SelectCrossingWindow(new Point3d(1408, 3601, 0),
  13.                                                           new Point3d(4178, 4820, 0));
  14.  
  15.                 // If the prompt status is OK, objects were selected
  16.                 if (acSSPrompt.Status == PromptStatus.OK)
  17.                 {
  18.                     SelectionSet acSSet = acSSPrompt.Value;
  19.  
  20.                     Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("Число выбранных объектов: " +
  21.                                                 acSSet.Count.ToString());
  22.                 }
  23.                 else
  24.                 {
  25.                     Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("Число выбранных объектов: 0");
  26.                 }
  27.             }
  28.             catch (System.Exception e)
  29.             {
  30.                 Editor acDocEd = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;
  31.                 acDocEd .WriteMessage(String.Format("Ошибка загрузки надстройки NormaCS: {0}{1}" + Environment.NewLine, e.Message, e.StackTrace));
  32.             }
  33.         }
  34.  
« Последнее редактирование: 23-11-2020, 17:36:28 от Александр Ривилис »

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Борис_С,
Приветствую на форуме!
1. Прочитайте у меня в подписи правило форматирования кода на форуме и соблюдайте его.
2. Вы ошиблись разделом форума и я перенес тему в соответствующий раздел.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн avc

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
Для задания списка выбранных используй Editor.SetImpliedSelection
А если надо просто подсветить,  то используй Entity.Highlight

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
C# говорит, что выделен один элемент, но визуально он никак не помечен.
1. Он и не должен быть помечен. Вы видимо не понимаете что делает используемый метод.
2. Если бы заданные координаты были вне области экрана, то вообще ничего бы не выбралось.
Что именно вы хотите в результате получить?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
Мне нужно посадить гиперссылку на часть текста. Как я понимаю, для начала мне нужно выделить этот кусок текста.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Мне нужно посадить гиперссылку на часть текста.
На часть текста??? Гиперссылку можно присвоить всему примитиву целиком. Или вы о чем-то другом?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
Мне поставлена такая задача. Проанализировать все тексты документа. Выловить из всего массива текстов нужные куски и поставить на них гиперссылки. Похоже, что в автокаде это в принципе невозможно. Так?

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Мне поставлена такая задача. Проанализировать все тексты документа. Выловить из всего массива текстов нужные куски и поставить на них гиперссылки. Похоже, что в автокаде это в принципе невозможно. Так?
Можно присвоить гиперссылку всему текстовому примитиву (DBText и MText), а можно добавить поле (Field) с гиперссылкой внутри текста. Так что вам нужно?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Вот пример гиперссылки внутри однострочного текста (поле):



Код этого поля:
%<\AcVar \href "https://adn-cis.org##https://adn-cis.org#1">%

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

Оффлайн avc

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
Почему выбранный объект не выделяется
Это задача перебора всех текстов и вставки полей, и это уже не имеет никакого отношения к поставленной теме. Выделение рамкой и подсветка примитивов тут вообще не причем.

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
Почему выбранный объект не выделяется
Это задача перебора всех текстов и вставки полей, и это уже не имеет никакого отношения к поставленной теме. Выделение рамкой и подсветка примитивов тут вообще не причем.
А можно не показывать гиперссылку. Просто удалить часть текста, добавить поле (c тем же текстом) и на него повесить гиперссылку. Это будет то, что нужно.

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
А можно не показывать гиперссылку. Просто удалить часть текста, добавить поле (c тем же текстом) и на него повесить гиперссылку. Это будет то, что нужно.
Я ошибся. Процетировал не тот текст.
А можно не показывать гиперссылку. Просто удалить часть текста, добавить поле (c тем же текстом) и на него повесить гиперссылку. Это будет то, что нужно.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
А можно не показывать гиперссылку. Просто удалить часть текста, добавить поле (c тем же текстом) и на него повесить гиперссылку. Это будет то, что нужно.
На один текстовый примитив можно повесить только одну гиперссылку. А если в у вас в одном текстовом примитиве сразу несколько текстов нужно заменить гиперссылками?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Короче говоря - нарисуйте то что вам нужно получить средствами AutoCAD, а мы постараемся показать как это сделать программно.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
Сколько полей можно добавлять в текстовый примитив? Если несколько, то на каждое поле можно повесить гиперссылку. Так?