首页 > 编程语言 >PythonOCC基础使用:建模——矩阵变换(平移/旋转/缩放/镜像)

PythonOCC基础使用:建模——矩阵变换(平移/旋转/缩放/镜像)

时间:2024-04-12 13:45:08浏览次数:23  
标签:Core gp OCC 缩放 建模 PythonOCC cone import display

此处特别感谢小昌做出的贡献!

PythonOCC基础使用:建模——矩阵变换(平移/旋转/缩放/镜像)-卡核 (caxkernel.com)

 

1.平移

效果图:
在这里插入图片描述

from OCC.Core.BRepPrimAPI import BRepPrimAPI_MakeCone
from OCC.Core.TopLoc import TopLoc_Location
from OCC.Core.TopoDS import TopoDS_Shape
from OCC.Core.gp import gp_Pnt, gp_Trsf, gp_Vec, gp_Ax1, gp_Dir
from OCC.Display.OCCViewer import rgb_color

my_cone = BRepPrimAPI_MakeCone(1,0,4).Shape()
cone=TopoDS_Shape(my_cone)
T=gp_Trsf()
T.SetTranslation(gp_Vec(0,5,0))
loc=TopLoc_Location(T)
cone.Location(loc)

if __name__ == "__main__":
    from OCC.Display.SimpleGui import init_display
    display, start_display, add_menu, add_function_to_menu = init_display()
    display.DisplayShape(my_cone, update=True,color=rgb_color(1,0,0))
    display.DisplayShape(cone, update=True,color=rgb_color(0,0,1))
    start_display()

2.旋转

效果图:
在这里插入图片描述

from OCC.Core.GeomAPI import GeomAPI_Interpolate
from OCC.Core.BRepPrimAPI import BRepPrimAPI_MakeCone
from OCC.Core.TopoDS import TopoDS_Shape
from OCC.Core.TColgp import TColgp_HArray1OfPnt
from OCC.Core.gp import gp_Pnt, gp_Ax1, gp_Dir, gp_Circ, gp_Elips,gp_Trsf,gp_Vec
from OCC.Core.TopLoc import TopLoc_Location
from OCC.Core.GC import GC_MakeSegment, GC_MakeCircle, GC_MakeArcOfCircle, GC_MakeEllipse,GC_MakeRotation
from OCC.Core.BRepBuilderAPI import BRepBuilderAPI_MakeEdge, BRepBuilderAPI_MakeWire
from OCC.Display.OCCViewer import rgb_color
#旋转
my_cone = BRepPrimAPI_MakeCone(1,0,4).Shape()
cone=TopoDS_Shape(my_cone)
T1=gp_Trsf()
T=gp_Ax1(gp_Pnt(0, 1, 0), gp_Dir(0, 6, 4))
T1.SetRotation(T,1)
coneLoc=TopLoc_Location(T1)
my_cone.Move(coneLoc)

if __name__ == "__main__":
    from OCC.Display.SimpleGui import init_display
    display, start_display, add_menu, add_function_to_menu = init_display()
    display.DisplayShape(cone,update=True,color=rgb_color(0,0,0))
    display.DisplayShape(my_cone, update=True,color=rgb_color(1,0,0))
    start_display()

3.缩放

效果图:
在这里插入图片描述

from OCC.Core.GeomAPI import GeomAPI_Interpolate
from OCC.Core.BRepPrimAPI import BRepPrimAPI_MakeCone
from OCC.Core.TopoDS import TopoDS_Shape
from OCC.Core.TColgp import TColgp_HArray1OfPnt
from OCC.Core.gp import gp_Pnt, gp_Ax1, gp_Dir, gp_Circ, gp_Elips,gp_Trsf,gp_Vec
from OCC.Core.TopLoc import TopLoc_Location
from OCC.Core.GC import GC_MakeSegment, GC_MakeCircle, GC_MakeArcOfCircle, GC_MakeEllipse,GC_MakeRotation
from OCC.Core.BRepBuilderAPI import BRepBuilderAPI_MakeEdge, BRepBuilderAPI_MakeWire
from OCC.Display.OCCViewer import rgb_color
#缩放
my_cone = BRepPrimAPI_MakeCone(1,0,4).Shape()
cone=TopoDS_Shape(my_cone)
T1=gp_Trsf()
T=gp_Pnt(0, 20, 0)
T1.SetScale(T,5)
coneLoc=TopLoc_Location(T1)
my_cone.Move(coneLoc)

if __name__ == "__main__":
    from OCC.Display.SimpleGui import init_display
    display, start_display, add_menu, add_function_to_menu = init_display()
    display.DisplayShape(cone,update=True,color=rgb_color(0,0,0))
    display.DisplayShape(my_cone, update=True,color=rgb_color(1,0,0))
    start_display()

4.镜像

效果图:
在这里插入图片描述

from OCC.Core.TColgp import TColgp_HArray1OfPnt
from OCC.Core.BRepPrimAPI import BRepPrimAPI_MakeCone
from OCC.Core.gp import gp_Pnt, gp_Ax1, gp_Dir, gp_Circ, gp_Elips,gp_Trsf,gp_Vec
from OCC.Core.TopLoc import TopLoc_Location
from OCC.Core.TopoDS import TopoDS_Shape
from OCC.Core.GC import GC_MakeSegment, GC_MakeCircle, GC_MakeArcOfCircle, GC_MakeEllipse,GC_MakeRotation
from OCC.Core.BRepBuilderAPI import BRepBuilderAPI_MakeEdge, BRepBuilderAPI_MakeWire
from OCC.Display.OCCViewer import rgb_color
#镜像
my_cone = BRepPrimAPI_MakeCone(1,0,4).Shape()
cone=TopoDS_Shape(my_cone)
T1 = gp_Trsf()
T=gp_Ax1(gp_Pnt(0,6,0),gp_Dir(0,4,1))
T1.SetMirror(T)
coneLoc=TopLoc_Location(T1)
my_cone.Move(coneLoc)

