背景介绍
因为本人在光伏行业从事软件研发,最近我一直在做CAD方面技术的预研和探索。在研究CAD的SDK的时候,发现很多写法比较繁琐,所以一直想封装工具,提高开发效率,也做了很多的CAD工具的封装,大家可以看下我前面的文章。
同时我也研究了哔哩哔哩里面大佬小科的封装,但是这种零散且不完美的封装一直是我很头疼的事情,因为我也知道封装不是一蹴而就的事情,必须要有大量的实践探索。
这几天在github上看到了属于CAD的一个框架IFoxCAD,并对其做了仔细的研究,发现他的很多思想很好,封装出来的写法非常简洁,这让我异常欣喜,同时也看作者一直在持续更新,同时支持CAD各个版本,国产中望,浩辰。使用的人也比较多。这个就很值得研究和借鉴一下。所以我打算接下来对这个框架的使用做一个详细的剖析。
IFoxCAD介绍
基于.NET的Cad二次开发类库。
目前由于IFoxCad的版本分为0.5、0.6、0.7三个大的版本同时在发布,所以项目模版分为两个主要的版本:
- vs模版插件
- net项目模版
建议使用net项目模版来创建项目。
项目初始化
建议尽可能的抛弃老的版本,因为ifox的后续发展计划就是取消老版本的支持,0.7版本开始只支持net48版本,因此后续的新功能等等都只在新版本中提供。
使用dotnet项目模板是很简单的,同时还可以创建acad,gcad(浩辰),zcad(中望)的项目,这是老的vs扩展插件所不能实现的功能。
1. 打开终端
打开终端,win10/11的系统,右键开始菜单的win徽标,就可以打开powershell或者终端。
2. 安装项目模板
打开终端后,在打开的命令行窗口输入:
dotnet new install IFoxCad.Templates::0.7.2
目前最新版是0.7.2,具体最新版本,可以在VS的Nuget里面搜索IFox,查看最新版本
如果你使用win10的powershell,可能会出现命令报错,这时候你可以将上一行命令里的install
替换为-i:
dotnet new -i IFoxCad.Templates::0.7.2 // 仅适用于win10 powershell 报错的时候
执行成功后,就会在下面目录看到如下文件。
3. 使用项目模板
项目模板可以直接用命令行的方式使用,也可以直接打开vs创建新的项目。
命令行的方式:
dotnet new ifox.0.7 -C acad -n acadtest // 创建autocad项目,并将项目命名为acadtest
dotnet new ifox.0.7 -C zcad -n zcadtest // 创建zwcad项目,并将项目命名为zcadtest
dotnet new ifox.0.7 -C gcad -n gcadtest // 创建gstarcad项目,并将项目命名为gcadtest
vs里直接创建新项目方式:
当我们执行完了dotnet命令,重新打开VS,就可以看到如下:
然后我们选择新建即可。
4. 初始化项目结果
如果遇到提示架构不符合,我们右击选择项目属性:
改成X64即可。
5. 测试
生成解决方案,然后启动CAD,先输入netload加载项目文件,再输入测试用例的“HelloWorld”命令,结果如下: