Python API: Копирование объектов между документами

Russian forum
Forum rules
Правила форума и полезная информация

ПОЖАЛУЙСТА! Начиная обсуждение, обязательно....
User avatar
ropod7
Posts: 19
Joined: Sun Jun 21, 2015 3:38 pm

Python API: Копирование объектов между документами

Post by ropod7 »

Доброго времени всем.

Возникла задача, при написании макроса. Нужен скрипт, который бы помог скопировать объект из одного документа в другой.

Можно ли это осуществить методами FreeCAD API или нужно залезать в PyQt?
FreeCAD-0.21.1 + python3
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Python API: Копирование объектов между документами

Post by DeepSOIC »

Если оба документа открыты в одном окне FreeCAD, то это должно быть довольно просто. Следовательно, вопрос стоит об переносе между несколькими экземплярами FreeCAD, так? Если да, то ума не приложу, как это сделать.
User avatar
ropod7
Posts: 19
Joined: Sun Jun 21, 2015 3:38 pm

Re: Python API: Копирование объектов между документами

Post by ropod7 »

Шутка юмора?

Если да, то зачем форум вообще нужен?
FreeCAD-0.21.1 + python3
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Python API: Копирование объектов между документами

Post by DeepSOIC »

Так два экземпляра (instance), или один? Иначе говоря, два процесса, или один процесс?
User avatar
ropod7
Posts: 19
Joined: Sun Jun 21, 2015 3:38 pm

Re: Python API: Копирование объектов между документами

Post by ropod7 »

Ещё теплее... )

Пока всё в режиме разложения проекта на возможности, структуру из классов не создавал, т.к. до этого ещё очень далеко. Изучаю сам API, т.к. задача в итоге будет состоять в написании модуля с вводимыми параметрами через виджеты созданные на основе PyQt.

Скинул бы куски кода, которые у меня есть, но нахожусь в движении и без компа.

Экземпляра два. Открыты оба файла. т.е. при присвоении переменной объекта:

fixator = App.ActiveDocument.getObject("Fusion")

Нужно его перекинуть в другой документ, который открыт через макрос в том числе.

P.S. создал тему в форуме и пошёл проветривать мозг, т.к. к тому моменту решалась (и решилась) совсем другая задача. Следовательно, это следующая.
FreeCAD-0.21.1 + python3
User avatar
ropod7
Posts: 19
Joined: Sun Jun 21, 2015 3:38 pm

Re: Python API: Копирование объектов между документами

Post by ropod7 »

Чую не зря экземпляры упоминул. Нужно попробовать создать пустой объект в одном документе и присвоить ему готовый экземпляр другого.
FreeCAD-0.21.1 + python3
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Python API: Копирование объектов между документами

Post by DeepSOIC »

ropod7 wrote:создать пустой объект в одном документе и присвоить ему готовый экземпляр другого
Ничего не понимаю... :? по-английски проще общаться, кошмар :shock:
User avatar
ropod7
Posts: 19
Joined: Sun Jun 21, 2015 3:38 pm

Re: Python API: Копирование объектов между документами

Post by ropod7 »

Проехали. ))

Приду, буду методом тыка, раз куски готовых решений тут не дождаться.

Спасибо за подсказку. ;)
FreeCAD-0.21.1 + python3
erohin
Posts: 7
Joined: Tue Jul 07, 2015 2:48 am

Re: Python API: Копирование объектов между документами

Post by erohin »

а чем Ctrl-C/Сtrl-V не устраивают? Или принципиально, чтобы это сделать макросом?
User avatar
ropod7
Posts: 19
Joined: Sun Jun 21, 2015 3:38 pm

Re: Python API: Копирование объектов между документами

Post by ropod7 »

Функционально. Автоматизировать процесс моделлирования.

Всё дело в экземплярах. ;)
FreeCAD-0.21.1 + python3
Post Reply