if __name__ == "__main__":
    from OCC.Display.SimpleGui import init_display
    display, start_display, add_menu, add_function_to_menu = init_display()
    display.DisplayShape( my_cone, update=True, color=rgb_color( 1, 0, 0 ) )
    display.DisplayShape(cone,update=True,color=rgb_color(0,0,0))
    start_display()

标签:Core,gp,OCC,缩放,建模,PythonOCC,cone,import,display
From: https://www.cnblogs.com/earvin/p/18130999

相关文章

  • 工业辅助制造:冲压/压铸模具设计为什么需要仿真建模
    相关:https://isite.baidu.com/site/wjzz90of/4c6cf443-336f-4dcb-9830-1db415cee29d?fid=nHnvnWb3rHn4nH6drHn1nHfYnjuxnWcdg1D&ch=4&bd_vid=8058739110555694506&bd_bxst=EiaKu83a0D3TFeL900DD0c3dNfKOg40h000000ew8IUqcQ5-YUb6VtQN4Mp6ZaD000002bf4nb7KnbcYf1n4......
  • 农村高中生源转型期提升学生二次函数建模能力的课堂探究
      在新课程下,培养学生的数学核心素养是高中数学课堂教学的根本任务。其中的建模思想是数学核心素养培养的一个基本指标,是学生正确认识数学知识内在本质与原理的重要思维工具。通过在数学课堂教学中有效地应用建模思想,主要的应用意义体现在如下几个方面:其一,通过在数学课堂中融入......
  • 基于LEAP模型的能源环境发展、碳排放建模预测及不确定性分析实践应用
     在国家“3060”碳达峰碳中和的政策背景下,如何寻求经济-能源-环境的平衡有效发展是国家、省份、城市及园区等不同级别经济体的重要课题。根据国家政策、当地能源结构、能源技术发展水平以及相关碳排放指标制定合理有效的低碳能源发展规划需要以科学准确的能源环境发展预测模型......
  • 组合创新,原创模型!多类型需求响应负荷标准化建模+共享储能(附matlab代码实现)
    专题推荐:论文推荐,代码分享,视角(点击即可跳转)所有链接建议使用电脑端打开,手机端打开较慢【代码推荐购买指南】电力系统运行优化与规划、时间序列预测、回归分类预测matlab代码公众号历史推文合集23.3.21(电力系统前沿视角/预测和优化方向matlab代码/电力系统优秀论文推程......
  • 高光谱遥感数值建模技术及在植被、水体、土壤信息提取
    原文链接:高光谱遥感数值建模技术及在植被、水体、土壤信息提取https://mp.weixin.qq.com/s?__biz=MzUzNTczMDMxMg==&mid=2247600854&idx=6&sn=98131c36c2406f1f4b627de5acdea985&chksm=fa820b31cdf582275d52c1c6fef4ecbd83543380a7aed22ca98e4e724873bbbd206943cdedf2&token=18......
  • 2011年认证杯SPSSPRO杯数学建模B题(第一阶段)生物多样性的评估全过程文档及程序
    2011年认证杯SPSSPRO杯数学建模B题生物多样性的评估原题再现:  2010年是联合国大会确定的国际生物多样性年。保护地球上的生物多样性已经越来越被人类社会所关注,相关的大规模科研和考察计划也层出不穷。为了更好地建立国际交流与专家间的合作,联合国还建立了生物多样性......
  • 地理信息系统三维建模
    GIS(地理信息系统)的3D建模分析是一种关键性工具,用于理解和解决现实世界中的地理和空间问题。本文将探讨GIS建模的定义、类型、结构和逻辑,以及其在不同领域的应用,同时强调其优点、缺点和常见问题。GIS建模的定义GIS空间分析建模是在计算机中创建编码数据的模型,用于描述地理对象......
  • R语言层次聚类、多维缩放MDS分类RNA测序(RNA-seq)乳腺发育基因数据可视化|附数据代码
    全文链接:https://tecdat.cn/?p=35691原文出处:拓端数据部落公众号分析师:QingLi在生物学和医学研究中,乳腺发育是一个复杂而精细的过程,涉及众多基因的表达调控。近年来,随着高通量测序技术的发展,RNA测序(RNA-seq)技术已经成为研究基因表达模式的有力工具。通过RNA-seq技术,我们可以获......
  • 移动通信专业毕业设计(论文)-典型电话通信信道的建模与仿真
     下载请点击↓:移动通信专业毕业设计(论文)-典型电话通信信道的建模与仿真资源-CSDN文库毕业设计(论文)题目典型电话通信信道的建模与仿真学生姓名:                专   业:         指导教师:            ......
  • 吴恩达2022机器学习专项课程(一) 5.5 特征缩放1 & 5.6 特征缩放2
    问题预览/关键词什么是特征缩放?作用是什么?特征尺度和参数w权重的关系是?算法为什么要调节w权重?不进行特征缩放对梯度下降的影响?有特征缩放对梯度下降的影响?实现特征缩放的三种方法是?如何实现最大值缩放?如何实现均值归一化?如何实现Z-score标准化?判断缩放成功的标准是?什么情况......