本帖最后由 作者 于 2009-5-9 9:23:19 编辑
请教高手一个问题,就是如何用VBA实现CAD图形的识别,需要编程。具体步骤如下: 首先对变量、函数、类型的声明.通过Type—End Type语句对图层、直线、圆弧、圆等进行定义,包括名称、线宽、图层等.声明程序中所需图形的变量,通过公用对话框实现对所需识别文件的读取(*.dwg)(任意简单图形,只需包含几条直线和圆即可),并应用ThisDrawing Application.Doc—uments.Open FileName来打开标准库文件,并获取当前空间的图元总数.取得刚刚打开的标准库文档所有的层数.初始化本文档的层变化数组空间之后,取得所有的层属性,并对文档中所有图形属性进行操作,包括文本、直线、圆弧、圆、多义线等.因为多义线在不同用户绘制时有不同途径达到相同目的,如将一矩形用四条直线绘制而成,因而首先要将多义线打散成单一的直线段再进行处理,并将原多义线删除(因打散后生成了新的直线,原来的多义线仍然存在),然后再对文档进行处理,否则图形不会有变化.打散多义线之后,由于图元数量发生了变化,因而就必须重新执行初始化、文档打开、对层属性获取等操作,因此设置标号start.当多义线被打散后,跳至start处,重新进行上述的相关操作.对于文本,由于在文档中不作为识别正误的依据,因此只需进行颜色的改变,并对其更新.对于直线段,该程序通过相关的语句实现对直线段函数、直线段的起点坐标、终点坐标、线型、线宽、随层的线型、随层的线宽等属性的识别.相应地,用相关语句实现对圆弧、圆等属性的获取、相关操作以及执行关闭标准库的操作.最后对所绘图形文件的处理.通过公用对话框打开所绘图形文件,依照上述方法对相关图形进行获取并识别,得出相应的识别结果. 我对编程不太熟悉,不会写程序,急死我了,大家帮帮我吧。万分感谢! |