Open CASCADE学习|环形弹簧建模

目录

Draw Test Harness:

C++:


环形弹簧,也称为弓簧,是由拉伸弹簧和连接弹簧构成的。在结构上,环形弹簧通常包括端环、外环和内环,其主要参数包括弹簧的内径、外径和自由高度。环形弹簧的一个显著特点是,当承受轴向压缩载荷时,各圆环会沿圆锥面相对滑动,导致整个弹簧产生轴向变形。

环形弹簧的一个主要特性是,与其他各种弹簧相比,它几乎只产生纯压缩和拉伸应力,因此其单位体积材料的变形能要较其他弹簧大得多。这使得环形弹簧特别适用于空间尺寸受限制,但需要吸收大量能量和强力缓冲的场合,例如铁道车辆的链接部分、受强大冲击的缓冲装置、大型管道的吊架和大容量电流遮断器的固定支承等。

在环形弹簧的制造过程中,会先使用专用胎夹具夹紧拉伸弹簧的一端并旋入连接弹簧,然后将拉伸弹簧的另一端旋转后套入连接弹簧的另一端,最后利用回转力将连接弹簧旋接在拉伸弹簧的内部,从而构成环形弹簧。

Draw Test Harness:

pload MODELING VISUALIZATION# use torus surface.torus aTorus 10 2set aSlope 0.05line aLine2d 0 0 $aSlope 1trim aSegment aLine2d 0 2*pi# make edge by the pcurve.mkedge aHelixEdge aSegment aTorus 0 2*pi/$aSlope# there is no curve 3d in the pcurve edge.# so need this to approximate one.mkedgecurve aHelixEdge 0.01wire aHelixWire aHelixEdge# make the profile.circle aProfile 12 0 0 1 1 1 0.3mkedge aProfile aProfilewire aProfile aProfilemkplane aProfile aProfile# display the profile.vdisplay aProfile aHelixEdge# loft the circle along the helix curve.pipe aSpring aHelixWire aProfile# display the result.vdisplay aSpring#vsetmaterial aSpring steelvsetgradientbg 180 200 255 180 180 180 2vsetdispmode 1vzbufftrihedronset ray tracingif { ! [catch {vrenderparams -raytrace -shadows -reflections -fsaa -rayDepth 5}] } {  vtextureenv on 1}

C++:

#include <Geom_ToroidalSurface.hxx>
#include <gp_Lin2d.hxx>
#include <Geom2d_TrimmedCurve.hxx>
#include <GCE2d_MakeSegment.hxx>
#include <BRepBuilderAPI_MakeEdge.hxx>
#include <BRepLib.hxx>
#include <BRepBuilderAPI_MakeWire.hxx>
#include <Geom_Circle.hxx>
#include <BRepBuilderAPI_MakeFace.hxx>
#include <BRepOffsetAPI_MakePipe.hxx>
#include <TopoDS.hxx>
​
#include"Viewer.h"
​
int main(int argc, char* argv[])
{gp_Ax3 loc = gp_Ax3(gp_Pnt(0, 0, 0), gp_Dir(0, 0, 1), gp_Dir(1, 0, 0));Handle(Geom_ToroidalSurface) aTorus =new Geom_ToroidalSurface(loc, 10, 2);gp_Lin2d aLine2d(gp_Pnt2d(0.0, 0.0), gp_Dir2d(0.05, 1.0));Handle(Geom2d_TrimmedCurve) aSegment = GCE2d_MakeSegment(aLine2d, 0.0, M_PI * 2.0);TopoDS_Edge aHelixEdge = BRepBuilderAPI_MakeEdge(aSegment, aTorus, 0.0, 2.0 * M_PI/0.05);BRepLib::BuildCurves3d(aHelixEdge,0.01);BRepBuilderAPI_MakeWire aHelixWire;aHelixWire.Add(aHelixEdge);Handle(Geom_Circle) aProfile = new Geom_Circle(gp_Ax2(gp_Pnt(12, 0, 0), gp_Dir(1, 1, 1)), 0.3);TopoDS_Edge aProfilee = BRepBuilderAPI_MakeEdge(aProfile);BRepBuilderAPI_MakeWire aProfilew;aProfilew.Add(aProfilee);TopoDS_Shape aProfilef = BRepBuilderAPI_MakeFace(aProfilew);BRepOffsetAPI_MakePipe aSpring(TopoDS::Wire(aHelixWire), aProfilef, GeomFill_IsCorrectedFrenet, Standard_False);TopoDS_Shape Spring = aSpring.Shape();Viewer vout(50, 50, 500, 500);vout << aHelixWire;vout << aProfilef;vout << Spring;vout.StartMessageLoop();return 0;
​
}
​

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

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

