Simlab python二次开发1-将所有缸套内表面半径加大1mm

Simlab python二次开发1-将所有缸套内表面半径加大1mm

  • 1、打开模型文件
  • 2、getBodiesWithSubString()从名字得到Bodies
  • 3、建Body类Group
    • 3.1、定义放入Group中的Bodies
    • 3.2、建Group
  • 4、将缸套内表面建组,并扩半径1mm
    • 4.1、simlab.getBodiesFromGroup()
    • 4.2、选择圆柱特征,建面组
    • 4.3、根据圆柱面(面组名)得到端点坐标和半径
    • 4.4、将圆柱面(面组名)根据端点坐标扩半径1mm

1、打开模型文件

#***************************************************************
#SimLab Version 2020 Beta
#Created at Tue Oct 15 11:22:28 2019
#***************************************************************
#For debugging this python script,Please comment(#) out the line "from hwx import simlab" and uncomment the line "import simlab"
from hwx import simlab
#import simlabImportGda=''' <ImportGda UUID="D896F6DF-56FA-4134-9AD1-1010BF292223" gda="" CheckBox="ON"><tag Value="1"/><Name Value="./SampleBolck.gda"/><FileName Value="D:/study/CAEpython/getBodiesFromGroup_sample./SampleBolck.gda"/><Units Value="MilliMeter"/><Output/></ImportGda>''';
simlab.execute(ImportGda)

和matlab类似,加;不打印结果
在这里插入图片描述

2、getBodiesWithSubString()从名字得到Bodies

outputBodies=simlab.getBodiesWithSubString("SampleBolck.gda", ["Liners_*"])

结果为元胞类型
在这里插入图片描述

3、建Body类Group

3.1、定义放入Group中的Bodies

CreateGroup=''' <CreateGroup UUID="899db3a6-bd69-4a2d-b30f-756c2b2b1954" CheckBox="OFF" isObject="4"><tag Value="-1"/><Name Value="Liner_Bodies" OldValue=""/><SupportEntities><Entities><Model>SampleBolck.gda</Model><Body>'''+str(outputBodies).replace("'",'"').strip('()')+'''</Body></Entities></SupportEntities><Type Value="Body"/><Color Value="255,206,0,"/><Dup Value="1"/></CreateGroup>''';

在这里插入图片描述

3.2、建Group

simlab.execute(CreateGroup)

在这里插入图片描述

4、将缸套内表面建组,并扩半径1mm

4.1、simlab.getBodiesFromGroup()

