科致技术博客与知识分享

为您深度解析三维 CAD/PDM/ERP 二次开发技术,用知识为工业制造效能提速

发布日期:2026-08-15 · 更新时间:2026-08-15 · 审核人:科致技术部

C# + SolidWorks 二次开发 -监听退出草图事件并自动执行逻辑

一、问题背景 最近在做一些自动化功能的时候,经常会遇到一个需求: 用户在草图中画完东西,一退出草图,就自动触发一些操作 比如: 自动加约束 自动标注 自动检查草图是否闭合 自动生成特征 但是 SolidWorks API 里并没有一个很直观的“退出草图事件”,需要自己处理。 二、...

2026年04月10日阅读全文

C# SolidWorks 二次开发 -各种菜单命令增加方式

今天给大家讲一讲solidworks中各种菜单界面,如下图,大概有13处,也许还不完整哈。 1.CommandManager选项卡2.下拉选项卡3.菜单栏4.下级菜单5.浮动工具栏6.快捷方式工具栏7.FeatureManager工具栏区域8.MontionManager区域 ...

2025年11月06日阅读全文

SolidWorks二次开发---简单的连接solidworks

创建一个.net Framework的应用,正常4.0以上就可以了。 打开nuget包管理 在里面搜索paine 在版中选择对应的solidworks年份开头的,进行安装。 安装完之后 : 同时选中下面两个dll,把嵌入操作类型改为false 然后在按钮的单击事件中输...

2025年11月06日阅读全文

C# SolidWorks 二次开发 API ---比较两个零件的区别

有很多情况下我们需要比较两个零件的区别,如特征,尺寸,或者实体。 有时候客户会在我们发出的产品上直接修改并回传,这时如何准确的知道客户的修改内容呢。Solidworks是有一个插件的,提供了比较的功能: 不过它在2015之前是高级版本中才带的,标准版中没有。 2018版本中变成了...

2025年11月06日阅读全文

程序员的1024-给自己找个开发小助手

先祝家人们、宝子门、搬砖工等各行各业的节日快乐。 感觉是走错了直播间的感觉哈。。。 开始正题 最近项目比较满,所以交付的各种文档就上了来了,再加上有些公司要各种说明 ,SOP文档,使用帮助等东西, 弄起来好头疼。 刚好就在那个时间,我的QQ邮箱接收到了一个广告,提示阿里出...

2025年10月24日阅读全文

C# SolidWorks二次开发-实战3,SolidWorks模型缩放

需求概述 使用SolidWorks和C#开发一个装配体整体缩放功能,需要结合SolidWorks API和C#编程。该功能允许用户选择装配体中的零部件,并按照指定比例进行缩放。以下是实现步骤和代码示例。 AI的方案: 开发环境准备 确保安装SolidWorks和Visual St...

2025年09月29日阅读全文

C# SolidWorks二次开发-实战1,找文件名不同实体相同的零件。