相关文章

计算机毕业设计SSM基于的冷链食品物流信息管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; vue mybatis Maven mysql5.7或8.0等等组成&#xff0c;B…

prometheus之redis_exporter部署

下载解压压缩包 mkdir /opt/redis_exporter/ cd /opt/redis_exporter/ wget http://soft.download/soft/linux/prometheus/redis_exporter/redis_exporter-v1.50.0.linux-amd64.tar.gz tar -zxvf redis_exporter-v1.50.0.linux-amd64.tar.gz ln -s /opt/redis_exporter/redis_…

网络原理(一)

&#x1f495;"Echo"&#x1f495; 作者&#xff1a;Mylvzi 文章主要内容&#xff1a;网络原理(一) 一. 应用层 应用层是和程序员联系最密切的一层,对于应用层来说,程序员可以自定义应用层协议,应用层的协议一般要约定好以下两部分内容: 根据需求,明确要传输哪些信…

[算法学习]

矩阵乘法 只有当左矩阵列数等于右矩阵行数&#xff0c;才能相乘N*M的矩阵和M*K的矩阵做乘法后矩阵大小为N*k矩阵乘法规则&#xff1a;第一个矩阵A的第 i 行与第二个矩阵的第 j 列的各M个元素对应相乘再相加得到新矩阵C[i][j]的值 整除 同余 同余的性质 线性运算&#xff0c;…

服务器渲染(SSR)-前端框架

Next.js、Nuxt.js和Remix都是基于Node.js比较流行三个前端框架&#xff0c;它们都基于JavaScript和React/Vue构建&#xff0c;并提供了一些额外的功能和工具来简化开发过程。 1. Next.js是一个基于React的前端框架&#xff0c;它提供了服务器渲染&#xff08;SSR&#xff09;和…

Android:Cordova,JavaScript操作设备功能

Cordova学习 Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。 Cordova还提供了一组统一的JavaScript类库,以及为这些类库所用的设备相关的原生后台代码。 Cordova是PhoneGap贡献给Apache后的开源项目,是从…

最适合新手的SpringBoot+SSM项目《苍穹外卖》实战—(一)项目概述

黑马程序员最新Java项目实战《苍穹外卖》&#xff0c;最适合新手的SpringBootSSM的企业级Java项目实战。 项目简介 《苍穹外卖》项目的定位是一款为餐饮企业&#xff08;餐厅、饭店&#xff09;定制的软件产品。该项目是一个在线外卖订购系统&#xff0c;顾客可以通过网站或者…

Java安全 CC链1分析(Lazymap类)

Java安全 CC链1分析 前言CC链分析CC链1核心LazyMap类AnnotationInvocationHandler类 完整exp&#xff1a; 前言 在看这篇文章前&#xff0c;可以看下我的上一篇文章&#xff0c;了解下cc链1的核心与环境配置 Java安全 CC链1分析 前面我们已经讲过了CC链1的核心ChainedTransf…

TestNG基础教程

TestNG基础教程 一、常用断言二、执行顺序三、依赖测试四、参数化测试1、通过dataProvider实现2、通过xml配置&#xff08;这里是直接跑xml&#xff09; 五、testng.xml常用配置方式1、分组维度控制2、类维度配置3、包维度配置 六、TestNG并发测试1、通过注解来实现2、通过xml来…

2.11.

线程 #include <myhead.h>#define SIP "192.168.0.114" #define SPORT 8888void *task(void *arg){printf("客户端连接\n");sleep(1);pthread_exit(NULL); }int main(int argc, const char *argv[]) {int sfd socket(AF_INET, SOCK_STREAM, 0);if(…

