您所在的位置:e-works首页 > 产品创新数字化(PLM) > EDA

<连载>Protel二次开发从入门到精通

--正文篇——第十二章第3-4节

发表时间:2007-12-3  特约撰稿人: 张浩 白二平 来源:e-works
关键字:EDA Protel 二次开发
PCB编辑器的应用程序开发接口提供了在设计资源管理器99中控制PCB编辑器的功能,因而使用PCB编辑器API,允许服务器访问PCB编辑器提供的服务。本章节是PCB编辑器API所提供功能的说明,对其中一些PCB API函数和类,提供了一些例子。作者邮箱:bullzhanghao@yahoo.com.cn 如有疑问,可直接与作者联系!
4.25 TdielectricRecord记录类型

声明(来自PCBTypes单元):

TDielectricRecord = Record

DielectricMaterial : TString;

DielectricType : TDielectricType;

DielectricConstant : TReal;

DielectricHeight : TCoord;

End;

描述:

TDielectricRecord类型表示使用的电介质类型。

参见其它:

TlayerObject类

4.26 TDielectricType类型

声明(来自PCBTypes单元):

TDielectricType = (eCore, ePrePreg, eNoDielectric);

描述:

TDielectricType类型表示为信号完整性分析的电介质类型。

参见其它:

PcbApi_GetState_LayerObjectAt函数

PcbApi_SetState_AddObjectToLayerStack函数

TlayerObject类

4.27 TDisplay类型

声明(来自PCBTypes单元):

TDisplay = (eOverWrite, eHide, eShow, eInvert);

描述:

TDisplay类型表示对象如何被显示在PCB编辑器的工作表中,也就是对象能否被重写、隐藏、显示或反向。

参见其它:

PcbApi_ScreenDisplay过程

4.28 TDouble类型

声明(来自PCBTypes单元):

TDouble = Double;

描述:

TDouble类型定义双精度类型,一个双精度类型是一个64位浮点数。

4.29 TDragMode类型

声明(来自PCBTypes单元):

TDragMode = (eDragNone,eDragAllTracks,eDragConnectedTracks);

描述:

TDragMode类型表示当在PCB编辑器中拖动线时,使用哪一种拖动模式。有三种不同的拖动模式,什么都不做(eDragNone)、拖动所有的线(eDragAllTracks)、仅拖动连接线(eDragConnectedTracks)。

4.30 TDrawMode类型

声明(来自PCBTypes单元):

TDrawMode = (eDrawFull,eDrawDraft,eDrawHidden,eDrawThin);

描述:

TDrawMode类型表示图形线的宽度,注意,eDrawThin仅对PCB线对象生效。

4.31 TDrawModeArray类型

声明(来自PCBTypes单元):

TDrawModeArray = Array [TObjectId] Of TDrawMode;

描述:

TDrawModeArray类型表示一个PCB对象将要如何被绘制在PCB编辑器的工作表中。

参见其它:

TdrawMode类型

4.32 TDrillSymbol类型

声明(来自PCBTypes单元):

TDrillSymbol = (eSymbols,eNumbers,eLetters);

描述:

TDrillSymbol类型设置字符的标记。标记被放置在PCB编辑器的一个钻孔图层,标记能是一个图形符号、一个字符串指定的孔的大小或一个字母字符。

4.33 TEditingAction类型

声明(来自PCBTypes单元):

TEditingAction = (eEditAction_Focus,eEditAction_Move,eEditAction_Change,

eEditAction_Delete,eEditAction_Select);

描述:

TEditingAction类型表示在编辑时的动作进程。当在PCB编辑器中编辑时,激活、移动、修改、删除或选择动作是不同的模块。

参见其它:

PcbApi_GetObjectAtXYAskUserIfAmbiguous函数

4.34 TEventHandleFunction类型

声明(来自PCBTypes单元):

TEventHandleFunction = function : Boolean Of Object;

描述:

TEventHandleFunction类型表示TEventHandleFunctionArray数组类型的函数类型,此函数类型句柄事件处理函数。

参见其它:

TeventHandleProcedure 类型

TEventHandleProcedureArray类型

TEventHandleFunctionArray类型

TPCBEventhandler类

4.35 TEventHandleFunctionArray类型

声明(来自PCBTypes单元):

TEventHandleFunctionArray = Array[0..10] Of TEventHandleFunction;

描述:

TEventHandleFunctionArray类型表示一个TEventhandleFunction类型的数组,此数组是一个TPCBEventhandler对象的不同事件处理函数的集合。

参见其它:

TeventHandleProcedure类型

TEventHandleFunction类型

