我正在使用Python3.4.2和pythonOCC-0.16.0-win32-py34.exe来绘制组件。每个组件都使用一种定义的颜色正确渲染,但看起来不像现实世界的组件。
上图是我的Python实现,它使用一种颜色从STEP文件生成3D图像。
下面的图片呈现了我的一个Windows软件,我在那里使用了Step文件。我想渲染组件与下图中的外观相同,因此它看起来像一个真实的组件。
有没有办法通过读取STEP文件在Python中获得正确的彩色输出?我搜索了很多,但没有办法实现它。请帮助我前进。
from future import print_function
import sys
#from OCC.STEPCAFControl import STEPCAFControl_Reader
from OCC.STEPControl import STEPControl_Reader
from OCC.IFSelect import IFSelect_RetDone, IFSelect_ItemsByEntity
from OCC.Display.SimpleGui import init_display
from OCC.Display.WebGl import threejs_renderer
step_reader = STEPControl_Reader()
status = step_reader.ReadFile('./models/test.STEP')
if status == IFSelect_RetDone: # check status
failsonly = False
step_reader.PrintCheckLoad(failsonly, IFSelect_ItemsByEntity)
step_reader.PrintCheckTransfer(failsonly, IFSelect_ItemsByEntity)
ok = step_reader.TransferRoot(1)
_nbs = step_reader.NbShapes()
aResShape = step_reader.Shape(1)
else:
print("Error: can't read file.")
sys.exit(0)
#display, start_display, add_menu, add_function_to_menu = init_display()
#display.DisplayShape(aResShape, update=True)
#start_display()
my_renderer = threejs_renderer.ThreejsRenderer(background_color="#123345")
my_renderer.DisplayShape(aResShape)
以上代码用于使用Python读取STEP文件。