Makefile编译原理 make 中的路径搜索_2

一.make中的路径搜索 VPATH变量和vpath关键字同时指定搜索路径。 实验1 VPATH 和 vpath 同时指定搜索路径 mhrubuntu:~/work/makefile1/18$ tree . ├── inc │ └── func.h ├── main.c ├── makefile ├── src1 │ └── func.c └── src2 └── func.c mak…

快速手动完成 VS 编写脚本自动化:如何选取最高效的工作方式?

那些不懂技术的朋友们可能会觉得&#xff0c;写代码写脚本不就是敲敲键盘嘛&#xff0c;搞那么高科技做什么&#xff0c;直接手工点点鼠标不就完事了。 这种看法很常见&#xff0c;但实际情况要复杂得多。 首先&#xff0c;手工操作虽然对于短期和小规模的任务来说似乎更快&am…

【正在更新】从零开始认识语音识别:DNN-HMM混合系统语音识别(ASR)原理

摘要 | Abstract TO-BE-FILLED 1.前言 | Introduction 近期想深入了解语音识别(ASR)中隐马尔可夫模型(HMM)和深度神经网络-隐马尔可夫(DNN-HMM)混合模型&#xff0c;但是尽管网络上有许多关于DNN-HMM的介绍&#xff0c;如李宏毅教授的《深度学习人类语言处理》[1]&#xff0c;…

火车可视化调车系统

列车在调车作业时&#xff0c;当机车头在尾部推动车厢时&#xff0c;司机室一人操控机车&#xff0c;车厢前端配备两名挂梯随车运行调车员&#xff0c;调车员人为分析行车方向是否有障碍、轨道行人等紧急情况&#xff0c;通过对讲机通知司机控制停车。由于司机无法直观观察列车…

ThreeDPose

2023 GitHub - maceq687/FullBodyPoseEstimation: Full body pose estimation to be used with HMD (Quest2) built in Unity ? python mediapose 驱动unity python 发udp消息 unity可以跑起来,python可以驱动unity同步。 GitHub - ganeshsar/UnityPythonMediaPipeAvat…

逆向实战29——某度 某家号2024旋转验证码识别

前言 本文章中所有内容仅供学习交流&#xff0c;抓包内容、敏感网址、数据接口均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff0c;若有侵权&#xff0c;请联系我立即删除&#xff01; 目标网站 aHR0cHM6Ly9hd…

Linux下的文件权限与访问控制:守护你的数据宝藏

引言 在Linux这片广袤的领域中&#xff0c;文件权限与访问控制犹如守护宝藏的魔法阵&#xff0c;它们确保你的系统安全、数据不被窥探。对于初学者而言&#xff0c;了解并掌握这些魔法阵的奥秘&#xff0c;是成为一名合格Linux巫师的必经之路。那么&#xff0c;就让我们一起揭…

Redis核心技术与实战【学习笔记】 - 28.Redis 6.0新特性(多线程、客户端缓存与安全)

简述 Redis 6.0 新增了几个关键新特性&#xff0c;分别是面向网络处理的多 IO 线程、客户端缓存、细粒度的权限控制&#xff0c;以及 RESP 3 协议的使用。 其中&#xff0c;面向网络处理的多 IO 线程可以提高网络请求处理的速度&#xff0c;而客户端缓存可以让应用直接在客户…

fast.ai 深度学习笔记(二)

深度学习 2&#xff1a;第 1 部分第 4 课 原文&#xff1a;medium.com/hiromi_suenaga/deep-learning-2-part-1-lesson-4-2048a26d58aa 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 来自 fast.ai 课程的个人笔记。随着我继续复习课程以“真正”理解它&#xff0c;这…

【机器学习300问】22、什么是超参数优化?常见超参数优化方法有哪些?

在之前的文章中&#xff0c;我主要介绍了学习率 η和正则化强度 λ 这两个超参数。这篇文章中我就主要拿这两个超参数来进行举例说明。如果想在开始阅读本文之前了解这两个超参数的有关内容可以参考我之前的文章&#xff0c;文章链接为你放在了这里&#xff1a; 【机器学习300…