SAP2000二次开发初探之C#环境搭建

SAP200作为进行结构分析的重要软件,其早在2007年就发布了开放的应用程序开发接口(OAPI),第三方开发者可以创建与SAP2000丰富紧密的双向连接,允许准确地转换模型至SAP2000,由SAP2000控制执行过程,并从SAP2000中提取分析和设计信息。SAP2000开放的API与大多数编程语言兼容,包括VBA(Visual Basic for Applications)、C#、python等。今天就给大家介绍一下如何搭建C#环境进行SAP2000开发。

工具:SAP2000 v15以上版本(建议v21以后更高级版本)、Mirosoft Visual Studio 2019 community (VS 2019)、.Net Framework4.7及以上。

SAP2000的安装大家各有各的办法,正常安装即可,操作简单不多讲。而此前装过VS较早版本的同学建议更新到2019版。VS作为一个兼容性较强的IDE,其免费的社区版以及足够我们的使用,到官网下载安装程序即可。这里有几点笔者下载安装中遇到的一点小tips可以供大家参考。

一、VS 2019的下载安装

官网上下载VS 2019的安装引导程序,选择第一项community版即可。

右键点击下载好的exe文件,选择“以管理员身份运行”,进入下面的界面:

因为笔者已经安装了社区版,所以“可用”栏目下未显示community版本的VS 2019,大家没安装的点击community版本的安装选项即可。选择安装后会下载一下准备文件:

接下来在出现的界面的“工作负载”栏目选择“.NET桌面开发”,即C#环境:

然后点击“安装位置”栏目改一下安装位置,一般默认在C盘,但我想大家一般不会把一个3、4G大的软件安装到C盘。安装位置的第一项即IDE安装位置一定要是一个空文件夹,否则无法安装。另外的两个选项则是存下载缓存和一些共享组件等,可以是非空文件夹,大家按自己习惯改一下就好。“语言包栏”一般默认勾选了中文简体,如果有其他语言需求自己勾选一下即可;单个组件项目不建议小白随便进行删减(但删减也没关系,如果不幸删了核心组件重头再装就是了),如果有其他需求可以视情况增加需要的组件。

然后我们就可以愉快的进行安装了,注意这里最好勾选下载时安装,会快一点。以及下载时的网络选择,笔者当时使用的是DIVI,速度连1MB/s都达不到,于是怒而换Tsinghua-Secure,然后顺带关了一下ipv6协议,速度飙升到8MB/s。关ipv6协议方法:控制面板—网络和 Internet—网络和共享中心—更改适配器设置—右键自己连接的WLAN—属性—取消勾选“Internet协议版本6(TCP/IPv6)”—确定。不过在你重新连接网络后IPv6协议又会自己勾选上。

然后等待下载安装结束,我们就可以愉快的用C#进行SAP2000二次开发了。

二、开发准备

1、创建项目

打开VS 2019,创建新项目,选择类库(.Net Framework)。

项目配置中可以设置项目名称和选择你的文件的存放位置,框架记得选择.Net Framework 4.7及以上。如果这里框架点开后发现没有.Net Framework 4.7及以上版本,可以到微软官网进行下载安装,当然一般不会出现这种情况。

2、添加SAP2000类库的引用

这一步需要提前安装好SAP2000,点击“解决方案”中的“引用”一栏,右键选择“添加引用”:

点击浏览,然后打开SAP2000的安装目录,找到SAP2000v1.dll,选中,确定。

3、修改项目属性

为了可以让我们使用C#从COM串口中读取数据,我们还需要修改一下项目属性,邮右键点击“解决方案”栏目下的项目名称,然后选择“属性”,在属性界面进行如下操作:1)“应用程序”—“程序集信息”—勾选“使程序集COM可见”;2)“生成”—目标平台改成“x64”—勾选“为COM互操作注册”。

4、类名修改

修改Class1类的名字为cPlugin(当然也可以另外添加一个),因为SAP2000插件的逻辑是在SAP里由主程序调用cPlugin这个类里面的Main方法。接下来就可以愉快的写代码了,不过要记得每个类的引用都需要加上“using SAP2000v1”(是数字1不是英文字母l)。

三、SAP插件添加

当写好代码实现功能后,生成成功后,想要在SAP2000里导入插件,必须以管理员方式打开VS,然后再重新生成一次。这时打开SAP2000,点击“工具”这一栏,选择“添加”,然后输入VS里的项目名称,菜单名称可以写这个插件的功能,看个人习惯填写。然后可以看到状态为OK,就可以愉快的使用自己写的插件了~