SolidWorks二次开发 API-SOLIDWORKS Simulation分析参数修改

news2025/7/31 22:28:25

今天我们来讲个小例子。
是关于SOLIDWORKS Simulation的。
先说明一点,这东西我也不熟。有问题别问我
在这里插入图片描述
首先,我做了一个很难的分析,条件也是很复杂,具体操作我就不说了,分析结果如下:
在这里插入图片描述
当然这个图和我们今天要做的事情 关系不大,我们主要了解 一下如何连接到SOLIDWORKS Simulation 上并修改载荷参数,重新运行分析,得到新的结果 。
具体的api查找过滤和之前看帮助类似,我就直接上图了:
在这里插入图片描述

下面是关键代码:
把上面的力的大小从100 改成150,然后重新进行风格的划分,运行计算。
`
private void btnSimStudy_Click(object sender, EventArgs e)
{
var actPath = RegDllPath(“”);

        var start = actPath.Substring(0,actPath.IndexOf("CSharpAndSolidWorks",0));
                

        var partPath = $@"{start}CSharpAndSolidWorks\CSharpAndSolidWorks\TemplateModel\Simulation API Demo.SLDPRT";

        SldWorks swApp = PStandAlone.GetSolidWorks();

    
        CWModelDoc swsActDoc = default(CWModelDoc);
        CWStudyManager swsStudyMngr = default(CWStudyManager);
        CWStudy swsStudy = default(CWStudy);
        CWLoadsAndRestraintsManager swsLBCMgr = default(CWLoadsAndRestraintsManager);
        CWForce swsCWForce = default(CWForce); 

        int errors = 0;
        int warnings = 0;
   

        string fileName = partPath;

        // 打开模型
        var swModel = (ModelDoc2)swApp.OpenDoc6(fileName, (int)swDocumentTypes_e.swDocPART, (int)swOpenDocOptions_e.swOpenDocOptions_Silent, "", ref errors, ref warnings);

        // Get the SOLIDWORKS Simulation object
        dynamic COSMOSWORKS = default(dynamic);
        dynamic COSMOSObject = default(dynamic);

        // Determine host SOLIDWORKS major version
        int swVersion = Convert.ToInt32(swApp.RevisionNumber().Substring(0, 2));

        // Calculate the version-specific ProgID of the Simulation add-in that is compatible with this version of SOLIDWORKS
        int cwVersion = swVersion - 15;
        String cwProgID = String.Format("SldWorks.Simulation.{0}", cwVersion);
        Debug.Print(cwProgID);

        // Get the SOLIDWORKS Simulation object
        COSMOSObject = swApp.GetAddInObject(cwProgID);

        COSMOSWORKS = COSMOSObject.CosmosWorks;

        // Open and get active document
        swsActDoc = (CWModelDoc)COSMOSWORKS.ActiveDoc;

        if (swsActDoc == null) ErrorMsg(swApp, "No active document");

        // Create new static study
        swsStudyMngr = (CWStudyManager)swsActDoc.StudyManager;
        if (swsStudyMngr == null) ErrorMsg(swApp, "No CWStudyManager object");

        //得到第一个算例对象
        swsStudy = (CWStudy)swsStudyMngr.GetStudy(0);

        //算例名称,可以区分多个算例   swsStudy.Name



        if (swsStudy == null) ErrorMsg(swApp, "No CWStudy object");

        swsLBCMgr = (CWLoadsAndRestraintsManager)swsStudy.LoadsAndRestraintsManager;

        //get the Force Feature
        //这是是第一个条件,所以参数写0
        var sCwForce = swsLBCMgr.GetLoadsAndRestraints(0, out int errcode);

        if (sCwForce != null)
        {
            var swForce = (CWForce)sCwForce;
        
            swForce.ForceBeginEdit();

            

            //修改值为150
            swForce.NormalForceOrTorqueValue = 150;  
            var res = swForce.ForceEndEdit();

        }

        //Create mesh
        var CwMesh = (CWMesh)swsStudy.Mesh;

        if (CwMesh == null) ErrorMsg(swApp, "No mesh object");

        CwMesh.Quality = 1;
        CwMesh.GetDefaultElementSizeAndTolerance(0, out double el, out double tl);
        var errCode = swsStudy.CreateMesh(0, el, tl);
        if (errCode != 0) ErrorMsg(swApp, "Mesh failed");

        //Run
        swsStudy.RunAnalysis();
    }

    public void ErrorMsg(object swApp, string Message)
    {
        MessageBox.Show(Message);
        MessageBox.Show("'*** WARNING - General");
        MessageBox.Show("'*** " + Message);
        MessageBox.Show("");
    }

`在这里插入图片描述
这样结果出来了,至于怎么拿到最新的结果 ,或者说截图的话后面有机会再讲了。
源码位置:
https://gitee.com/painezeng/CSharpAndSolidWorks

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

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

相关文章

【台前调度】使用指南:如何打开和关闭iPadOS 16台前调度

【台前调度】可以说是iPadOS 16系统最实用的功能之一。它拥有崭新的多任务处理能力,能自动管理App和视窗,使多个任务窗口能够快速又简单地切换。 但是不少小伙伴更新iPadOS 16后还不知道怎么使用台前调度功能。如何开启使用和关闭iPadOS台前调度&#xf…

[附源码]SSM计算机毕业设计旅游管理系统JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

苹果手机之间怎么传音乐,怎么把音乐传到苹果手机上

很多人喜欢在自己的苹果手机中下载各种音乐,并且会将音乐传输到其他地方,苹果手机之间怎么传音乐?在此处获取将iphone里的音乐传输到电脑和iphone的解决方案。 一、iPhone如何传输音乐到电脑? 方法1:通过iTunes将iPho…

黑马瑞吉外卖之购物车功能开发(添加购物车和购物车数据展示)

黑马瑞吉外卖之购物车功能前端界面分析后台购物车功能逻辑实现前端界面分析 当我们点击选择规格的时候,数据参数item会传入按钮绑定的方法中 我们点击到这个按钮的时候,那么就会绑定到这个方法。这个方法会将数据给这个窗体中的数据项赋值。这个diaglo…

【linux】【platform[1]】简述device和driver几种匹配方式

文章目录0.env10. 简述20. 测试源码1. driver2. device2.1 方式一:DTS2.2 方式二:ACPI2.3 方式三:id table2.4 方式四:NAME3. 测试log0.env ARM 32bit linux4.4.6010. 简述 主要讲述了几种device和driver匹配的方式以及demo框架文…

82055-94-5|N3-PEG-N3|Azide-PEG-Azide|叠氮PEG叠氮可修饰蛋白质

可用来修饰蛋白质、多肽以及其他材料的叠氮-PEG-叠氮,其英文名为N3-PEG-N3或Azide-PEG-Azide,它所属分类为Azide PEG。 该peg试剂的分子量均可定制,有:叠氮-PEG-叠氮 2000、叠氮peg叠氮 1000、叠氮-聚乙二醇-叠氮 5000、N3-PEG-N…

天宇优配|国产海上风电装备大突破,行业复合增速将超3

在全球加紧应对气候变化以及能源供应严重的布景下,海优势电工业面对历史性开展机会。 全球单机容量最劲风电机组下线 据央视新闻,近日,我国自主研制的16兆瓦海优势电机组在福建三峡海优势电世界工业园下线。单机容量16兆瓦海优势电机组&…

MCE 抗乳腺癌化合物库上线丨靶向乳腺癌知多少?

乳腺癌是全世界女性最常见的恶性肿瘤,世界卫生组织 (WHO) 数据显示,全球每年大约有 210 万女性受乳腺癌影响,乳腺癌死亡率在女性肿瘤中居于首位。 认识乳腺癌 ■ 什么是乳腺癌? 乳腺癌 (Breast cancer) 是一种具有多种亚型的异质…

PG::Ha-natraj

nmap -Pn -p- -T4 --min-rate1000 192.168.134.80 nmap -Pn -p 22,80 -sCV 192.168.134.80 查看80端口的页面 未发现可利用的信息,对路径进行爆破 在/console目录下发现file.php 测试发现有本地文件包含 未发现别的利用方式,结合之前做过的靶机&am…

