gp_Ax1, gp_Dir, gp_Circ, gp_Elips,gp_Trsf,gp_VecfromOCC.Core.TopLocimportTopLoc_LocationfromOCC.Core.GCimportGC_MakeSegment, GC_MakeCircle, GC_MakeArcOfCircle, GC_MakeEllipse
接下来的步骤是根据上述定义的欧拉角来创建旋转矩阵。我们将利用gp_Ax2和gp_Trsf来实现。 # 创建Z轴的旋转z_axis=gp_Ax1(gp_Pnt(0,0,0),gp_Dir(0,0,1))rotation_z=gp_Trsf()rotation_z.SetRotation(z_axis,alpha)# 创建Y轴的旋转y_axis=gp_Ax1(gp_Pnt(0,0,0),gp_Dir(0,1,0))rotation_y=g...
from OCC.Core.gp import gp_OX, gp_Trsf 1. 2. 3. # 指定x轴 xAxis = gp_OX() # 定义镜像 aTrsf = gp_Trsf()# 定义一个矩阵变换 aTrsf.SetMirror(xAxis)#矩阵变换内容为 对x轴进行镜像 # 运用矩阵变换:镜像 aBRespTrsf = BRepBuilderAPI_Transform(aWire.Wire(), aTrsf) aMirroredShape = ...
from OCC.TopLoc import TopLoc_Location from OCC.gp import gp_Trsf, gp_Vec display, start_display, add_menu, add_function_to_menu = init_display("qt-pyqt5") QtCore, QtGui, QtWidgets, QtOpenGL = get_qt_modules() from OCC.Display.qtDisplay import qtViewer3d print("Usage: press G to...
gp_Dir(const gp_XYZ& Coord):通过gp_XYZ对象构造方向向量,并自动归一化为单位向量。 属性访问: Coord():返回方向向量的坐标值,即一个gp_XYZ对象。 X(), Y(), Z():分别获取方向向量在x、y、z轴上的分量。 变换与操作: 常常与其他类如gp_Trsf(变换类)结合使用,以实现对方向向量的变换。 Mirrored(cons...
变换:当需要对点进行平移、旋转或缩放时,通常使用gp_Trsf类的变换方法,并通过相应的工具类如BRepBuilderAPI_Transform应用到更复杂的几何形状上。 数据交换:gp_Pnt可以轻松地从其他数据结构(如TopoDS_Vertex)中提取,也可以转换为其他形式,便于在几何模型的不同组件间交换数据。 实际应用 在设计过程中,工程师使用gp_...
aEdge3=BRepBuilderAPI_MakeEdge(aSegment2.Value())#通过edges 创建 wireaWire =BRepBuilderAPI_MakeWire(aEdge1.Edge(), aEdge2.Edge(), aEdge3.Edge())#得到X轴的便捷方式xAxis =gp_OX()#设置镜像轴aTrsf =gp_Trsf() aTrsf.SetMirror(xAxis)#应用镜像变换aBRespTrsf =BRepBuilderAPI_Transform(a...
OCC.Core.TopoDS import topods from OCC.Core.gp import gp_OX, gp_Trsf # 指定x轴 xAxis= gp_OX() # 定义镜像 aTrsf = gp_Trsf()# 定义一个矩阵变换 aTrsf.SetMirror(xAxis) #矩阵变换内容为 对x轴进行镜像 # 运用矩阵变换:镜像 aBRespTrsf = BRepBuilderAPI_Transform(aWire.Wire(), ...
see <http://www.gnu.org/licenses/>. importmath fromOCC.gpimportgp_Pnt,gp_OX,gp_Vec,gp_Trsf,gp_DZ,gp_Ax2,gp_Ax3,gp_Pnt2d,gp_Dir2d,gp_Ax2d fromOCC.GCimportGC_MakeArcOfCircle,GC_MakeSegment fromOCC.GCE2dimportGCE2d_MakeSegment fromOCC.GeomimportGeom_Plane,Geom_CylindricalSur...
aCubeTrsf = gp_Trsf() angle = 0.0 for i in range(2000): aCubeTrsf.SetRotation(Ax1angle) aCubeToploc = TopLoc_Location(aCubeTrsf) display.Context.SetLocation(ais_boxshpaCubeToploc) display.Context.UpdateCurrentViewer() angle += 0.001def rotating_cube_2_axis(event=None): build_shape()...