Ошибка FreeCAD shape.read (): неподдерживаемый формат - PullRequest
0 голосов
/ 24 апреля 2019

Я работаю над проектом, в котором мне нужно конвертировать файл .dae в файл .stl. Я использую код, указанный ниже

import sys
sys.path.insert(0, "C:\\Program Files (x86)\\FreeCAD 0.17\\bin\\")
import FreeCAD
import Part
import Mesh
shape = Part.Shape()
shape.read('INPUTFILE.dae')
doc = App.newDocument('Doc')
pf = doc.addObject("Part::Feature","MyShape")
pf.Shape = shape
Mesh.export([pf], 'OUTPUTFILE.stl')

Я получаю ошибку, когда интерпретатор пытается выполнить команду shape.read ('INPUTFILE.dae'). Согласно этот код должен обрабатывать входные файлы .dae. Я получаю сообщение об ошибке неверного формата входного файла:

shape.read('INPUTFILE.dae')
FreeCADError: {'swhat': 'Unknown extension', 'sfunction': '', 'btranslatable': False, 'sfile': '', 'sclassname': 'class Base::Exception', 'breported': True, 'sErrMsg': 'Unknown extension', 'iline': 0}

У меня также есть pycollada, установленный в системе.

Кто-нибудь знает, как решить эту проблему?

1 Ответ

1 голос
/ 25 апреля 2019

Вам необходимо установить пиколладу.Затем в своем коде импортируйте importDAE, а затем вставьте файл формы.

Когда вы вставите его, вы получите новый объект документа, свойство Mesh которого содержит форму.Затем вы можете экспортировать сетку как stl.

Что-то вроде ниже.

Кстати, я понял это, выполнив это в графическом интерфейсе и посмотрев на консоль python.Все команды есть, и мне просто нужно было адаптировать их к сценарию.

import sys
sys.path.insert(0, '/home/brad/FCD/FC/lib')
import FreeCAD
import Part
import Mesh
import importDAE

doc = App.newDocument('Doc')
newobj = importDAE.insert(u"/home/brad/Desktop/efdae.dae","Unnamed1")
Mesh.export([newobj.Mesh], 'my_shape.stl')
...