python二次开发Solidworks:圆形弹簧

news2025/1/18 6:44:32

目录

1、手动建模

2、python自动建模


1、手动建模

第一步​:草图1,在上视基准面画一个圆心在原点,直径50mm的圆​;

第二步​:草图2,在上视基准面画两条构造线,一条经过原点方向竖直,另一条同样经过原点,与前者夹角30°,然后画一个直径2.5mm的圆,将其圆心约束在第二条构造线上

第三步:扫描,轮廓为草图2,路径为草图1​,扭转50圈,得到圆形弹簧​。


 

2、python自动建模

import win32com.client as win32
import pythoncom
swApp = win32.Dispatch('sldworks.application')
swApp.Visible = True
Nothing = win32.VARIANT(pythoncom.VT_DISPATCH, None)
Part = swApp.NewDocument(r"C:\ProgramData\SolidWorks\SOLIDWORKS 2018\templates\gb_part.prtdot", 0, 0, 0)
swPart = Part
Part.SketchManager.InsertSketch(True)
boolstatus = Part.Extension.SelectByID2("上视基准面", "PLANE", 0.188860841006942, 0.100112928494525, 4.97830164353559E-02, False, 0, Nothing, 0)
Part.ClearSelection2(True)
skSegment = Part.SketchManager.CreateCircle(0, 0, 0, 0.078729, -0.00057, 0)
Part.ClearSelection2(True)
boolstatus = Part.Extension.SelectByID2("Arc1", "SKETCHSEGMENT", 7.79681291362058E-02, 0.011, -2.0918278548738E-03, False, 0, Nothing, 0)
myDisplayDim = Part.AddDimension2(0.100788069371193, 0, -1.16001362861183E-02)
Part.ClearSelection2(True)
myDimension = Part.Parameter("D1@草图1")
myDimension.SystemValue = 0.05
Part.ClearSelection2(True)
Part.SketchManager.InsertSketch(True)
Part.ClearSelection2(True)
Part.SketchManager.InsertSketch(True)
boolstatus = Part.Extension.SelectByID2("上视基准面", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
Part.ClearSelection2(True)
skSegment = Part.SketchManager.CreateCenterLine(0, 0, 0, 0, -0.029287, 0)
Part.ClearSelection2(True)
skSegment = Part.SketchManager.CreateCenterLine(0, 0, 0, 0.018237, -0.0282, 0)
Part.ClearSelection2(True)
boolstatus = Part.Extension.SelectByID2("Line2", "SKETCHSEGMENT", 1.59420289855072E-02, 3.49300410547659E-03, 2.56642512077295E-02, False, 0, Nothing, 0)
Part.ClearSelection2(True)
boolstatus = Part.Extension.SelectByID2("Line1", "SKETCHSEGMENT", -1.20772946859915E-04, 3.49300410547656E-03, 2.02294685990338E-02, False, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Line2", "SKETCHSEGMENT", 8.93719806763284E-03, 3.49300410547651E-03, 1.40700483091787E-02, True, 0, Nothing, 0)
myDisplayDim = Part.AddDimension2(7.85024154589371E-03, 0, 1.74516908212561E-02)
Part.ClearSelection2(True)
myDimension = Part.Parameter("D1@草图2")
myDimension.SystemValue = 0.5235987755983
Part.ClearSelection2(True)
skSegment = Part.SketchManager.CreateCircle(0.036473, -0.014191, 0, 0.041787, -0.017572, 0)
Part.ClearSelection2(True)
boolstatus = Part.Extension.SelectByID2("Arc1", "SKETCHSEGMENT", 0.042512077294686, 3.49300410547652E-03, 1.52777777777778E-02, False, 0, Nothing, 0)
myDisplayDim = Part.AddDimension2(4.64975845410628E-02, 0, 1.46739130434783E-02)
Part.ClearSelection2(True)
myDimension = Part.Parameter("D2@草图2")
myDimension.SystemValue = 0.0025
Part.ClearSelection2(True)
boolstatus = Part.Extension.SelectByID2("Point6", "SKETCHPOINT", 3.64734299516908E-02, -1.41908212560387E-02, 0, False, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Line2", "SKETCHSEGMENT", 1.41304347826087E-02, 3.49300410547659E-03, 2.46980676328502E-02, True, 0, Nothing, 0)
Part.SketchAddConstraints("sgCOINCIDENT")
Part.ClearSelection2(True)
boolstatus = Part.Extension.SelectByID2("Line1", "SKETCHSEGMENT", 1.22288134053267E-04, -8.40790429292215E-03, 5.00000000000925E-05, False, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Point6", "SKETCHPOINT", 2.97336674744748E-03, 5.15002227611493E-03, 0, True, 0, Nothing, 0)
myDisplayDim = Part.AddDimension2(2.89576459055716E-02, 1.72382894854328E-02, 0)
Part.ClearSelection2(True)
myDimension = Part.Parameter("D3@草图2")
myDimension.SystemValue = 0.035/2
Part.ClearSelection2(True)
Part.SketchManager.InsertSketch(True)
boolstatus = Part.Extension.SelectByID2("草图2", "SKETCH", 1.84217624883487E-02, -3.11551958984316E-02, 0, True, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("草图1", "SKETCH", -2.06551763495207E-02, -1.40841645109038E-02, 0, True, 0, Nothing, 0)
Part.ClearSelection2(True)
boolstatus = Part.Extension.SelectByID2("草图2", "SKETCH", 1.84217624883487E-02, -3.11551958984316E-02, 0, False, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("草图1", "SKETCH", -2.06551763495207E-02, -1.40841645109038E-02, 0, True, 4, Nothing, 0)
myFeature = Part.FeatureManager.InsertProtrusionSwept4(False, False, 8, False, False, 0, 0, False, 0, 0, 0, 0, True, True, True, 314.15926535898, True, False, 0.01, False)
Part.ClearSelection2(True)
Part.ShowNamedView2("*上下二等角轴测", 8)
Part.SelectionManager.EnableContourSelection = False
Part.ViewZoomtofit2()

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

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

相关文章

【jvm】虚拟机栈之局部变量表

目录 一、说明二、代码分析2.1 代码示例2.2 执行javap2.3 jclasslib插件查看 三、对slot的理解3.1 说明3.2 slot索引图3.3 实例方法的局部变量表3.4 long和double类型变量占2个slot 四、slot的重复利用4.1 说明4.2 变量c复用变量b的槽位 五、静态变量与局部变量对比 一、说明 1…

NEFU计算机网络实验一常见网络命令的使用

一、实验目的 1、理解、验证常用网络命令的原理和功能。 2、掌握常用的网络命令使用方法,合理使用相关命令对网络进行管理与维护。 二、实验内容 网络参数查询命令:IPCONFIG 网络测试命令:ping 路由表命令ROUTE 网络端口查询命令&…

chatglm配置

推荐看这个链接,有些问题解决出处https://zhuanlan.zhihu.com/p/643824521 以及这个https://blog.csdn.net/weixin_40547993/article/details/131775275 1.需要pytorch2.0,所以CUDA推荐11.8 ChatGLM2-6B版本要装PYTORCH2.0,而且要2.0.1 &a…

resultMap 和 resultType的用法和区别详解

resultMap 和 resultType的用法和区别详解 《resultMap 和 resultType的用法和区别详解》摘要引言resultType - 用法和映射示例了解resultType示例演示 resultMap - 区别、高级用法和自定义映射规则详解resultType vs. resultMap高级用法示例演示 Mybatis的CRUD操作总结参考资料…

信息保卫战:揭秘迅软DSE护航企业免受泄密之害

随着网络技术的发展,通过网络应用如网盘、网页、邮件、即时通讯工具传输分享文件变得越来越多,这些工具传输速度快,能够将大容量的文档快速传送给他人,在工作中受到许多人的青睐。 然而由这些传输工具引发的泄密事件也不断增多&am…

进程概念[下]

一、 进程优先级 0x01 什么叫进程优先级 CPU资源分配的先后顺序 0x02 为什么要有进程优先级 因为资源不足,是分配资源的一种方式,优先权高的进程有优先执行权利 0x03 查看更加详细的进程信息 ①运行代码 #include<iostream> #include<unistd.h> using na…

Cesium 空间量算——方位角量测

文章目录 需求分析需求 实现对方位角的量测功能 分析 可以通过Cesium API提供的方法手动实现方位角测量。下面是一个可以帮助你开始实现方位角测量的代码示例: // 初始化Cesium Viewer var viewer = new Cesium.Viewer(cesiumContainer);// 创建材质

第六章redux的使用(餐饮版)

文章目录 一、redux的使用1、redux原理图解析 二、同步计算器案例2、创建src/redux/constant.js&#xff08;食材库&#xff09;3、创建src/redux/store.js&#xff08;厨房&#xff09;3-1、安装redux3-2、store.js 4、count_reducer.js&#xff08;厨师&#xff09;5、count_…

如何从SEO角度写好原创文章并吸引人

不会写原创文章的站长&#xff0c;不能算是好的站长哦。SEO原创文章对于网站优化来说&#xff0c;就像吃饭对于人的生存一样重要。如果一个SEO博客全是复制粘贴别人的文章&#xff0c;那这个博客还有多少意义呢&#xff1f;这就好比别人辛苦种田&#xff0c;你却轻易地把人家的…

Profinet转Modbus RTU网关连接PLC与多功能电表modbus通讯配置案例

Profinet是一种工业以太网通讯协议&#xff0c;广泛用于工业自动化系统中。而Modbus RTU是一种串行通信协议&#xff0c;常用于PLC和仪表之间的通讯。Profinet转Modbus RTU网关(XD-MDPN100)的作用就是将Profinet协议转换为Modbus RTU协议&#xff0c;从而实现PLC和多功能电表之…

zabbix-agnet连接zabbix-proxy

先配置好zabbix-proxy zabbix-proxy配置http://t.csdnimg.cn/RpaCI 在zabbix-proxy服务器上 [rootcloudserver ~]# grep ^[a-Z] /etc/zabbix/zabbix_agentd.conf PidFile/var/run/zabbix/zabbix_agentd.pid LogFile/var/log/zabbix/zabbix_agentd.log LogFileSize0 Server19…

Java 常用类(包装类)

目录 八大Wrapper类包装类的分类 装箱和拆箱包装类和基本数据类型之间的转换常见面试题 包装类方法包装类型和String类型的相互转换包装类常用方法&#xff08;以Integer类和Character类为例&#xff09;Integer类和Character类的常用方法 Integer创建机制&#xff08;面试题&a…

ims-ui项目搭建

node版本&#xff1a; npm版本&#xff1a; 创建vite项目&#xff1a; npm create vitelatest 使用的vite版本为&#xff1a; 安装router4,安装命令如下&#xff1a; npm install vue-router4 安装pinia&#xff0c;安装命令如下&#xff1a; npm install pinia 安装Pinia持…

SLAM从入门到精通(利用数据集来离线制图)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 前面我们的测试大部分都是基于仿真来实现的。但是很多时候&#xff0c;我们其实希还是望自己的算法能够跑在真实场景的数据上。可问题来了&#xf…

MinIO (二) .net core中实现上传下载

这篇文章里&#xff0c;我们介绍在.net core webapi项目中操作MinIO。 首先要创建一个桶&#xff0c;命名为demo 英文文档看不太顺畅&#xff0c;在网上找了一个api中文文档&#xff0c;可供参考 .NET Client API参考文档 - MinIO 帮助文档 - 开发文档 - 文江博客 创建桶 点…

偏偏不信文心大模型4.0比肩GPT-4!我为它们安排了一场龙虎斗!

作者 | 卖萌酱 大家好&#xff0c;我是卖萌酱。盲猜点进本文的不少小伙伴也看了昨天的百度世界大会&#xff0c;百度创始人、董事长兼CEO李彦宏官宣文心大模型4.0发布&#xff0c;其中一句话让卖萌酱印象深刻&#xff1a;文心大模型4.0综合水平与GPT-4相比已经毫不逊色&#xf…

python二次开发Solidworks:画砂轮

先根据输入参数计算出绘制砂轮需要的数据&#xff0c;然后绘制草图&#xff0c;完全标注后生成旋转体&#xff0c;具体代码如下&#xff1a; import sympy as sy import numpy as np import matplotlib.pyplot as pltx1,y1为第一条直线端点坐标(-10,0),theta_l1为角度,取5*np.…

C语言实现用弦截法求 f(x)=x^3-5*x^2+16*x-80=0 的根

完整代码: //用弦截法求 func(x)x^3-5*x^216*x-800 的根 //弦截法就是用函数上两点&#xff0c;连线的斜率近似代替f(x) //公式为Xn1Xn−(Xn−Xn−1)*func(Xn)/(func(Xn)−f(Xn−1))#include<stdio.h> #include<math.h>//求f(x)的值 double func(double x){return…

博客后台模块

一、后台模块-准备工作 1. 前端工程启动 前端工程下载链接 https://pan.baidu.com/s/1TdFs4TqxlHh4DXyLwYuejQ 提取码&#xff1a;mfkw 项目sql文件下载链接 链接&#xff1a;https://pan.baidu.com/s/1DQCGN4wISSDlOkqnVWYwxA 提取码&#xff1a;mfkw 命令行进入keke-vu…

工业4.0时代数字化工厂的几个特点

随着工业4.0时代的到来&#xff0c;数字化工厂成为了制造业的重要组成部分。数字化工厂管理系统是一种应用数字化、自动化和物联网等技术与产业融合的全新生产方式&#xff0c;旨在提高生产效率、降低成本、提升产品质量&#xff0c;并增强企业的核心竞争力。 数字化工厂的核心…