自定义实体的CLI封装

在进行CAD二次开发的技术选型时,建议主体使用.NET技术栈(.NET生态丰富,开发效率较高);当涉及自定义实体等高级功能时,可以切换到C++技术栈,并且用CLI混合编程方式对其进行封装供.NET项目使用。这样就可以兼顾开发效率和功能两个因素了!

在创建自定义实体(详见:自定义实体的创建和使用)的基础上,如何对自定义实体进行CLI封装,请看下文!

下一篇文章将讲解如何使用COM技术封装自定义实体,从而为自定义实体添加属性面板,这可以给用户提供修改自定义实体属性的界面接口,非常实用,敬请期待!

阅读更多

自定义实体的创建和使用

自定义实体被视为高阶CAD二次开发的象征,很多招聘信息上都明确标注“熟悉自定义实体开发者优先”的字样,其重要性可见一斑!

一直以来,CAD二次开发的主要工作就是通过程序在模型空间绘制各种基本图元,从而实现辅助成图。在这种情况下,即使在业务上密切相关的图元,其在图纸上也是离散的,开发者和用户无法将其视为一个整体进行绘制或调整,封装性仅仅体现在绘图函数这一等级。

如果将这些密切相关的图元形成一个逻辑整体(即自定义实体),有什么好处呢?①可以实现更有意义的封装:无论绘图逻辑多么复杂,它永远被封装在自定义实体内部,调用者只需要向其传递关键数据就能驱动图形绘制和变化,这就是典型的”高内聚低耦合“;②增加用户交互性:自定义实体可以暴露操作接口给用户,用户可以更加灵活地调整图形;③规范业务逻辑:自定义实体的制定过程就是业务分解的过程。在我看来,自定义实体不只是一种技术,更是一种思维。

本文先介绍如何创建并使用自定义实体,在学习自定义实体的过程中,你将领略到AutoCAD系统的博大精深!

下一篇文章将讲解如何使用CLI技术封装自定义实体供.NET项目使用,这在大型CAD插件系统中非常实用,敬请期待!

阅读更多

ObjectARX之“九表多词典”操作

CAD二次开发的技术多种多样,无论哪一种技术,其核心永远是对“九表多词典”的增删改查操作,这也是CAD二次开发实用最多的接口。

本文简要介绍基于ObjectARX的“九表多词典”操作,详细资料和接口信息可参考官方文档。

阅读更多

基于ODA的CAD二次开发

无论是基于C++还是C#的CAD二次开发,在编写完插件后,都需要在AutoCAD平台中加载插件才能运行。

但是ODA是一个脱平台的CAD开发库,用户完全可以基于该库编写一个控制台应用程序用来读写DWG文件。

阅读更多

C#访问数据库

计算机世界的技术最能体现“道生一,一生二,二生三,三生万物”的哲学观。从底层到高层,从简单到复杂,层层抽象、层层封装促进了技术的繁荣,但也掩盖了技术的本质。
在C#技术生态中,有许多数据库访问相关的技术,对这些技术进行关系梳理和适当总结很有必要,请看本文。

阅读更多

EFCore用法总结

Entity Framework Core再一次让开发者领略到框架的强大力量,它不再是一个程序库,而是先进数据库设计手段的典范。

本文简要介绍EFCore的基本用法,更多干货可参考官方文档。

阅读更多

使用CUIx加载Ribbon和传统菜单

CUIx是AutoCAD加载UI元素(包括Ribbon、传统菜单、工具条等)的最佳方式,它可以将所有UI元素打包至CUIx文件,在程序中直接加载即可。

采用代码动态创建UI元素,会存在一些问题:①如果其它插件采用CUIx后加载UI,将覆盖先前程序加载的UI;②传统菜单只能依靠COM编程方式加载。

阅读更多

兵器升级之IFoxCad库

使用CAD原生API进行二次开发代码过于繁琐,IFoxCad是一个更高层次的库,它对原生API进行了大量封装,可以让我们的代码更加简洁,显著提升我们的开发效率。一起升级我们的兵器吧!

阅读更多

视图与视口

AutoCAD中的视口和视图是非常让人迷惑的概念,尤其是视口在很多场景中出现,包括模型空间视口和布局空间两种视口。

已有相关文章 布局和视口 介绍了布局空间视口,本文聚焦在模型空间视口。

阅读更多