JAVA多线程2_Lock

文章目录一、ReentrantLock类1.使用ReentrantLock2.使用ReentrantLock实现多对多3.公平锁与非公平锁4.ReentrantLock类其他方法的使用二、ReentrantReadWriteLock类1.读读共享2.写写互斥3.读写互斥4.写读互斥总结一、ReentrantLock类 1.使用ReentrantLock 创建reentrantlock.s…

【计算机毕业设计】36.网易购商城购物平台源码

一、系统截图(需要演示视频可以私聊 摘 要 本毕业设计的内容是设计并且实现一个基于JSP技术的网易购购物平台。它是在Windows下,以MYSQL为数据库开发平台,Tomcat网络信息服务作为应用服务器。网易购购物平台的功能已基本实现,主…

sqli-labs/Less-62

欢迎界面提示我们一共由130次机会 而且还是以id作为注入点 每次重置都会随机分配表名、字段名、表格数据 首先判断注入类型 输入id1 and 12 回显如下 说明不属于数字型 接着输入1 回显如下 没有回显 说明注入点带有单引号 佐证一下吧 输入1-- 回显如下 说明不是纯粹的单引号…

【Redis技术探索】「高可用架构模式」哨兵(sentinel)模式实现主从故障互切换模式详解

哨兵(sentinel)模式实现主从故障互切换模式详解Redis的多种模式Redis单机模式Redis单机模式的优点Redis单机模式的缺点Redis主从复制旧版本配置新版本配置查看主节点信息主从模式的优点主从复制的弊端Redis哨兵模式分析哨兵结构组成哨兵模式的主从切换Re…

ROS-TCP-Connector and ROS-TCP-Endpoint

Unity官方提供了和ROS交互的接口:ROS-TCP-Connector and ROS-TCP-Endpoint。有了这两个Unity就能够更好的和真实机器人做交互。两个接口的实现基于ROS#、ros_bridge,所以基本上以后用这个就可以了。 源码如下:   ROS-TCP-Endpoint&#xff…

学生党蓝牙耳机怎么选?四款性价比高的蓝牙耳机推荐

随着时代的发展,人们越来越追求事物的使用体验感。便捷的蓝牙耳机成为更多人的选择,对于学生党来说,蓝牙耳机的重要性不言而喻。接下来,我来推荐几款适合学生党的蓝牙耳机。 1、南卡小音舱蓝牙耳机 综合得分:96分(满…

骨传导耳机伤耳朵吗?带你一分钟了解骨传导耳机

最近听到最多的一句话就是:骨传导耳机伤耳朵吗?骨传导耳机不会伤害耳朵,反而更能保护耳朵。骨传导耳机是不入耳的,既不伤耳,还能保护耳部。骨传导耳机我用过很多款,知道有哪些骨传导耳机是比较好的&#xf…

产品公开后就不能再申请专利了吗?

问题一:申请专利会导致产品技术泄密吗? 很多人担心申请专利后会导致自己的专利技术公之于众,会让同行模仿生产。其实,我们不妨反向思考一下,假如我们没有申请专利,我们销售生产出去的产品就不容易被模仿吗…

华为机试 - TLV解析Ⅰ

目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 TLV编码是按[Tag Length Value]格式进行编码的,一段码流中的信元用Tag标识,Tag在码流中唯一不重复,Length表示信元Value的长度,Value表示信元的值。 码…

【Canvas】JavaScript用Canvas制作美丽的对称图案

生活中有看到一个对称图案,看着很美,于是想到,试试用Canvas试着画对称图形来,想到就做,自己还真捣鼓出来了,自己弄了好多的对称图这里就不晒出来了,接下来讲讲怎么做,有兴趣的同学可…

java 自定义生成验证码

目录说明效果展示Base64编码的文件类型枚举类验证码默认常量值验证码生成工具类使用说明 项目登录或者其他重要的操作中都要生成验证码,其重要性在此不多说。 主要是介绍自己封装的验证码生成工具类的使用。 建议安装lombok插件,不使用此插件则需要手动生成get、s…