TEventHandleProcedureArray类型

TPCBEventhandler类

4.36 TEventHandle_OtherKeys类型

声明(来自PCBTypes单元):

TEventHandle_OtherKeys = function(Key : Word) : Boolean Of Object;

描述:

TEventHandle_OtherKeys处理其它没有被内部键事件处理隐藏的键事件。例如,开发者能为其服务器写自定义的键处理来处理指定的键按下动作。

参见其它:

TeventHandleFunction类型

TEventHandleProcedureArray类型

TEventHandleFunctionArray类型

TPCBEventhandler类

4.37 TEventHandleProcedure类型

声明(来自PCBTypes单元):

TEventHandleProcedure = procedure Of Object;

描述:

TEventHandleProcedure类型表示TEventHandleProcedureArray数组类型的过程的类型,此过程处理事件处理过程。

参见其它:

TeventHandleFunction类型

TEventHandleProcedureArray类型

TEventHandleFunctionArray类型

TPCBEventhandler类

4.38 TEventHandleProcedureArray类型

声明(来自PCBTypes单元):

TEventHandleProcedureArray = Array[0..40] Of TEventHandleProcedure;

描述:

TEventHandleProcedureArray类型表示一个TEventhandleProcedure类型的数组,此数组是一个TPCBEventhandler对象的不同的事件处理过程的集合。

参见其它:

TeventHandleProcedure类型

TEventHandleFunction类型

TEventHandleFunctionArray类型

TPCBEventhandler类

4.39 TFontID类型

声明(来自PCBTypes单元):

TFontID = Integer;

描述:

TFontID类型为一个文本对象定义了字体的ID号,ID号是在PCB编辑器中的字体表的一个入口的索引,每一个在PCB编辑器中使用的字体都有它自己的FontID,因而一个新的字体被通过一个更改对象的更改字体对话框来使用,一个新的FontID被增加到PCB编辑器的字体表中,FontID值能被从PCB文本对象提取。

参见其它:

TPCBText类

4.40 TFreeStringText类型

声明(来自PCBTypes单元):

The TFreeStringText type = String[kMaxFreeStringLength];

描述:

TFreeStringText类型表示文本对象的自由字符串,这些自由字符串可有最多254个字符长。

参见其它:

TPCBText类

4.41 TGeometry类型

声明(来自PCBTypes单元):

TGeometry = TReal;

描述:

TGeometry类型定义一个实数(TReal)。

参见其它:

TReal类型

TPCBSystemOptions类

TPCBBoard类

4.42 TGraphicsCursor类型

声明(来自PCBTypes单元):

TGraphicsCursor = (eCurShapeCross90,eCurShapeBigCross,eCurShapeCross45);

描述:

TGraphicsCursor类型表示当在PCB编辑器中编辑PCB文档时光标的形状,可用的光标形状有:通常的90度十字交叉,一个大的90度十字交叉(此光标填满整个PCB文档),和通常的45度交叉。

4.43 THandshaking类型

声明(来自PCBTypes单元):

THandshaking = (eHandshakingNone,eHandshakingXonXOff,eHandshakingHardwire);

描述:

THandshaking类型表示数据通信的信号交换类型。

4.44 THoleSize类型

声明(来自PCBTypes单元):

THoleSize = TCoord;

描述:

THoleSize类型定义一个TCoord类型,它描述焊盘(pad)和过孔(via)对象的孔的尺寸。

参见其它:

TPCBPad类

TPCBVia类

4.45 TInteger类型

声明(来自PCBTypes单元):

TInteger = Integer;

描述:

TInteger类型定义一个整型类型。

4.46 TInteractiveRouteMode类型

声明(来自PCBTypes单元):

TInteractiveRouteMode = (eIgnoreObstacle, eAvoidObstacle, ePushObstacle);

描述:

TInteractiveRouteMode类型表示在放置模式下对象被如何放置到PCB编辑器中。如果模式是IgnoreObstacle,那么PCB对象能被放置到任何位置,并且如果在线DRV特性是激活的,间隙违例被立即标记。如果模式是AvoidObstacle,那么PCB对象仅能被放置间隙违例设计规则不违反的位置。如果模式是PushObstacle,那么当一个PCB对象被放置时,周围的对象被推开,事实上间隙违例设计规则根本不可能被违反。

参见其它:

TPCBSystemOptions类

4.47 TIterationMethod类型

声明(来自PCBTypes单元):

TIterationMethod = (eProcessAll,eProcessFree,eProcessComponent);

描述:

