• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Вставка фрагмента в ячейку таблицы как внедренного ресурса

Автор anton.gorschnev, 12.12.25, 11:18:57

« назад - далее »

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

anton.gorschnev

Добрый день, на форуме встречал несколько раз вопрос по данной тематике но ответа так и не нашел.
При вставке фрагмента в ячейку таблицы через пользовательский интерфейс фрагмент становиться внедренным ресурсом и отображается на других машинах, переключатель как вставлять фрагмент в ячейку я не нашел. При вставке  фрагмента кодом фрагмент вставляется как ссылка и на других машинах не отображается.
IText IText_.Clear;
ITextLine ITextLine_ = IText_.AddTextLine(ksTextLineType.ksTLFragment, "Полное имя файла  фрагмента");

фрагмент попадает в
IInsertionsManager IInsertionsManager_ = (IInsertionsManager)IKompasDocument2D_;
IInsertionsManager_.DefinitionsCount[ksInsertionTypeEnum.ksTReferenceFragment];


Пробую создать внедренный фрагмент и добавить его в ячейку по имени, выдает ошибку открытия документа фрагмента по имени
IInsertionsManager IInsertionsManager_ = (IInsertionsManager)IKompasDocument2D_;
InsertionDefinition IInsertionDefinition_ = IInsertionsManager_.AddDefinition(ksInsertionTypeEnum.ksTBodyFragment, "Имя фрагмента", "Полное имя файла  фрагмента");
ITextLine_ = IText_.AddTextLine(ksTextLineType.ksTLFragment, "Имя фрагмента" );
Есть предположение что необходимо вытащить созданный внедренный фрагмент по некому имени библиотеки и индификатору но как получить эти имена загадка
ITextLine_ = IText_.AddTextLine(ksTextLineType.ksTLFragment,"Имя библиотеки"+"|"+ "Имя фрагмента" );
При таком варианте дает ошибку подключения к библиотеки.
Прошу подскажите если кто что то знает???

p3452

- Каша из слов...

1. Фрагмент можно "вставить" из:
- файла,
- библиотеки,
- базы данных.
2. Способ вставки фрагмента:
- внешней ссылкой,
- взять в документ.

Какой из шести вариантов Вам нужен?

 

anton.gorschnev

Вставка из файла, взять в документ. Фрагмент вставляется в ячейку таблицы.

p3452

- Нет проблем с именами файлов.
- Нет проблем со вставкой фрагмента (взять в документ) в сам чертеж.
- Есть проблемы со вставкой в ячейку таблицы - действительно, вставляется только ссылкой.
Возможно имеем БАГ API,
т.к. невозможно ни присвоить ни получить textLineData.InsertionDefinition - всегда возвращает NULL.

anton.gorschnev

Цитата: p3452 от 13.12.25, 12:39:46Возможно имеем БАГ API,
т.к. невозможно ни присвоить ни получить textLineData.InsertionDefinition - всегда возвращает NULL.
Тоже заинтересовал этот момент, сейчас соберу тестовый проект отправлю в тех поддержку, посмотрим что ответят. Спасибо.

anton.gorschnev

Ответ тех поддержки.
1)Вставка фрагмента в ячейку таблицы не имеет настроек параметров способа вставки (ссылкой или внедрением, как ,например, при вставке фрагмента в вид). Это невозможно настроить ни через пользовательский интерфейс, ни с помощью API.
2)Спасибо за предоставленные материалы. Способы вставки при вставке вручную через пользовательский интерфейс и при вставке с помощью API различаются.
Для исправления создана задача JR#KOMPAS-98184, в рамках которой продолжится работа. Сроки исправления не уточняются. При появлении дополнительной информации обязательно ее сообщу.
+ Благодарностей: 1

p3452

Цитата: anton.gorschnev от 15.12.25, 13:05:341)Вставка фрагмента в ячейку таблицы не имеет настроек параметров способа вставки (ссылкой или внедрением, как ,например, при вставке фрагмента в вид). Это невозможно настроить ни через пользовательский интерфейс, ни с помощью API.
Вот ЭТО откровенная ложь (!), я же писал про "textLineData.InsertionDefinition", через это свойство можно ВСЕ настроить, но свойство НЕ РАБОТАЕТ!

p/s: Не менее интересно, чем вызвана ЭТА ложь - некомпетентность, отсутствие практики???
p/s, p/s: п.2 - внушает надежды, если, конечно, не прийдется ждать "три года"...

p/s, p/s, p/s: В лубом случае, Вам спасибо, за оформление заявки!