Подключение к спецификации 2D документа (сборочный чертеж).

Автор Дмитрий, 10.11.09, 16:10:59

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

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

Дмитрий

Как подключить к спецификации документ "сборочный чертеж"? По принципу команды в спецификации "Управление сборкой".
Даже не знаю с чего начать.
Помогите, пожалуйста.

sulyco

Открыть новую спецификацию, нажать Управление сборкой, нажать Подключить документ, выбрать документ для подключения, подключить.
Или чего-то не так?

Администратор

Цитата: sulyco от 10.11.09, 16:31:15
Или чего-то не так?

В какой конференции отвечаете, внимательно посмотрели? :)

Дмитрий

Все так. Мне программно нужно (на языке Delphi). Раздел же называется "Программирование приложений".

sulyco


Дмитрий

Сам нашел решение.
Если кому надо:

var
doc : ksSpcDocument;
arr : ksDynamicArray;
str : ksChar255;
begin
//откроем спецификацию
      doc := ksSpcDocument( Kompas.SpcDocument );
      if doc <> nil then
         doc.ksOpenDocument( 'полное имя файла', 0 );

//заполним массив листов сборки, которые нужно подключить к спецификации
arr := ksDynamicArray( kompas.GetDynamicArray(CHAR_STR_ARR) );
str := ksChar255( kompas.GetParamStruct(ko_Char255) );
  str.str := 'полное имя файла';
   arr.ksAddArrayItem( -1, str );

//подключим листы сборочного чертежа к спецификации
doc.ksSetSpcSheetSB (arr);

    doc.ksSaveDocument('полное имя файла');
    doc.ksCloseDocument();
    doc := nil;

Дмитрий

В 2009 году написал программу, в которой на ряду с прочем была реализована процедура подключения к спецификации 2D документа (см.  Ответ #5).
В этом году перешли на Компас V13 и программа стала работать некорректно.

Теперь при использовании интерфейса ksSetSpcSheetSB (arr) во внешнюю спецификацию  успешно передаются объекты спецификации сборочного чертежа, однако, данные из основной надписи сборочного чертежа (наименование, обозначение) в спецификацию не передаются.

М.б. кто-нибудь подскажет, в чем проблема или как правильно подключать к спецификации 2D документы?

chelkar

Попробуете перейти на функцию ISpecificationDocument::AttachedDocuments.

В ksSetSpcSheetSB нет возможности управлять галкой "передавать изменения в документ".
Возможно из-за этого и не работает.

Дмитрий

Проблему решил с помощью API5 следующим образом:
1.   Подключаю к спецификации сборочный чертеж.
На данном этапе передаются объекты спецификации из сборки, но данные из основной надписи не передаются.
2.   Открываю сборочный чертеж и редактирую основную надпись.
3.   Сохраняю сборочный чертеж, при этом передаются данные из основной надписи в спецификацию.

Обязательно попробую через интерфейс ISpecificationDocument::AttachedDocuments.
Правда, плохо знаю API 7 и как перейти к AttachedDocuments пока не очень понятно.