《AutoCAD二次开发在电力系统运行模拟输出电站工作位置图中的应用.docx》由会员分享,可在线阅读,更多相关《AutoCAD二次开发在电力系统运行模拟输出电站工作位置图中的应用.docx(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、AutoCAD二次开发在电力系统运行模拟输出电站工作位置图中的应用2软件接口模块编写接口程序即实如今VB中连接AutoCAD。详细步骤如下:1启动VB,引用AutoCAD类型库。从“工程菜单中选择“引用选项,启动“引用对话框。在“引用对话框中,选择AutoCAD类型库,然后单击“确定。2定义模块级变量AutoCAD应用程序acadApp和当前的文档acadDoc。假如AutoCAD正在运行,使用GetObject函数将检索AutoCADApplication对象。假如AutoCAD没有运行,使用CreateObject函数试图创立一个AutoCADApplication对象。假如创立成功,会启
2、动AutoCAD;假如失败,那么会发生错误。假如同时运行有多个AutoCAD任务,GetObject函数会返回Windows运行对象表中的第一个AutoCAD实例。假如要显示AutoCAD图形窗口,需要将AutoCAD应用程序的Visible特性设置为TRUE,否那么设置为FALSE,在本程序开场阶段把AutoCAD应用程序的Visible特性设置为FALSE,即只启动AutoCAD而不显示出来,在绘图完毕后再将AutoCAD应用程序的Visible特性设置为TRUE,即显示图形,目的是防止太多地占用计算机的内存。接口程序例如如下:DimacadAppAsAcadApplicationDima
3、cadDocasAcadDocumentSubConnectToAcadOnErrorResumeNextSetacadAppGetObject,AutoCAD.ApplicationIfErrThenErr.ClearSetacadAppCreateObjectAutoCAD.ApplicationIfErrThenEndEndIfacadApp.VisibleFALSESetacadDocacadApp.ActiveDocumentEndSub3图形绘制模块在VB与AutoCAD的二次开发中,进展图形绘制即需要对AutoCAD的对象模型AutoCADObjectModel进展操纵。对象本身
4、包含自己的方法和属性。通过方法可以实现对象的一些操纵,而对象状态信息的采集或者改变那么是通过属性完成的。例如,线段是AutoCAD中的一个对象,它的属性可以是线形、起始点坐标、所在层等性质,方法那么有复制、镜像等操纵。ModelSpace是当前图形文件中图形实体,如线段、圆、多义线等的集合,每个实体即是一个对象,可通过属性和方法改变实体或者生成新实体,可以通过该对象实现图形的绘制工作。例如,在定义了两点dot1和dot2以及线段lineObj并给定这两点的位置坐标之后可以绘制出一条线段,根本编程语句为:SetlineObjacadappActiveDocumentModelSpaceAddLi
5、nedot1,dot2坐标系是由一条条线段构成的,通过对线段两个端点坐标的设置可以绘出所需位置的线段,本文基于这个思想实现了对坐标子程序的编写。而安排各类电站在图形中的工作位置即填充阴影那么也是对AutoCAD的对象模型进展操纵。阴影为用图案填充图形中的指定区域。当创立阴影时,最先操纵不是指定填充的区域。首先用户必须创立Hatch对象,做完这一步后,用户可指定外部的封闭回路,也就是阴影的最外边界。所以首先定义矩形边界对象outerLoopobj1outerLoopobj4和阴影对象hatchobj以及矩形边角的四个点pointlpoint4并给定这四个点的位置坐标,再根据四个点来确定需填充阴影
6、矩形的四条边界限段,然后根据不同类型电站对矩形填充不同的阴影图案通过设置阴影对象hatchobj的属性值实现,根本编程语句为:SetouterLoop1acadappActiveDocumentModelS-pace.AddLinepoint1,point2SetouterLoop2acadappActiveDocumentModelS-paceAddLinepoint2,point3SetouterLoop3acadappActiveDocumentModelS-paceAddLinepoint3,point4SetouterLoop4acadappActiveDocumentModelS-
7、paceAddLinepoint4,pointlhatchobjAppendOuterLoopouterLoophatchobjPatternSpace0.5hatchobjPatternAngle0hatchobjLinetype“Hidden2hatchobjLinetypeScale0.2hatchobjEvaluateacadapp.ActiveDocument.RegenTrue根据这个思想可以依次将各类型电站例如:核电站、水电站、火电站等等,指定电站也可采用同样方法在日负荷曲线上用不同阴影图案填充,这样就根本完成了图形绘制工作。5算例分析本文以2020年某地区枯水年为例,利用本文方法对其进展运行模拟并输出电站工作位置图。整个地区水电站有58台,火电站有74台,核电站有5台,调峰电站有13台,抽水蓄能电站有10台,其中选取某省6月份进展模拟计算输出电站工作位置图。最终打印输出AutoCAD图形如图3所示,局部电站数据列于下表,火电和指定电站数据未列出,其中虚线为分区潮流。