Solidworks窗口程序
所谓Solidworks窗口程序,即区别于插件,独立运行的程序,当然这只是我自己的命名。相较于插件程序的种种问题,窗体程序对于入门者来说,要友善很多,也容易很多,我常用来做调试,不用像插件程序每次启动Solidworks。当然窗口程序也有一些缺陷,比如因为是跨线程操作,速度慢要一点。
基本步骤如下:
建立一个WinForm项目:
1、添加如下引用:
using SolidWorks.Interop.sldworks;
using SolidWorks.Interop.swconst;
using SolidWorks.Interop.swcommands;
如果在.Net项找不到以上引用,可以直接浏览Solidworks目录下的文件,我一般是复制下来在程序的目录
2、获取Sldworks对象,注意,运行前要先启动solidworks
窗口程序不像插件程序,要手动获取Sldworks对象:
#region 获取SLDWORKS
public static SldWorks swApp { get; set; }
/// <summary>
/// 连接Solidworks
/// </summary>
public static SldWorks ConnectSW()
{
//SldWorks swapp = null;
//尝试连接已打开的Solidworks
if (swApp == null)
{
Process[] processArr = null;
processArr = Process.GetProcessesByName("SLDWORKS");
if (processArr.Length > 0)
{
//通过SldWorks.Application方式
try
{
swApp = (SldWorks)Marshal.GetActiveObject("SldWorks.Application");
}
catch (Exception)
{
}
//通过SldWorks.Application.18方式,.18=2010版,.19=2011版,.20=2012版,.21=2013版,.22=2014版,.23=2015版
if (swApp == null)
{
for (int i = 18; i < 28; i++)
{
try
{
swApp = (SldWorks)Marshal.GetActiveObject("SldWorks.Application." + i.ToString());
if (swApp != null)
{
break;
}
}
catch (Exception)
{
}
}
}
//通过Guid的方式
if (swApp == null)//2010sw
{
try
{
Guid myGuid1 = new Guid("6894540C-3171-484F-9E97-6A962559BA30");
object processSW = System.Activator.CreateInstance(System.Type.GetTypeFromCLSID(myGuid1));
swApp = (SldWorks)processSW;
}
catch (Exception)
{
}
}
if (swApp == null)//2012sw
{
try
{
Guid myGuid1 = new Guid("B4875E89-91F6-4124-BB63-2539727E98FA");
object processSW = System.Activator.CreateInstance(System.Type.GetTypeFromCLSID(myGuid1));
swApp = (SldWorks)processSW;
}
catch (Exception)
{
}
}
//通过SldWorks.ISldWorks方式
if (swApp == null)
{
try
{
swApp = (SldWorks)Marshal.GetActiveObject("SldWorks.ISldWorks");
}
catch (Exception)
{
}
}
}
}
//尝试连接注册表中注册的solidworks,可未打开状态,SldWorksClass() 方式
if (swApp == null)
{
try
{
//swApp = new SldWorksClass();
}
catch (Exception)
{
}
}
//
return swApp;
}
#endregion
3、有了sldworks对象,就可以开始操作solidworks
Solidworks窗口程序相关推荐
- Win32API 窗口程序的创建7大步骤
Win32API 窗口程序的创建7大步骤 1 定义WinMain入口函数 2 定义窗口处理函数 WindowsProc(用来处理消息.有如公司业务处理,具体干活的人.) 3 注册窗口类 Registe ...
- python窗口程序-窗口程序python
广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 让 gui 程序启动和运行起来需要以下 5 个主要步骤:导入 tkint ...
- 汇编实验:屏幕窗口程序(代码有较为详细的注释)
实验3.4 屏幕窗口程序 1.题目:屏幕窗口程序 2.实验要求: 在屏幕上开出三个窗口,它们的行列坐标按照教材要求.光标首先定位在右窗口最下面一行的行首(15,50),如从键盘输入字符,则显示在右窗口 ...
- 安装汇编环境,写一个最简单的窗口程序
用汇编写一个窗口程序 1.安装汇编所需的环境 1.下载masm32 下载地址 可以安装到D:\masm32目录下 2.配置环境变量 include = D:\masm32\include lib = ...
- QT源码解析(一) QT创建窗口程序、消息循环和WinMain函数
版权声明 请尊重原创作品.转载请保持文章完整性,并以超链接形式注明原始作者"tingsking18"和主站点地址,方便其他朋友提问和指正. QT源码解析(一) QT创建窗口程序.消 ...
- 让Win32窗口程序拥有控制台窗口
让Win32窗口程序拥有控制台窗口 首先,为什么我们有了普通窗口后还要控制台窗口呢?因为我们可以用它方便的输出调试信息,而且普通玩家看到了也会觉得很高端.如果他会输几条命令,可能他会以为自己就是黑客了 ...
- 【Qt】Qt窗口程序
00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 程序设计 04. 程序执行 05. 预留 06. 附录 01. 概述 程序要实现的功能是:运行开始出现一个对话框,按下登录 ...
- 窗口程序ImageView(仿QQ图片查看器)
近期一直在学习窗口程序之类的问题,下午正好有机会和大家讨论一下. 程序运行截图: 应用方法: 1.直接把图像文件拖到图标上表现 2.通过命令行方式,示例:ImageView.exe "带全路 ...
- 第一个 Win32 窗口程序
第一个 Win32 窗口程序 程序骨架 int WinMain(){ // 设计窗口外观及交互响应,注册,申请专利RegisterClass(...) ;// 生产窗口 CreateWindow(.. ...
最新文章
- 第四范式推出业界首个基于持久内存、支持毫秒级恢复的万亿维线上预估系统...
- C++11学习笔记-----线程库std::thread
- linux 启动程序 绑定id,linux如何根据进程ID查找启动程序的路径
- YbtOJ#903-染色方案【拉格朗日插值,NTT,分治】
- 前端学习(3183):ant-design的button介绍按钮属性
- 谈谈对 Spring 的理解
- mysql数据库 day03
- Oracle中 char varchar varchar2的区别
- 【第7篇】Python爬虫实战-收集gitee中的issue问题
- Android 启动模拟器是出现“Failed to allocate memory: 8”错误提示的原因及解决办法...
- Win10截图和草图无法使用怎么办
- VBA基础函数:取数组最大下标——UBound函数
- iOS第三方登录之Twitter(登录,获取用户信息)含demo
- 用css改变图片背景色颜色
- Opencv-Python提取掌纹图片ROI
- Python学习 Day28 JS函数(二)
- 《乔布斯传》英文原著重点词汇笔记(六)【 chapter four 】
- 微信小程序:长期稳定短视频去水印
- 2023年MathorCup数模A题赛题
- 通过连接大华dss平台来实现查看摄像头画面和实现云台控制功能Extjs