C#
文章平均质量分 69
乔木cc
这个作者很懒,什么都没留下…
展开
-
C# SpaceClaim二次开发——入门的一些技巧(SpaceClaim 19.0 + VS 2019)
SpaceClaim二次开发入门会不太容易,新手入门的话推荐以下方式。原创 2022-10-18 14:52:26 · 268 阅读 · 0 评论 -
C# SpaceClaim二次开发——新增一个插件按钮(SpaceClaim 19.0 + VS 2019)
创建插件Addin后,我们可以对原有的按钮进行修改,如修改按钮调用的函数或者直接修改按钮调用的函数中的内容。原Addin插件模板中有许多初始按钮,我们也可以新增一个新按钮来实现我们想要的功能。下面介绍如何新增一个插件按钮。原创 2022-10-18 14:30:21 · 141 阅读 · 0 评论 -
C# SpaceClaim二次开发——创建插件Addin(SpaceClaim 19.0 + VS 2019)
SampleAddIn.sln的Commands下每一个.cs文件实际上对应了一个插件按钮。以“CreateGear.cs”为例,对应创建齿轮这个按钮命令。原创 2022-10-18 13:07:49 · 147 阅读 · 0 评论 -
C#实现多目标粒子群优化算法(MOPSO)
C#实现多目标粒子群优化算法(MOPSO)这里如何用C#实现多目标粒子群优化算法。本教程基于MATLAB实现多目标粒子群算法进行C#重现,MATLAB有许多现成的矩阵运算功能,C#需要自己写,因此该C#MOPSO源码在算法细节上不是很严谨,有很大优化改进空间,但程序运行没问题。程序源码下载链接:链接:https://pan.baidu.com/s/1PudUnIm_YHaMolNdGlzPxQ提取码:hzdz程序运行效果:C#实现三维空间中点的绘制需要依赖一些外部库,如opengl等,因此本文原创 2022-04-24 11:18:06 · 2906 阅读 · 6 评论 -
C#通过调用新线程防止递归时堆栈溢出(System.StackOverflowException的一个解决方法)
C#通过调用新线程防止递归时堆栈溢出(System.StackOverflowException的一个解决方法)在C#二次开发的过程中,遇到了因为递归次数太多导致堆栈溢出的问题,如下图所示。出现该问题的原因有多种,有可能是递归函数本身写的有问题,但也可能因为本身递归次数太多,导致超出了VS线程设置的默认的堆栈空间。这里给出一个解决方法:通过调用一个新的设置了较大堆栈空间的新线程,来防止递归时堆栈溢出。简单示例这里给出了一个简单的示意程序。在mian中创建一个用户定义最大堆栈大小的子进程来处理递归函原创 2021-07-21 20:47:37 · 2619 阅读 · 0 评论 -
C# SolidWorks二次开发——判断模型面之间的相邻关系(SolidWorks 2020 + VS 2019)
C# SolidWorks二次开发——判断模型面之间的相邻关系(SolidWorks 2020 + VS 2019)在SolidWorks二次开发的过程中,我们经常会遇到需要判断模型中两个面是否相邻。但SolidWorks本身并没有可以直接判断两个面是否相邻的函数,这里我们可以利用一个简单的函数来实现这个功能。1、最近距离函数这里利用SolidWorks自带的检测两个Object之间最近距离的函数来实现判断相邻的功能。当两个face之间的最近距离为0时,则这两个面相邻。关于该函数具体介绍见帮助文档。原创 2021-06-09 16:24:44 · 449 阅读 · 0 评论 -
C# SolidWorks二次开发——面均匀采样并显示采样点(SolidWorks 2020 + VS 2019)
C# SolidWorks二次开发——面均匀采样并显示采样点(SolidWorks 2020 + VS 2019)这里介绍如何在零件的某个面上进行均匀采样,并进行显示采样点。均匀采样的效果如何所示:1、如何画一个点这里给出了一个简单的示意函数 create3dPoint(MathPoint facePoint) 。这里的传入值为SolidWorks中的MathPoint类,具体用法参考帮助文档,也可以不用MathPoint类,直接传入一个数组或三个点坐标值。public void create3原创 2021-05-13 09:50:24 · 288 阅读 · 1 评论 -
C# SolidWorks二次开发——给零件中的每个面设置一个编号,并交互显示编号对应的面(SolidWorks 2020 + VS 2019)
C# SolidWorks二次开发——给零件中的每个面设置一个编号,并交互显示编号对应的面(SolidWorks 2020 + VS 2019)上一篇讲了如何去遍历零件中一些基本信息,如面等。但在实际编程中,除了遍历,我们希望可以知道当前操作的是零件中的哪一个面,因此需要对零件进行编号。这里介绍如何在遍历零件面的基础上,为零件中的每个面设置一个编号,并可以通过鼠标点击交互显示编号对应的面。1、简单的方法设置面编号简单的方式是利用IFace2中原有的成员函数:SetFaceId()和GetFaceI原创 2021-04-28 21:35:41 · 793 阅读 · 3 评论 -
C# SolidWorks二次开发——遍历单个零件的一些信息,如遍历face、loop等(SolidWorks 2020 + VS 2019)
C# SolidWorks二次开发——遍历单个零件的一些信息,如遍历face、loop等(SolidWorks 2020 + VS 2019)这里介绍如何去遍历当前零件的一些基本信息,如遍历零件上的face、Loop、edge等,这些信息一般是我们进行下一步操作的基础。这里给出了最基本最常用的一些信息的遍历方法,没有提到的可以参考SolidWorks官方帮助文档。SolidWorks大致调用结构如下,具体参考SolidWorks官方帮助文档或网站:https://www.codestack.net/s原创 2021-04-20 10:05:03 · 1261 阅读 · 1 评论 -
C# SolidWorks二次开发——新增一个插件按钮(SolidWorks 2020 + VS 2019)
C# SolidWorks二次开发——新增一个插件按钮(SolidWorks 2020 + VS 2019)创建插件Addin后,我们可以对原有的按钮进行修改,如修改按钮调用的函数或者直接修改按钮调用的函数“CreateCube”中的内容。原Addin插件模板中有两个初始按钮,我们也可以新增一个新按钮来实现我们想要的功能。下面介绍如何新增一个插件按钮。1、找到Addin模板中的SwAddin.cs2、在SwAddin类中找到AddCommandMgr()函数3、在AddCommandMgr原创 2021-04-08 10:18:57 · 1970 阅读 · 4 评论 -
C# SolidWorks二次开发——创建插件Addin(SolidWorks 2020 + VS 2019)
@ C# SolidWorks二次开发——创建插件Addin(SolidWorks 2020 + VS 2019)C# SolidWorks二次开发——创建插件Addin(SolidWorks 2020 + VS 2019)网上其他相关教程使用的可能是VS2015或是更早的VS版本,可能会遇到一些问题。创建插件Addin是用C#对SolidWorks进行二次开发的第一步。开发工具SolidWorks 2020;Visual Studio 2019(包含C#开发);1、找到SolidWor原创 2021-04-02 19:43:07 · 4601 阅读 · 11 评论