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

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

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

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

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

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

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

Проблема с путем к файлу

Автор plscomeback, 07.04.21, 13:22:01

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

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

Михаил88

biomotor, вообще если честно я не понял почему не то. Лучше по подробнее описать , как эта процедура должна выглядеть и что конкретно должно происходить в окне компаса. Лучше со скриншотами.

Михаил88

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import pythoncom
from win32com.client import Dispatch, gencache

#  Полный путь к библиотеке
FPath = r'C:\Program Files\ASCON\KOMPAS-3D v19\Libs\MyLib.kle'

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

#  Подключим описание интерфейсов API5
kompas6_api5_module = gencache.EnsureModule("{0422828C-F174-495E-AC5D-D31014DBBE87}", 0, 1, 0)
kompas_object = kompas6_api5_module.KompasObject(Dispatch("Kompas.Application.5")._oleobj_.QueryInterface(kompas6_api5_module.KompasObject.CLSID, pythoncom.IID_IDispatch))

#  Подключим описание интерфейсов API7
kompas_api7_module = gencache.EnsureModule("{69AC2981-37C0-4379-84FD-5DD2F3C0A520}", 0, 1, 0)
application = kompas_api7_module.IApplication(Dispatch("Kompas.Application.7")._oleobj_.QueryInterface(kompas_api7_module.IApplication.CLSID, pythoncom.IID_IDispatch))

#  Получим текущий активный документ
kompas_document = application.ActiveDocument

#  Получим указатель на интерфейс библиотеки моделей
iModelLibrary = kompas_object.GetModelLibrary()

#  Выберем объект из библиотеки
FileName = iModelLibrary.ChoiceModelFromLib(FPath, 0)[0]

kompas_document_3d = kompas_api7_module.IKompasDocument3D(kompas_document)
kompas_document_3d1 = kompas_api7_module.IKompasDocument3D1(kompas_document_3d)
kompas_document_3d1.ExecuteProcessOfInsertComponentFromFile(FileName, kompas6_constants.prAddPartFromFile)
kompas_document_3d1.LibProcess(kompas6_constants.prAddPartFromFile)


Что у вас там не получается мне не понятно, вот. Надо было просто соединить вашу часть кода с моей и все.
У меня работает. При запуске появляется окно библиотеки с выбором деталей, выбираете нажимаете выбрать, запускается процесс вставки  детали. Дальше у же код сами доработаете.
+ Благодарностей: 1

biomotor

#22
Михаил88, напрямую? можно поподробнее?

блин, не пойму, что за шляпа, тот код что я скинул перестал запускаться.... ((((

TxRide

Подскажите как вы наполняете библиотеку?
Я наполнял через встроенный редактор библиотек, но столкнулся с проблемой когда мой сосед по парте решил тоже в неё что-то добавить.
Работать с библиотекой может только один человек за раз.
У вас случайно нет решения этой проблемы?

Михаил88

Цитата: TxRide от 26.11.21, 16:14:53Подскажите как вы наполняете библиотеку?
Я наполнял через встроенный редактор библиотек, но столкнулся с проблемой когда мой сосед по парте решил тоже в неё что-то добавить.
Работать с библиотекой может только один человек за раз.
У вас случайно нет решения этой проблемы?

Наполняю через встроенный редактор. У меня нет таких проблем, библиотека расположена у меня на локальной машине.