簡體   English   中英

FreeCAD shape.read() 錯誤:不支持的格式

[英]FreeCAD shape.read() Error: Unsupported format

我正在處理一個項目,我必須在其中將 a.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。

有誰知道如何解決這個問題?

你需要 pip 安裝 pycollada。 然后在您的代碼中,導入 importDAE,然后插入形狀文件。

當您插入它時,您將獲得一個新的文檔對象,其 Mesh 屬性包含該形狀。 然后您可以將網格導出為 stl。

像下面這樣的東西。

順便說一句,我通過在 GUI 中執行此操作並查看 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')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM