MFC单文档和多文档框架

MFC曾在Windows桌面开发领域大放异彩,但随着时间的推移,如今相比各种流行的GUI开发技术(QT、WPF、Flutter、Web技术等),MFC被贴上“古老”、“落后”的标签。

但有大量工业软件采用MFC进行开发,且在AutoCAD二次开发领域,MFC是官方指定的ObjectARX界面开发方式,掌握MFC技术具有一定的现实需求。

本文从整体上介绍MFC单文档和多文档应用程序的整体框架。

阅读更多

给既有exe程序添加一机一码验证

本科期间开发过一款混凝土基本构件设计程序,该程序是一个独立的exe可执行文件,采用VC++静态链接MFC库编制而成。近期,需要为该程序添加用户注册验证的功能,从而避免任何用户获取该程序就能无限制使用的问题。

刚开始,打算在网络上找可直接为单个exe文件添加“一机一码”注册功能的平台软件,但该类软件基本都是付费软件,且生成的加壳程序很容易被杀毒软件误差。好在“一机一码”机制并不复杂,最终决定使用C#编程的方式手动实现该功能。

阅读更多

外部参照

外部参照在CAD绘图中也扮演着重要角色,设计人员经常将外部图纸作为参照载入当前图纸,用于比对图纸信息或成果组织。
本文针对外部参照,封装加载、卸载、删除、查询接口,卸载接口尤其值得注意。

阅读更多

扩展数据

CAD二次开发中,当需要对图形做某种持久化标记时,就需要用到扩展数据;同时,扩展数据与DXF文件拥有相同的组织方式,在某些情况下可用于修改图形属性。
本文针对扩展数据封装若干常用的二次开发接口。

阅读更多

布局和视口

布局和视口是CAD出图的重要手段之一,其中视口可以映射到模型空间的任一范围,进而在布局空间灵活组织图形成果。
本文针对布局创建及切换、视口创建封装若干接口。

阅读更多

图形变换

缩放、旋转和平移是图形的基本变化,从几何算法的角度看是统一的:都是借助变换向量实现。
本文针对这三种基本变换操作封装三个接口。值得注意的是,这三个接口都是针对实体本身,即使实体不存在数据库中也可以使用。

阅读更多

实体颜色修改

颜色修改在CAD中属于比较简单的操作,但是当面临块嵌套的情况时,要想彻底修改其颜色可能会非常困难。
本文聚集在修改嵌套块的颜色上,封装相关接口。

阅读更多

三类块操作

块在AutoCAD中扮演着重要角色,它可以把多个图形组成一个整体,起到组织图形层次和图元复用的作用。
AutoCAD中有三种类型的块:普通快、动态属性块(可根据属性值修改图形尺寸)、增强属性块(在块中添加文字动态属性),后面两种在第一种的基础上添加了个性化功能。

针对根据动态属性块的块名获取所有块参照的问题,本文提出一种创新性的方法。

本文针对这三类块封装若干二次开发接口。

阅读更多