Я использую Python3.4.2 и pythonOCC-0.16.0-win32-py34.exe для рисования компонентов. Все компоненты отображаются правильно с одним определенным цветом, но это не похоже на реальный компонент.
Изображение выше - это моя реализация Python, которая генерирует 3D-изображение из файла STEP с одним цветом.
На изображении ниже показано одно из моих программ для Windows, и здесь я использовал файл Step. Я хочу отобразить компонент так же, как на изображении ниже, чтобы он выглядел как компонент реального мира.
Есть ли способ получить правильный цветной вывод в Python, прочитав файл STEP? Я много искал, но не нашел способа реализовать это. Пожалуйста, помогите мне двигаться вперед.
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)
Приведенный выше код используется для чтения файла STEP с использованием Python.