pythonocc_倒角

在这里插入图片描述
在这里插入图片描述

```cpp
from OCC.Core.Addons import text_to_brep, Font_FontAspect_Bold, Font_FA_Regular
from OCC.Core.BRepPrimAPI import BRepPrimAPI_MakePrism
from OCC.Core.gp import gp_Pnt, gp_Vec, gp_Dir, gp_Ax2, gp_Pln, gp_Ax3, gp_Trsf, gp_Ax1
from OCC.Display.backend import load_backend
load_backend('qt-pyqt5')
from OCC.Core.BRepFilletAPI import BRepFilletAPI_MakeFillet
from OCC.Core.BRepPrimAPI import BRepPrimAPI_MakeBox, BRepPrimAPI_MakeCylinder
from OCC.Display.SimpleGui import init_display
from OCC.Core.gp import gp_Ax2, gp_Pnt, gp_Dir, gp_Pnt2d
from OCC.Extend.TopologyUtils import TopologyExplorer
display, start_display, add_menu, add_function_to_menu = init_display()
from OCC.Core.TopoDS import TopoDS_Compound, TopoDS_Builder, topods, TopoDS_Face, TopoDS_Shape
from OCC.Core.BRepAlgoAPI import BRepAlgoAPI_Cut
from OCC.Core.TopLoc import TopLoc_Location
from OCC.Display.OCCViewer import rgb_color
from OCC.Extend.TopologyUtils import TopologyExplorer
from OCC.Core.TopAbs import TopAbs_EDGE, TopAbs_FACE
from OCC.Core.TopExp import TopExp_Explorer
from OCC.Core.TopoDS import topods, TopoDS_Compound, TopoDS_Face
from OCC.Core.BRepPrimAPI import BRepPrimAPI_MakeBox


#函数:盒子
def create_box():
    myBody= BRepPrimAPI_MakeBox(gp_Pnt(-400, 0, 0), 200, 230, 180).Shape()
    return myBody
#函数倒角
def create_daojiao2(myBody,daojiao_angle):

    mkFillet = BRepFilletAPI_MakeFillet(myBody)
    anEdgeExplorer = TopExp_Explorer(myBody, TopAbs_EDGE)
    # 进行探索循环
    while anEdgeExplorer.More():
        anEdge = topods.Edge(anEdgeExplorer.Current())   # 获得当前边
        mkFillet.Add(daojiao_angle, anEdge)# 倒角当前边
        anEdgeExplorer.Next()# 移动下一个边
    return mkFillet

#函数倒角
def create_daojiao2(myBody,daojiao_angle):
    mkFillet= BRepFilletAPI_MakeFillet(myBody)
    # 探索实体中的边edge
    for anEdge in TopologyExplorer(myBody).edges():
        mkFillet.Add(daojiao_angle, anEdge)
    return mkFillet
#倒角不能太大了。
daojiao_angle=50
myBody=create_box()
# mkFillet=create_daojiao(myBody,daojiao_angle)
mkFillet=create_daojiao2(myBody,daojiao_angle)
display.DisplayShape(mkFillet.Shape(), update=True, color=rgb_color(0, 1, 0))  # l
display.FitAll()
start_display()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值