python OCC两种常用的二维封闭线生成三维图形方法

本文介绍了使用Python OCC库通过平面向量拉伸和中心旋转两种方法,将二维封闭线转化为三维图形。首先,展示了如何生成一个正方形线段并将其拉伸为长方体,然后讲解如何将正方体平面绕X轴旋转,形成旋转后的三维模型。
摘要由CSDN通过智能技术生成

有时候构建一个规则的三维形状却有部分带着复杂的曲线,通过直接生成三维图形再进行修改是件很难又很麻烦的事情,OCC库中可以通过对一个平面进行不同操作来生成三维图形,常用的方法有下面两种

  • 平面向量拉伸
  • 中心旋转

先来介绍平面向量拉伸,复杂的曲线可以自己去研究怎么生成,这里只演示一个正方行二维线段如何拉伸成长方体

首先需要四个点生成一个正方形封闭线段,这是生成函数

#二维直线生成
def create_segment(pnt_list,close=True):
    if len(pnt_list)==1:
        return None
   #下面基本就是如果close为True,那么图形就会封闭
   #通过点集生成Edge,再将Edge添加到wire中
    wire = BRepBuilderAPI_MakeWire()
    for i in range(0,len(pnt_list)):
        if i==len(pnt_list)-1 and close:
            segment=BRepBuilderAPI_MakeEdge(pnt_list[0], pnt_list[len(pnt_list)-1])
        elif i!=len(pnt_list)-1:
            segment=BRepBuilderAPI_MakeEdge(pnt_list[i],pnt_list[i+1])
        else:
            continue
        wire.Add(segment.Edge())
    return wire

下面调用这个函数生成一个正方型二维线

my_shape = create_segment([gp_Pnt(0,0,0),gp_Pnt(0,1,0),gp_Pnt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值