TIterationMethod类型表示PcbApi_CreateIterator函数从PCB编辑器工作表中提取对象的作用域。eProcessAll模式处理所有对象,eProcessFree模式处理自由或单独的对象,eProcessComponent模式处理所有的组件。

参见其它:

PcbApi_CreateIterator函数

TPCBNet类

TPCBBoard类

4.48 TLayer类型

声明(来自PCBTypes单元):

TLayer = (eIgnoreLayer,eTopLayer,eMidLayer1,eMidLayer2,eMidLayer3,eMidLayer4,

eMidLayer5,eMidLayer6,eMidLayer7,eMidLayer8,eMidLayer9,eMidLayer10,

eMidLayer11,eMidLayer12,eMidLayer13,eMidLayer14,eMidLayer15,eMidLayer16,

eMidLayer17,eMidLayer18,eMidLayer19,eMidLayer20,eMidLayer21,eMidLayer22,

eMidLayer23,eMidLayer24,eMidLayer25,eMidLayer26,eMidLayer27,eMidLayer28,

eMidLayer29,eMidLayer30,eBottomLayer,eTopOverlay,eBottomOverlay,eTopPaste,

eBottomPaste,eTopSolder,eBottomSolder,eInternalPlane1,eInternalPlane2,

eInternalPlane3,eInternalPlane4,eInternalPlane5,eInternalPlane6,

eInternalPlane7,eInternalPlane8,eInternalPlane9,eInternalPlane10,

eInternalPlane11,eInternalPlane12,eInternalPlane13,eInternalPlane14,

eInternalPlane15,eInternalPlane16,eDrillGuide,eKeepOutLayer,eMechanical1,

eMechanical2,eMechanical3,eMechanical4,eMechanical5,eMechanical6,

eMechanical7,eMechanical8,eMechanical9,eMechanical10,eMechanical11,

eMechanical12,eMechanical13,eMechanical14,eMechanical15,eMechanical16,

eDrillDrawing,eMultiLayer,eConnectLayer,eBackGroundLayer,eDRCErrorLayer,

eHighlightLayer,eGridColor1,eGridColor10,ePadHoleLayer,eViaHoleLayer);

描述:

TLayer类型表示使用在PCB 99特定先前的编辑器中的层的类型。PCB 编辑器是一个层的环境,在此环境中层要么是被创建制造信息的物理层或如显示非布线连接的连接系统层。物理层包括信号层(Signal Layers)、内部平面层(internal plane layers)、丝网印刷层(Silkscreen)、焊接掩模层(Solder Mask)和阻焊掩模层(Paste Mask)。

4.49 TV3Layer类型

声明(来自PCBTypes单元):

TV3Layer = (eV3IgnoreLayer,eV3TopLayer,eV3MidLayer1,eV3MidLayer2,eV3MidLayer3,

eV3MidLayer4,eV3MidLayer5,eV3MidLayer6,eV3MidLayer7,eV3MidLayer8,

eV3MidLayer9,eV3MidLayer10,eV3MidLayer11,eV3MidLayer12,eV3MidLayer13,

eV3MidLayer14,eV3BottomLayer,eV3TopOverlay,eV3BottomOverlay,

eV3TopPaste,eV3BottomPaste,eV3TopSolder,eV3BottomSolder,

eV3InternalPlane1,eV3InternalPlane2,eV3InternalPlane3,

eV3InternalPlane4,eV3DrillGuide,eV3KeepOutLayer,eV3Mechanical1,

eV3Mechanical2,eV3Mechanical3,eV3Mechanical4,eV3DrillDrawing,

eV3MultiLayer,eV3ConnectLayer,eV3BackGroundLayer,eV3DRCErrorLayer,

eV3HighlightLayer,eV3GridColor1,eV3GridColor10,eV3PadHoleLayer,

eV3ViaHoleLayer);

描述:

TV3Layer类型表示使用在先前的Protel PCB系统到Protel 99特定的编辑器。PCB 编辑器是一个层的环境,在此环境中层要么是被创建制造信息的物理层或如显示非布线连接的连接系统层。物理层包括信号层(Signal Layers)、内部平面层(internal plane layers)、丝网印刷层(Silkscreen)、焊接掩模层(Solder Mask)和阻焊掩模层(Paste Mask)。TV3Layer类型被维护向后兼容。

本文为e-works原创投稿文章,未经e-works书面许可,任何人不得复制、转载、摘编等任何方式进行使用。如已是e-works授权合作伙伴,应在授权范围内使用。e-works内容合作伙伴申请热线:editor@e-works.net.cn tel:027-87592219/20/21。

责任编辑:王阳
3
相关专题