pythonocc
rayyy9
这个作者很懒,什么都没留下…
展开
-
pythonocc 坐标系平移
from OCC.Core.gp import gp_Vec, gp_Ax2axes = gp_Ax2() # 原点的坐标系axes.Translate(gp_Vec(x0, y0, z0)) # 坐标系平移到(x0,y0,z0)坐标系原创 2020-08-19 11:34:45 · 697 阅读 · 0 评论 -
pythonocc 计算两点距离
from OCC.Core.gp import gp_Pntp1 =gp_Pnt(1,2,3)p2 =gp_Pnt(2,3,4)dist_p1_p2 = p1.Distance(p2)注释:gp_Pnt的Distance可以计算两点距离原创 2020-08-19 10:57:04 · 458 阅读 · 0 评论 -
pythonocc 画一条线段
from OCC.Core.gp import gp_Pntfrom OCC.Core.GC import GC_MakeSegmentfrom OCC.Core.BRepBuilderAPI import BRepBuilderAPI_MakeEdgefrom OCC.Display.SimpleGui import init_displayif __name__ == '__main__': display, start_display, add_menu, add_func...原创 2020-08-19 10:36:13 · 643 阅读 · 1 评论 -
pythonocc 由一个面得出这个面里的闭合曲线
假设有一个TopoDS_Face,记为aFacefbp = ShapeAnalysis_FreeBoundsProperties(aFace, True, True) fbp.Perform() # 分析闭合曲线close_nb = fbp.NbClosedFreeBounds() # 闭合曲线的数目# print("close_nb: ", close_nb)polygon_container = []for i in range(close_nb): ...原创 2020-08-19 10:32:39 · 535 阅读 · 0 评论 -
pythonocc 等步长平分周长的分割曲线
假设有一条曲线的边TopoDS_Edge,记为aEdgefrom OCC.Core.BRepGProp import brepgprop_LinearPropertiesfrom OCC.Core.GProp import GProp_GPropsfrom OCC.Core.GeomAdaptor import GeomAdaptor_Curvefrom OCC.Core.GCPnts import GCPnts_UniformAbscissaaCurve = BRep_Tool.Curve.原创 2020-08-19 10:18:39 · 593 阅读 · 0 评论 -
pythonocc 计算周长,面积,体积
from OCC.Core.gp import gp_Pnt, gp_Dir, gp_Plnfrom OCC.Core.GC import GC_MakeSegmentfrom OCC.Core.BRepBuilderAPI import BRepBuilderAPI_MakeEdge,BRepBuilderAPI_MakePolygon,BRepBuilderAPI_MakeFacefrom OCC.Core.BRepGProp import brepgprop_LinearProperties,.原创 2020-08-19 10:03:47 · 1056 阅读 · 1 评论 -
pythonocc 怎么判断一条边是圆,由TopoDS_Edge转换成Geom_Circle,然后由Geom_Circle得到gp_Circ
比方说你得到了一条类型为TopoDS_Edge的边,记为aEdge。你先把它转换为Geom_Curve,这一步可以参考文章https://blog.csdn.net/reyyy/article/details/107318800。然后从Geom_Curve向下类型转换为Geom_Circle,看看成不成功,成功的话转换为Geom_Circle,然后由Geom_Circle的方法Circ得到gp_Circ类型的圆,然后可以由gp_Circ类型的方法Radius和Location可以得到圆的半径和圆心。下面附上原创 2020-08-17 17:05:08 · 1317 阅读 · 0 评论 -
opencascade BRepOffsetAPI_MakeOffsetShape的坑
BRepOffsetAPI_MakeOffsetShape的offset的厚度超过一定厚度的时候会出错,invalid null reference.我这里一个下底长50的正方形,上底长30的正方形,高40的棱台,offset厚度超过7后就出错,invalid null reference原创 2020-08-06 10:10:45 · 1258 阅读 · 0 评论 -
pythonocc BRepOffset_Skin在pythonocc的哪个库import
from OCC.Core.BRepOffset import BRepOffset_Skin我发现一个规律,某个类在pythonocc的哪个库的规律,这个类的库名是这个类的类名的下划线的前面的单词。比如说A_B类,那就从pythonocc的A库中import,比如说BRepAlgoAPI_Fuse就在OCC.Core.BRepAlgoAPI中import...原创 2020-08-05 17:03:39 · 163 阅读 · 0 评论 -
pythonocc 用BRepOffsetAPI_ThruSections建3D棱台
棱台就是棱锥被一个平面截掉上半部分后的几何实体。可以用下底平面和上底平面来确定一个棱台。BRepOffsetAPI_ThruSections用下底曲线和上底曲线来构建的棱台。BRepOffsetAPI_ThruSections是通过所用的曲线的几何实体。def GetTrapezoid3dShape(offset, bottom_x, bottom_y, top_x, top_y, z0, z1): aP1 = gp_Pnt(-bottom_x/2 + offset, -bottom_...原创 2020-08-05 09:10:35 · 858 阅读 · 0 评论 -
pythonocc GC_MakeSegment,GC_MakeArcOfCircle生成edge(记录)
由于记性较差,所以记录。GC_MakeSegment,GC_MakeArcOfCircle生成的线段和圆弧,不能直接make edge, 要用value方法获取一下。from OCC.Core.BRepBuilderAPI importBRepBuilderAPI_MakeEdgefrom OCC.Core.gp import gp_Pntfrom OCC.Core.GC import GC_MakeSegmentp1 =gp_Pnt(0,1,2)p2 =gp_Pnt(1,2...原创 2020-07-31 14:02:18 · 636 阅读 · 0 评论 -
pythonocc 由TopoDS_Shape得到顶点的信息,由曲面得到顶点的坐标,由梯形求出梯形的顶点
# -*- coding: utf-8 -*-"""Created on Fri Jul 24 16:24:29 2020@author: JC0101"""from OCC.Core.BRepBuilderAPI import BRepBuilderAPI_MakePolygon, BRepBuilderAPI_MakeFacefrom OCC.Core.gp import gp_Pnt, gp_Dir, gp_Plnfrom OCC.Display.SimpleGui import in原创 2020-07-24 17:37:35 · 1509 阅读 · 0 评论 -
pythonocc 偏移曲面offset,一个shape求它的包络offset,二维情形
以梯形为例,求它的包络。BRepOffsetAPI_MakeOffset的参数GeomAbs_Intersection的作用是让边角是尖的,而GeomAbs_Arc的作用是让边角是弧状。# -*- coding: utf-8 -*-"""Created on Wed Jul 15 13:44:43 2020@author: JC0101"""from random import randomfrom OCC.Core.BRepBuilderAPI import BRepBuilderA原创 2020-07-17 16:57:18 · 868 阅读 · 0 评论 -
pythonocc 交,并,减
交的概念是两个东西的公共部分,而并的概念是两个东西加起来,减的概念是从A中减去B,用集合的语言就是,交就是,并就是,减就是A-B。在Pythonocc里,交,并,减相对应的是common,fuse和cut,下面附上代码。from OCC.Core.BRepAlgoAPI import BRepAlgoAPI_Cut, BRepAlgoAPI_Fuse, BRepAlgoAPI_Commonfrom OCC.Display.SimpleGui import init_displaydef GetR原创 2020-07-17 16:27:16 · 638 阅读 · 0 评论 -
pythonocc GeomAbs_Intersection, GeomAbs_Arc, GeomAbs_Tangent从pythonocc哪个库import
from OCC.Core.GeomAbs import GeomAbs_Intersection, GeomAbs_Arc, GeomAbs_Tangent原创 2020-07-16 14:19:00 · 183 阅读 · 1 评论 -
anaconda安装pythonocc
打开anaconda prompt, 输入命令conda install -c tpaviot -c conda-forge -c dlr-sc -c oce -c pythonocc pythonocc-core,这条命令在我的电脑上可以行得通。tpaviot是conda的channel。官网上的命令( conda install -c conda-forge -c dlr-sc -c pythonocc -c oce pythonocc-core==0.18.1)在我的电脑上执行后一直在解决环境。..原创 2020-07-08 09:12:22 · 1512 阅读 · 1 评论 -
pythonocc 画一条直线
# -*- coding: utf-8 -*-"""Created on Wed Jul 8 09:38:19 2020@author: zxl"""from OCC.Core.gp import gp_Pntfrom OCC.Extend.ShapeFactory import make_wirefrom OCC.Core.BRepBuilderAPI import BRepBuilderAPI_MakeEdgefrom OCC.Display.SimpleGui import in.原创 2020-07-08 13:50:06 · 874 阅读 · 0 评论 -
pythonocc的BRepPrimAPI在OCC.Core.BRepPrimAPI里
pythonocc的BRepPrimAPI在OCC.Core.BRepPrimAPI里原创 2020-07-08 14:29:43 · 434 阅读 · 0 评论 -
pythonocc 切完显示要要.Shape()
比如你建了A和B,想从A中切掉Bfrom OCC.Core.gp import gp_Pnt, gp_Dir, gp_Plnfrom OCC.Display.SimpleGui import init_displayfrom OCC.Core.BRepAlgoAPI import BRepAlgoAPI_Cutfrom OCC.Core.BRepBuilderAPI import BRepBuilderAPI_MakePolygon, BRepBuilderAPI_MakeFacedispl原创 2020-07-10 17:17:17 · 397 阅读 · 0 评论 -
pythonocc 如何把TopoDS_Edge转换成Geom_Curve
在网上查了很久没有查到相关资料,所以本人来记录下如何做的。先附代码。from OCC.Core.BRep import BRep_ToolaPnt1 = gp_Pnt(1, 1, 1)aPnt2 = gp_Pnt(1, 2, 1)aEdge1 = BRepBuilderAPI_MakeEdge(aPnt1, aPnt2).Edge()aCurve = BRep_Tool.Curve(aEdge1 )[0]以上。需要注意的是,BRep_Tool.Curve(aEdge1 )返回的是一原创 2020-07-13 16:05:55 · 2147 阅读 · 1 评论 -
pythonocc 求一条直线与一个梯形的交点的横坐标
坐标系为ZOX坐标系,X轴为横轴,Y轴为竖轴。直线为平行于X轴的一条直线。梯形为以Z轴为对称轴的梯形。附上代码。# -*- coding: utf-8 -*-"""Created on Mon Jul 13 09:58:09 2020@author: zxl"""from OCC.Core.BRepBuilderAPI import BRepBuilderAPI_MakePolygon, BRepBuilderAPI_MakeFacefrom OCC.Core.gp import gp_原创 2020-07-13 16:17:16 · 377 阅读 · 0 评论