# -*- coding: utf-8 -*- from OCC.Display.SimpleGui import * from math import pi from OCC.gp import * from OCC.BRepBuilderAPI import * from OCC.BRepPrimAPI import * from OCC.BRepFilletAPI import * # izdelava zaokroĹžitev from OCC.BRepAlgoAPI import * # Boolova algebra from OCC.TopExp import * from OCC.TopAbs import * from OCC.TopTools import * from OCC.TopoDS import * from OCC. TColgp import * display, start_display, add_menu, add_function_to_menu = init_display() def kocka(a = 100): global cube global b b = a cube = BRepPrimAPI_MakeBox(a,a,a).Shape() def prikaz_kocke(event=None): display.EraseAll() display.DisplayShape(cube, update=True) def zaokrozeno_vse(event=None): zaokrozitev = BRepFilletAPI_MakeFillet(cube) anEdgeExplorer = TopExp_Explorer(cube, TopAbs_EDGE) while anEdgeExplorer.More(): anEdge = topods.Edge(anEdgeExplorer.Current()) zaokrozitev.Add(R, anEdge) anEdgeExplorer.Next() zaokrozitev.Build() kocka_zaokrozitev_vse = zaokrozitev.Shape() display.EraseAll() display.DisplayShape(kocka_zaokrozitev_vse, update=True) #Zakrozevanje s seznamom robom def zaokrozitev_seznam(event=None): zaokrozitev = BRepFilletAPI_MakeFillet(cube) anEdgeExplorer = TopExp_Explorer(cube, TopAbs_EDGE) seznam_robov = [] while anEdgeExplorer.More(): anEdge = topods.Edge(anEdgeExplorer.Current()) seznam_robov.append(anEdge) anEdgeExplorer.Next() zaokrozitev.Add(R, seznam_robov[0]) zaokrozitev.Add(R, seznam_robov[1]) zaokrozitev.Add(R, seznam_robov[5]) zaokrozitev.Add(R, seznam_robov[10]) zaokrozitev.Build() kocka_zaokrozitev_seznam = zaokrozitev.Shape() display.EraseAll() display.DisplayShape(kocka_zaokrozitev_seznam, update=True) def spremeni_radij(event=None): global R R = int(input("Vnesi nov radij:")) kocka(200) R = b/5 add_menu("Kocka") add_function_to_menu("Kocka", prikaz_kocke) add_menu("Zaokrozevanja") add_function_to_menu("Zaokrozevanja", zaokrozeno_vse) add_function_to_menu("Zaokrozevanja", zaokrozitev_seznam) add_menu("Funkcije") add_function_to_menu("Funkcije", spremeni_radij) display.View_Iso() start_display()