1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

SelectionSet самому задать

Сценарии / Модули API

Модератор: специалисты Eplan

Ответить

Автор темы
wapdimon72ru
здесь недавно
здесь недавно
Сообщения: 19
Зарегистрирован: 11 апр 2019, 06:55
Имя: Марат
Благодарил (а): 1 раз
Поблагодарили: 1 раз

SelectionSet самому задать

Сообщение wapdimon72ru »

я могу задать объект который должен быть выделен сам, через api ? То есть чтобы в SelectionSet положить свой список объектов, через api динамически, если да, то как это сделать можно? Пример маломальский бы желательно.
Аватара пользователя

aranea
знаток Eplan
знаток Eplan
Сообщения: 1136
Зарегистрирован: 21 сен 2012, 22:45
Имя: aranea
Благодарил (а): 27 раз
Поблагодарили: 155 раз

SelectionSet самому задать

Сообщение aranea »

wapdimon72ru, вам надо выделить объект или плучить к нему доступ?

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1455
Зарегистрирован: 17 окт 2012, 11:24
Имя: Виталий
Страна: Беларусь
город/регион: Минск
Благодарил (а): 60 раз
Поблагодарили: 181 раз

SelectionSet самому задать

Сообщение Madwolf »

Можно, используйте класс Edit.

Автор темы
wapdimon72ru
здесь недавно
здесь недавно
Сообщения: 19
Зарегистрирован: 11 апр 2019, 06:55
Имя: Марат
Благодарил (а): 1 раз
Поблагодарили: 1 раз

SelectionSet самому задать

Сообщение wapdimon72ru »

aranea писал(а): 17 апр 2019, 16:22 wapdimon72ru, вам надо выделить объект или плучить к нему доступ?
выделить и получить к нему доступ
Madwolf писал(а): 17 апр 2019, 16:49 Можно, используйте класс Edit.
Можно пример в пару строк как выделить?

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1455
Зарегистрирован: 17 окт 2012, 11:24
Имя: Виталий
Страна: Беларусь
город/регион: Минск
Благодарил (а): 60 раз
Поблагодарили: 181 раз

SelectionSet самому задать

Сообщение Madwolf »

Код: Выделить всё

StringCollection scFuncIds = new StringCollection();

foreach (Function oFunction in arrFunctions)
{
    //get object id
    string objectId = oFunction.Properties.PROPUSER_DBOBJECTID;

    //get index of first separator
    int idxOfSlash = objectId.IndexOf("/", 1, objectId.Length - 1, StringComparison.InvariantCultureIgnoreCase);

    //cut off value before first separator together with this separator
    string objectIdWithoutProjectId = objectId.Substring(idxOfSlash + 1, (objectId.Length - idxOfSlash - 1));

    //add value to array
    scFuncIds.Add(objectIdWithoutProjectId);
}

//remove selection from all object and then select objects passed as in a list
new Edit().SelectObjects(m_TestProject.ProjectLinkFilePath, scFuncIds, true);
Parameters:
strFullLinkFileName: Full link file name of the project. The already selected objects will be deselected.
objectIds: List of Ids of objects to be selected. Note that an object Id MUST have three parts separated with slash: Type/Id/transient flag. Transient flag can have 2 values, 0 means object is persistent, 1 means object is transient. e.g.: 17/142/0. When you get the object Id from Properties.PROPUSER_DBOBJECTID, you have to remove the first number (project id) and the first '/' from this string (see example).
bDeselectAll: Deselect all objects which were already selected.
Аватара пользователя

aranea
знаток Eplan
знаток Eplan
Сообщения: 1136
Зарегистрирован: 21 сен 2012, 22:45
Имя: aranea
Благодарил (а): 27 раз
Поблагодарили: 155 раз

SelectionSet самому задать

Сообщение aranea »

Madwolf, мне кажется, автор не знает, что есть DMObjectsFinder, поэтому пытается выделить нужные объекты, чтобы получить к ним доступ, вместо того, чтобы найти их
Изображение
Ответить

Вернуться в «Eplan API»