从Body类Group中取得Bodies的名称(元胞

Liner_Bodies=simlab.getBodiesFromGroup('Liner_Bodies');

在这里插入图片描述

4.2、选择圆柱特征,建面组

i=1;#下面的for 循环将所有的缸套内表面选择后建组,并扩半径1 mm(45-46):
#本示例只将Liners_2进行处理:
#for LinerBody in Liner_Bodies:LinerBody=Liner_Bodies[0] #######GroupName="Bore_"+str(i)SelectFeatures=''' <SelectFeatures UUID="CF82E8FB-9B3E-4c02-BA93-9466C1342C6E" CheckBox="ON"><SupportEntities><Entities><Model>SampleBolck.gda</Model><Body>"'''+LinerBody+'''",</Body></Entities></SupportEntities><Arcs MinValue="0.0" MaxValue="0.0" Value="0"/><ArcsAll Value="1"/><Circles MinValue="0.0" MaxValue="5" Value="0"/><CirclesAll Value="0"/><Cones MinValue="0.0" MaxValue="0.0" Value="0"/><ConeAll Value="0"/><FullCone Value="0"/><ClosedPartialCone Value="0"/><OpenPartialCone Value="0"/><Dics MinValue="0.0" MaxValue="0.0" Value="0"/><DicsAll Value="0"/><HollowDics MinValue="0.0" MaxValue="0.0" Value="0"/><HollowDicsAll Value="0"/><Cylinders MinValue="44" MaxValue="45" Value="1"/><CylindersAll Value="0"/><FullCylinder Value="1"/><ClosedPartialCylinder Value="0"/><OpenPartialCylinder Value="0"/><Fillets MinValue="0.0" MaxValue="0.0" Value="0"/><FilletsOption Value="1"/><PlanarFaces Value="0"/><FourEdgedFaces Value="0"/><ConnectedCoaxialFaces Value="0"/><ThroughBoltHole MinValue="0.0" MaxValue="0.0" Value="0"/><BlindBoltHole MinValue="0.0" MaxValue="0.0" Value="0"/><BlindBoltHoleDepth MinValue="0.0" MaxValue="0.0" Value="0"/><CreateGrp Name="'''+GroupName+'''" Value="1"/><ArcLengthBased Value=""/></SelectFeatures>''';simlab.execute(SelectFeatures);

在这里插入图片描述

4.3、根据圆柱面(面组名)得到端点坐标和半径

AxPt1,AxPt2,Rad=simlab.getCylindricalFaceAttributes(GroupName)

在这里插入图片描述
可测知面的半径为45mm
在这里插入图片描述

4.4、将圆柱面(面组名)根据端点坐标扩半径1mm

    AlignCylinder=''' <AlignCylinder UUID="5D271AC4-A0CE-411f-9E60-E7B17CB8B1B7" CheckBox="ON"><tag Value="-1"/><Name Value=""/><Entities><Group>"'''+GroupName+'''",</Group></Entities><Axis Point1="'''+str(AxPt1).strip('()') + '''" Point2="'''+str(AxPt2).strip('()') + '''" Value="Select"/><Radius Value="46"/><ProjectMidNodes Value="0"/><EntityType Value="1"/></AlignCylinder>''';simlab.execute(AlignCylinder);i=i+1

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/228.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

密码学 | 数字签名 + 数字证书

&#x1f951;原文&#xff1a;数字签名和数字证书的原理解读 - 知乎 &#x1f951;声明&#xff1a;后文图中若未明确指明&#xff0c;默认是 Bob 的公钥或私钥。 Step1&#xff1a;Bob 有两把钥匙&#xff0c;一把是公钥&#xff0c;另一把是私钥。 Step2&#xff1a;Bob 把…

基于Springboot+Vue的Java项目-企业客户管理系统开发实战(附演示视频+源码+LW)

大家好&#xff01;我是程序员一帆&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &am…

00_Linux

文章目录 LinuxLinux操作系统的组成Linux的文件系统Linux操作系统中的文件类型Linux操作系统的组织结构 Linux vs WindowsNAT vs 桥接模式 vs 仅主机Linux Shell命令Linux⽂件与⽬录管理相关指令目录文件普通文件文本编辑 用户管理添加用户删除用户用户组管理 文件权限管理权限…

[生活][杂项] 上班党的注意事项

前言 目前是上班已经接近两年了&#xff0c;目前的状态是&#xff0c;一个人租了一个单间在上班。对于这种情况有以下几点需要注意。 钥匙问题&#xff0c;一定不要陷入钥匙丢失的情况&#xff01;一定不要陷入钥匙丢失的情况&#xff01;一定不要陷入钥匙丢失的情况&#xff…

共享电动车哪家强?人民出行共享电动车绿色出行

在当下这个快节奏、高压力的生活环境中,人们越来越注重出行的便捷性和环保性。共享电动车以其灵活方便、绿色低碳的特性,受到了越来越多人的青睐。那么,在众多的共享电动车品牌中,哪个牌子比较好呢?今天,就让我来为大家介绍一下人民出行共享电动车,它以其卓越的品质和贴心的服…

邮箱群组是什么?怎么创建邮箱群组?

在我们群发邮件时&#xff0c;可能会遇到这样的状况&#xff0c;一个个输入邮箱地址效率很低&#xff0c;而且很容易就漏发。而对于一个企业来说&#xff0c;如果出现这样的问题&#xff0c;很有可能会影响公司的业务进展和团队协作。这个时候我们就需要邮箱群组这个功能&#…

【Java】导出Mysql表表结构与注释数据字典

需求&#xff1a; 把mysql中所有表的字段名、数据类型、长度、注释整理成csv&#xff0c;做成数据字典。 import java.io.IOException; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; import ja…

聊聊binlog是什么

1. 上一讲思考題解答:redo日志刷盘策略的选择建议 先给大家解释一下上一讲的思考題&#xff0c;我给大家的一个建议&#xff0c;其实对于redo日志的三种刷盘策略&#xff0c;我们通常建议是设置为1 也就是说&#xff0c;提交事务的时候&#xff0c;redo日志必须是刷入磁盘文件…

AWB学习记录

主要参考食鱼者博客&#xff1a;https://blog.csdn.net/wtzhu_13/article/details/119301096&#xff0c;以及相关的论文&#xff0c;感谢食鱼者老师整理分享。 灰度世界和完全反射 灰度世界法和完全反射法分别是基于(Rmean, Gmean, Bmean)和(Rmax, Gmax, Bmax)来进行白平衡校…

Leetcode 76. 最小覆盖子串和Leetcode 34. 在排序数组中查找元素的第一个和最后一个位置

文章目录 Leetcode 76. 最小覆盖子串题目描述C语言题解和思路解题思路 Leetcode 34. 在排序数组中查找元素的第一个和最后一个位置题目描述C语言题解和思路解题思路 Leetcode 76. 最小覆盖子串 题目描述 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子…

多任务学习的显著优势!

多任务学习是一种机器学习技术&#xff0c;它允许模型同时学习多个相关任务。与不进行多任务的整体学习&#xff08;单任务学习&#xff09;相比&#xff0c;多任务学习具有多个显著优势。 首先&#xff0c;多任务学习可以提高学习效率和速度。在并行学习中&#xff0c;多个任…

数组和指针的联系(C语言)

数组和指针是两种不同的数据类型&#xff0c;数组是一种构造类型&#xff0c;用于存储一组相同类型的变量&#xff1b;而指针是一种特殊类型&#xff0c;专门用来存放数据的地址。数组名除了sizeof(数组名)和&数组名表示整个数组外&#xff0c;其他情况下都表示的是首元素的…

profinet协议基础

文章目录 工业以太网自动化通讯金字塔工业以太网技术比较 profinet概述profinet特性 EtherNet通信EtherCAT通信EtherCat特性EtherCat过程同步 工业以太网 工业以太网是基于IEEE 802.3 (Ethernet)的强大的区域和单元网络。 自动化通讯金字塔 各个组织与工业以太网 工业以太网…

水气表CJ/T188协议学习及实例

水气表CJ/T188协议学习及实例 1 CT/J 188协议简介 CJ/T188协议规定了户用计量仪表(以下简称仪表)&#xff0c;包括水表、燃气表、热量表等仪表数据传输的基本原则&#xff0c;接口形式及物理性能、数据链路、数据标识及数据安全性和数据表达格式的要求。 CJ/T188协议为主-从…

DP10RF001一款工作于200MHz~960MHz低功耗、高性能、单片集成的(G)FSK/OOK无线收发芯片

产品概述. DP10RF001是一款工作于200MHz~960MHz范围内的低功耗、高性能、单片集成的(G)FSK/OOK无线收发机芯片。内部集成完整的射频接收机、射频发射机、频率综合器、调制解调器&#xff0c;只需配备简单、低成本的外围器件就可以获得良好的收发性能。芯片支持灵活可设的数据包…

Node.js安装与配置

Node.js是一个基于Chrome V8引擎的JavaScript运行环境&#xff0c;可以让你用JavaScript编写服务器端代码。在本文中&#xff0c;我将向大家介绍如何安装和配置Node.js。 首先&#xff0c;你需要前往Node.js官方网站&#xff08;https://nodejs.org/&#xff09;下载最新版本的…

DDD 领域驱动设计 - Domain Primitive(Kotlin 落地实现)

本文部分借鉴了阿里技术专家的 DDD 系列文章&#xff0c;笔者只是在学习 DDD 的过程中记录自己想法、思考. Ps&#xff1a;为了便于理解&#xff0c;笔者改动了部分案例&#xff0c;语言也换成 Kotlin 文章目录 为什么出现 DDD&#xff1f;Domain Primitive&#xff08;DP&…

C#中检查一个矩阵是否可逆

在C#中&#xff0c;要检查一个矩阵是否可逆&#xff08;即是否是满秩的&#xff0c;或者说是否有逆矩阵&#xff09;&#xff0c;以及计算它的逆矩阵&#xff0c;你可以使用数学库&#xff0c;比如Math.NET Numerics。这个库提供了强大的数学和统计功能&#xff0c;包括线性代数…

JavaEE初阶Day 10:多线程(8)

目录 Day 10&#xff1a;多线程&#xff08;8&#xff09;单例模式阻塞队列1. 生产者消费者模型1.1 生产者消费者模型解耦合1.2 生产者消费者模型削峰填谷 2. 生产者消费者代码3. 阻塞队列实现 Day 10&#xff1a;多线程&#xff08;8&#xff09; 单例模式 单例模式&#xf…

SQL Server Management Studio 显示行号

前言 在使用 SQL Server Management Studio (SSMS) 进行数据库管理和查询时&#xff0c;能够看到代码的行号是非常有用的。这可以帮助您更容易地定位代码错误、讨论特定的代码行&#xff0c;或者在执行长查询时快速找到特定行。在本文中&#xff0c;我将向您展示如何在 SSMS 中…