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

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

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

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

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

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

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

Подключение к спецификаций 3Д сборки или создание спецификаций из 3Д сборки

Автор Semargl1990, 12.10.21, 22:24:44

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

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

Semargl1990

Добрый день!
Как подключить программно к спецификаций 3д сборку
3D to SPC.PNG
Или создать из 3D сборки спецификацию программно?
3D to SPC 1.PNG

Михаил88

# -*- coding: utf-8 -*-
import pythoncom
from win32com.client import Dispatch, gencache

#  Получи константы
kompas6_constants = gencache.EnsureModule("{75C9F5D0-B5B8-4526-8681-9903C567D2ED}", 0, 1, 0).constants

#  Получи API интерфейсов версии 7
kompas_api7_module = gencache.EnsureModule("{69AC2981-37C0-4379-84FD-5DD2F3C0A520}", 0, 1, 0)
kompas_api_object = kompas_api7_module.IKompasAPIObject(
    Dispatch("Kompas.Application.7")._oleobj_.QueryInterface(kompas_api7_module.IKompasAPIObject.CLSID,
                                                             pythoncom.IID_IDispatch))
application = kompas_api_object.Application

documents = application.Documents
kompas_document = documents.Add(kompas6_constants.ksDocumentSpecification, True)

iSpecificationDocument = kompas_api7_module.ISpecificationDocument(kompas_document)
attachedDocuments = iSpecificationDocument.AttachedDocuments
# Сюда пишешь путь до сборки, которую хочешь подключить
attachedDocuments.Add('C:\\Users\\root\\Desktop\\Сборка.a3d', True)

KrissKross

Михаил88
а как из сборки создать спецификацию?
как показано на втором рисунке - кнопка

Михаил88

# Создаем спецификацию
kompas_object.ksExecuteKompasCommand(20183, False)

но если так создать она будет не ассоциативной. И ее нужно будет привязывать.
здесь писал
https://forum.ascon.ru/index.php?topic=35532.msg286026#msg286026


Semargl1990

            Вот как у меня получилось:
//Подключить сборку к спецификаций
            IApplication kompas7 = kompas.ksGetApplication7();
            var actDoc = kompas7.ActiveDocument;
           
            ISpecificationDocument iSpecDoc = (ISpecificationDocument) actDoc;
            IAttachedDocuments AttachDoc = iSpecDoc.AttachedDocuments;
            AttachDoc.Add(SavePath + "\\" + Des + " - Короб" + ".a3d", false);
            AttachDoc.Add(SavePath + "\\" + Des + " - Короб" + ".cdw", false);