今天这篇文章话题来源于群里的聊天,在讨论有些插件功能的开发原理。 如标题,今天讲的是如何查找零件文件名不一样,但实际可能是同一个东西的办法。 - 题外话 熟悉Solidworks的人都知道,Solidworks有一个比较零件或者特征不同点的工具(专业版本才能用,免费版当然不限...

2025年05月30日阅读全文

Solidworks PDM二次开发-插件的新建

SolidWorks PDM (Product Data Management) 是一种强大的工具,可以帮助企业管理设计数据。而通过编写自定义插件,可以进一步扩展其功能,以满足特定的业务需求。本文将详细讲解如何利用 C# 创建一个 SolidWorks PDM 插件,帮助开发者快...

2025年04月29日阅读全文

C# SolidWorks 二次开发-显示配置

在 SolidWorks 的二次开发中,显示配置(Display States)是一个非常重要的功能。显示配置允许用户在同一个配置(Configuration)下保存不同的显示状态,如隐藏或显示的零件、不同的颜色和材质等。本文将向新的开发者解释如何使用 C# 进行 SolidWo...

2025年04月29日阅读全文

C# SolidWorks 二次开发 -从零开始创建一个插件(3) 发布插件

五一节过完了吧,该上班学习了吧? 如何把自己开发好的程序优雅的给别人使用。 今天我们来简单讲解一下,这个之前不少粉丝咨询过相关问题,自己开发好的东西,如何给同事或者其它人使用。 先列一下使用到的主要工具: Visual StudioInno Setupbat 因为我这...

2025年04月29日阅读全文

想学Solidworks二次开发进来看下

序号标题1H1:Solidworks二次开发简介2H2:Solidworks的基础了解3H3:什么是Solidworks二次开发?4H3:为什么选择Solidworks二次开发?5H2:Solidworks二次开发的优势6H3:提高生产效率7H3:定制化设计8H3:自动化流程优化...

2025年04月29日阅读全文

C# SolidWorks 二次开发-103.模拟库拖拽

最近躺平状态,所有没有更新。 为了搜索量再高一点,我决定让排名上升一个名次,今天来写一篇关于如何假装自己有个库。 如上图,进行一个拖拽示例,从自己的窗体中将文件带入solidworks中打开 或者 装配动作。与手动从文件夹里面拉到窗口中效果一样。 放置时有零件预览。 如这图...

2025年04月29日阅读全文

SolidWorks二次开发 C#-读取基于Excel的BOM表信息

SolidWorks二次开发 C#-读取基于Excel的BOM表信息 问题点来源解决方案及思路相关引用链接 问题点来源 这是一位粉丝问的一个问题,他说到: 老师,请问Solidworks二次开发工程图中\"基于Excel的材料明细表\"怎么读取里面的数据? Ps:这上...

2023年12月17日阅读全文

分享一个清理工具栏和插件的小工具

现在只要是经常用SolidWorks的,肯定是多多少少知道一些插件,有时候安装了很多个插件的时候,工具栏可能会乱串,而且还有可能出现插件删除了,但插件里面还能看到。 这其中的原因很简单,基本上都是反注册或者清理的时候注册表没有处理好。 所以我做了一个小工具: 专门解决上面两个...

2023年09月21日阅读全文

C# SolidWorks 二次开发 API---各种遍历对象

已经有快一个月没有更新博客了,一方面是二宝出生了,休了半个月假。再一个就是实在是太忙了。 这篇遍历的已经计划很久了,一直在草稿状态。 在实际项目中,我们有时候无法通过一些名字或者信息来查找所要的对象,最快的方式就是通过遍历。然后再去通过细节来找到想要的数据。 遍历图块 ...

2023年09月08日阅读全文

Solidworks PDM二次开发---文件相关操作

本文介绍如何把文件增加到库,并检入。 上一篇文章简单的讲解了文件夹的创建等操作,这一次来讲文件相关操作,相对来说比较重要。 界面 漂亮的界面,不接受反驳! 代码 private void btnFile_Click(object sender, EventArgs e) ...

2023年09月04日阅读全文

C# SolidWorks二次开发-第100篇 属性卡刷新方案

SolidWorks推出属性卡应该很多年了吧,毕竟可以用户自己定义界面,而且方便修改,毕竟点击自带的的属性按钮再去修改要操作好几次。 我们今天讲一个很简单的功能要求,就是在SolidWorks中实现零件的编码问题。 毕竟设计好的东西后面需要生产,进各种系统,进行流转。 需求: ...

2023年08月17日阅读全文

SolidWorks二次开发系列入门100篇之97-极点坐标

什么是极点 一个模型中的极点是指在某个方向上的最高或最低点。在三维模型中,通常有三个方向:x轴、y轴和z轴。因此,在x轴,y轴和z轴的正方向和负方向上,每个模型可能都有两个极点。极点通常是一些锐角或骨刺,可能需要特殊的注意和处理,以确保模型在渲染和动画过程中能够正确地呈现并不出...

2023年08月02日阅读全文

体验jetbrains的产品

其实开发这么多年,主要用的还是Visual studio ,因为开发效率问题,我做winform多,只会拖拉拽 O(∩_∩)O哈哈~ 毕竟宇宙第一的免费的社区版已经非常好了。 这一次是在知乎上看到jetBrains的产品是可以申请开源许可的,而且新的已经支持了Winforms开发...

2023年08月02日阅读全文

C# SolidWorks 二次开发 -从零开始创建一个插件(2)

上一篇我详细讲解了如何创建一个插件,但是无界面无按钮,这种插件适合配合事件偷偷的在后台做点什么事情。今天这篇讲一下如何增加一些按钮到工具栏、菜单上去。 先告诉大家这个东西注册表在哪,因为solidworks在这方面做的不太好,插件你改个名字,就有多个工具栏在solidworks...

2023年07月21日阅读全文

C# SolidWorks 二次开发 -从零开始创建一个插件(1)

学习内容:从零开始定制一个SolidWorks插件 作为了一个职业的二次开发人员,我曾经创建插件\"无数\"。但从未像今天这篇文章这样,从空项目开始,之前的文章中我有介绍,要么使用SolidWorks API模板,要么使用了第三方框架。但是其实这两种办法其实都太臃肿了,里面包括了...

2023年07月13日阅读全文

SolidWorks二次开发---自动禁用切割清单

最近有人发现在装配中存在焊接零件时,在执行一些自动化操作的时候会很慢。而且Solidworks进度栏中时不时就会出现正在更新切割清单。 查看设置,发现这一项是有选项可以控制的,但是在文档属性中,而不是系统选项里面。 还有个地方就是特征树里的清单: 经过测试,这两个其实是一个选...

2021年03月26日阅读全文

SolidWorks二次开发 遍历树节点

各位Solidworks二次开发小伙伴,趁着年还没过玩,祝大家新年快乐,掐指一算 , 明天就是元宵节了。 各位是不是应该送我点什么? 说错了,是我送来送点东西给大家。 最近在看api帮助时发现了一个知识点。 Solidworks 的特征树,也是可以当然TreeView节点N...

2021年02月25日阅读全文

SolidWorks二次开发---获取配合特征具体数据

昨天有粉丝私信我说怎么获取距离配合中的尺寸值,所有就有了这一篇文章,虽然内容比较简单,主要是分享一下思路。 首先我在们装配体中做一个距离配合: 注意,我使用的是英文的界面,所有生成出来的配合名称是Distance1 然后我们打开神器?: 有的,有的,就是传说中的Api帮助...

2021年01月27日阅读全文

C# SolidWorks二次开发---射线穿透长度计算

这是2021年第一篇文章,只是把2020年这一篇未写的文章写出来。 之前界面里已经有了,只是一直没时间写出来。 为什么有这一个做法是因为好久之前一个大学的老师来咨询,说是有个航空上的项目需要计算一个发射源穿过一个封闭的实体之后有多少损耗,那就是要看这个源穿过的实体距离是多少。 ...

2021年01月26日阅读全文

SolidWorks二次开发API (C#)---相机视图

最近有人问到一个需求,就是需要利用Solidworks中的相机功能,给3d产品照相…这个需求听起来有点意外呀,难道画的是宝石 或者美女? 虽然听说过Solidworks里的相机功能,但说实话,一次没有用过。 进入api,搜索相机 ,啥也没有。。。 是不是错了,api只能找eng...

2020年11月17日阅读全文

C# SolidWorks 二次开发 API ---附加属性Attribute的入门

最近工作中可能要针对特征库额外加一些属性,所以就有了今天的博客内容。 之前我也没有使用过相关的东西,只是在其他地方看到过有这个东西,solidworks api里面对应的名字是Attribute。 记录一下过程: 希望对新手有所帮助。 在本地api中搜索关键字后得到以下结果 : ...

2020年10月26日阅读全文

C# SolidWorks 二次开发 API ---草图轮廓环的选择

本篇文章讨论一下Solidworks草图中存在多个闭环轮廓时如何进行操作。 我们就以最简单的拉伸来介绍一下: 默认情况下: 在只一有个闭环轮廓 或者 多个不相交的闭环轮廓 下,Solidworks会默认自动选择上所有轮廓进行拉伸。 如下图: 在多个轮廓有相交的情况下,So...

2020年10月24日阅读全文

C# SolidWorks 二次开发 API---实体(body)数据导出与导入显示

这篇文章记录一下如何把实体作为数据导出,以及实体数据临时显示。 用过solidworks的人都知道,在做特征的时候有个预览。如下图: 其实这个透明黄色的就是一个临时实体,这样可以更直观的显示出来结果。 这个操作是用代码控制实体的生成的,由于这只是一个长方形,用Modeler直接...

2020年10月19日阅读全文

C# SolidWorks 二次开发 API ---遍历特定圆柱面进行处理

功能要求 如下图,从客户处过来的图档螺丝孔后缀尺寸第三位都是0.001 ,这是客户用来定义螺纹的标识。 但是对于加工处理上,不需要这个后缀,会让生产人员误解为精度要求比较高。 所以考虑是否有批处理的功能,把8.501 变成8.5的直径。 方案解析 该零件可能是第三方数据转...

2020年08月10日阅读全文

C# SolidWorks 二次开发 API---调用Solidworks命令

在开发过程中,大家可能会遇到我想执行某个命令,但是api中没有提供对应的方法。 比如说用户选中一个尺寸时,solidworks的左侧属性框就会自动出来(有个选项可以控制),但此时如果我们想关闭属性框。应该怎么操作? 通过正常的测试可以发现按esc就可以。 当然如果直接发送系统的...

2020年08月06日阅读全文

C# SolidWorks 二次开发 API ---放弃零件的修改

有时候我们只需要读取文档信息,但是读取信息过程中可能需要做一些特征的压缩,删除等任何操作,很早前我还要去这些信息记录,用代码进行还原。 最近我遇到的就是要把A零件换成B零件进行干涉检查,最后不需要保存零件。 我最近在查api的时候发现了一个函数:ReloadOrReplace,发...

2020年06月02日阅读全文

C# SolidWorks 二次开发 API ---设定未保存的零件标题

在有些情况下,我们建好模型,但是保存路径需要让用户再去定义。这时候我们就可以先把零件的名称定义好,最好让用户去保存。 **注意: 这个功能只针对还未保存过的新零件有效。** private void btnSetPartTitle_Click(object sender, ...

2020年06月02日阅读全文

C# SolidWorks 二次开发 API---删除零件所有特征(保留实体)

有时候我们不想把零件的内部细节发给到客户,通常情况下我们会把一些内部特征压缩掉。然后再转出去,但是压缩与解压缩过程中一些关联比较难控制。 如下图,中间一个小孔: 如果不想转出这个孔,可以利用Tools下面的Defeature来做: 这样我们可以得到一个新零件,这样就很好的保护...

2020年05月22日阅读全文

C# SolidWorks 二次开发 API --- 2018版 中文翻译 之事件

最近把api中所有的属性 事件 实例 汇总了一下,发现有好多东西没有接触过。 写了个程序,利用百度翻译api 来自动翻译的,由于某些原因,没法使用自定义词库来实现更精准的翻译。应该还是有很多翻译有些问题的,不过大概意思没什么问题了。 DAssemblyDocEvents_Ac...

2019年10月31日阅读全文

C# 内部共享链接小工具

C# 内部共享链接小工具 企业内部各个部分用来共享的文件夹太多,找起来也麻烦。所以最近花了几天时间弄了一个内部 […]...

2019年10月22日阅读全文

C# SolidWorks 二次开发 API---连接solidworks 17600

从事Solidworks 二次开发十几年了,一直没有时间好好整理笔记,最近准备花一些时间整理一下。 Solidworks二次开发需要一些C# Vb.net C++ 等编程语言的基础知识,大多使用Visual Studio进行开发。 再一个就是Solidworks要熟悉或者精通...

2019年09月10日阅读全文