1. 程式人生 > >pythonOCC例子搬運:6.給不同的面上不同的色

pythonOCC例子搬運:6.給不同的面上不同的色

這裡返回總目錄>>返回總目錄
core_visualization_ais_coloredshape.py
本例從https://github.com/tpaviot/pythonocc-demos搬運而來
執行版本:0.18.2
在其餘版本執行不保證正確
先上結果圖

在這裡插入圖片描述

程式碼部分

from __future__ import print_function

from random import random

from OCC.Core.AIS import AIS_ColoredShape
from OCC.Core.BRepPrimAPI import BRepPrimAPI_MakeBox
from OCC.Display.OCCViewer import rgb_color
from OCC.Display.SimpleGui import init_display
from OCC.Extend.TopologyUtils import TopologyExplorer

display, start_display, add_menu, add_function_to_menu = init_display()

my_box = BRepPrimAPI_MakeBox(10., 20., 30.).Shape()

ais_shp = AIS_ColoredShape(my_box)

for fc in TopologyExplorer(my_box).faces():
    # set a custom color per-face
    ais_shp.SetCustomColor(fc, rgb_color(random(), random(), random()))

display.Context.Display(ais_shp)
display.FitAll()

start_display()