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

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

--正文篇——第十一章第5-7节

发表时间:2007-11-25  特约撰稿人: 张浩 白二平 来源:e-works
用Protel的原理图API,您开发的服务器可以访问原理图编辑器服务器,例如,可以使用原理图API开发原理图BOM和原理图Spread服务器。此章节是一个原理图编辑器API所提供功能的简明摘要,另外有一些原理图API函数和类的例子。作者邮箱:bullzhanghao@yahoo.com.cn 如有疑问,可直接与作者联系!
6.4 Import_FromUser函数

声明(来自SchClass单元):

Function Import_FromUser : Boolean;

描述

Import_FromUser方法提供一个调用一个特定原理图对象的更改对话框的方法,如果此函数调用成功,一个真(True)值被返回,否则一个假(False)值被返回。

参见其它:

SchAPI_ImportFromUser函数

6.5 GraphicallyInvalidate过程

声明(来自SchClass单元):

Procedure GraphicallyInvalidate;

描述:

GraphicallyInvalidate方法强制一个在图表文档上的对象重绘它自己。

例子:

Port.GraphicallyInvalidate

7. 类
7.1 TSchObject类

声明(来自SchClass单元):

TSchObject = Class

描述:

TSchObject类为原理图对象定义了基础类,方法Create、Destroy和QueryDatabase将仅被定义一次,因为这里所展示的相同的特性类几乎都是从TSchObject类继承的而构建的,除了少量的特定类以外,这些特定的类将被单独描述。

字段

类型

描述

ObjectHandle

TObjectHandle

提供访问原理图对象的手段。

ObjectKind

TObjectKind

表示原理图对象是哪一个种类。

Selection

Boolean

表示一个原理图对象是否被选择。

LocationX

Integer

表示X位置,范围是0-6500。

LocationY

Integer

表示Y位置, 范围是0-6500。

Color

LongInt

表示一个原理图对象的主/背景颜色属性。

方法

描述

Constructor Create(AHandle : TObjectHandle)

使用给定的对象句柄创建一个原理图对象。

Function QueryDatabase(Mode : TQueryMode) : Integer

使用适当的TQueryMode值在原理图编辑器数据库中取得或设置数据。

Procedure GetState_BoundingRectangle(Var Lx, Ly, Hx, Hy : Integer)

返回矩形边框坐标,Lx、Ly、Hx和Hy坐标。

Function Import_FromUser : Boolean

返回更改原理图对话框是否是激活的。

Procedure GraphicallyInvalidate;

强制重绘原理图对象。

参见其它:

TObjectHandle类型

TQueryMode类型

TObjectKind类型

Color字段

X 和 Y字段

7.1.1 TSchObject的子孙类
7.1.1.1 TSchAnnotation类

声明(来自SchClass单元):

TSchAnnotation = Class(TSchObject)

描述:

一个注解是一个单行的文本,被用于在图表中放置注释或备注。

字段

类型

描述

Orientation

TRotation

表示一个注解对象的方向。

FontID

Integer

表示一个注解对象的字体类型,Windows True Type字体被完全支持。

Text

PChar

表示一个注解对象的文本内容,是以Null为终止符的最长长度为256个字符的字符串。

参见其它:

TRotation类型

FontID字段

7.1.1.2 TSchArc类

声明(来自SchClass单元):

TSchArc = Class(TSchObject)

描述:

一个弧对象是一个圆形的曲线被用于来放置在图表上。

字段

类型

描述

LineWidth

TSize

表示线的宽度。

Radius

Integer

表示一个弧对象的半径尺寸。

StartAngle

Real

表示一个弧对象的起点。

EndAngle

Real

表示一个弧对象的终点。

参见其它:

TSize类型

Angle字段

Radius字段

7.1.1.3 TSchBusEntry类

声明(来自SchClass单元):

TSchBusEntry = Class(TSchObject)

描述:

总线入口对象是45度角的特殊的导线,被用来连接一根导线到总线行。

字段

类型

描述

LineWidth

TSize

表示总线入口对象线的宽度。

CornerX

Integer

表示最末右上角X坐标。

CornerY

Integer

表示最末右上角Y坐标。

参见其它:

TSize类型

X和Y字段

7.1.1.4 TSchEllipse类

声明(来自SchClass单元):

TSchEllipse = Class(TSchObject)

描述:

一个椭圆是一个绘制对象,其内填充或不填充图形元素。

字段

类型

描述

LineWidth

TSize

表示椭圆轮廓线的宽度。

Radius

Integer

表示一个椭圆的第一个半径。

SecondaryRadius

Integer

表示一个椭圆的第二个半径。

AreaColor

LongInt

表示一个椭圆形状的内部颜色。

IsSolid

Boolean

表示一个椭圆对象是否被AreaColor填充。

参见其它:

TSize类型

Radius字段

Color字段

7.1.1.5 TSchEllipticalArc类

声明(来自SchClass单元):

TSchEllipticalArc = Class(TSchObject)

描述:

椭圆弧对象是绘制对象,代表开放的圆或椭圆曲线。

字段

类型

描述

LineWidth

TSize

表示椭圆形的弧线的宽度。

Radius

Integer

表示椭圆形的弧第一个半径。

SecondaryRadius

Integer

表示椭圆形的弧第二个半径。

StartAngle

Real

表示椭圆形的弧起始角度。

EndAngle

Real

表示椭圆形的弧结束角度。

7.1.1.6 TSchErrorMarker类

声明(来自SchClass单元):

TSchErrorMarker = Class(TSchObject)

描述:

ErrorMarkers被放置在一个图表上每一个ERC违例位置。

字段

类型

描述

Error

PChar

表示一个错误标记的文本描述,其是以Null为终止符的最长长度为256个字符的字符串。

7.1.1.7 TSchImage类

声明(来自SchClass单元):

TSchImage = Class(TSchObject)

描述:

图形Images被使用来表示图像。

字段

类型

描述

LineWidth

TSize

表示图形对象的边框的宽度。

IsSolid

Boolean

表示是否图形对象被填充颜色。

CornerX

Integer

表示最末右X坐标。

CornerY

Integer

表示最末右Y坐标。

KeepAspect

Boolean

表示图像的高宽比是否被维持。

FileName

PChar

表示到一个图像的连接,Filename是以Null为终止符的最长长度为256个字符的字符串。

参见其它:

TSize类型

Angle字段

Radius字段

7.1.1.8 TSchJunction类

声明(来自SchClass单元):

TSchJunction = Class(TSchObject)

描述:

接点对象是小的圆形对象,用于在原理图上连接相交的导线。

字段

类型

描述

Size

TSize

表示接点对象大小。

Locked

Boolean

表示接点对象是否能被移动。

参见其它:

TSize类型

7.1.1.9 TSchLayoutDirective类

声明(来自SchClass单元):

TSchLayoutDirective = Class(TSchObject)

描述:

原理图布局指示对象是特定的对象,允许您来附属印制板布局信息到一个特定的网络。

字段

类型

描述

RoutingTrackWidth

Integer

表示为印制板布局设置的布线轨迹宽度。

RoutingViaWidth

Integer

表示为印制板布局设置的布线过孔(Vias)宽度。

NetTopology

TNetTopology

表示为印制板布局设置的布线优先级。

RoutingPriority

TRoutePriority

表示为印制板布局设置的网络拓朴。

Layer

TSignalLayer

表示为印制板布局设置的信号层。

参见其它:

TnetTopology类型

TRoutePriority类型

TSignalLayer类型

7.1.1.10 TSchLibraryComponent类

声明(来自SchClass单元):

TSchLibraryComponent = Class(TSchObject)

描述:

一个库组件对象有一个在当前库文档上的当前组件的描述,库组件对象的所有的字符串是以Null为终止符的最长长度为256个字符的字符串。

字段

类型

描述

ComponentDescription

PChar

表示组件的描述。

ComponentFootPrint1..4

PChar

表示组件的包装形式1..4。

ComponentField1..8

PChar

表示组件的字段1..8。

PartFieldName1..16

PChar

表示元件字段名称(PartFieldName)1..16。

7.1.1.11 TSchLine类

声明(来自SchClass单元):

TSchLine = Class(TSchObject)

描述:

线是带有任何数量连接段的图形绘制对象。如果您在原理图设计中,画一条多义线超过50顶点时,即当连续绘制多义线达到49条时,系统会自动把多义线断开,再下面的绘制又是新的多义线。

字段

类型

描述

LineWidth

TSize

表示线的宽度。

CornerX

Integer

表示角的X坐标。

CornerY

Integer

表示角的Y坐标。

LineStyle

TLineStyle

表示线类型。

参见其它:

TSize类型

TLineStyle类型

X和Y字段

7.1.1.12 TSchNetLabel类

声明(来自SchClass单元):

TSchNetLabel = Class(TSchObject)

描述:

当您从一个组件的引脚到第二个引脚,接着到第三个引脚放置导线时,您是在创建一根连接线。当在创建一个连线表时,原理图编辑器可为每一根连线分配一个系统产生的连线标识符,但是,您最好自己来为每一根连线分配一个唯一的标识符,这样,标识和管理上更清晰。您能使用网络标签来标识任何网络。连线标签能被水平或垂直放置。

字段

类型

描述

Orientation

TRotation

表示一个网络标签对象的方向(0、90、180、270度)。

FontID

Integer

表示一个网络标签对象的字体类型,完全支持Windows True Type字体。

Net

PChar

表示一个网络标签对象的标识符,以Null为终止符的最长长度为256个字符的字符串。

参见其它:

TRotation类型

FontID字段

7.1.1.13 TSchNoErc类

声明(来自SchClass单元):

TSchNoERC = Class(TSchObject)

描述:

非ERC指示是一个特殊的符号,标识作为您想要电子规则检查来跳过的一个引脚。非ERC指示对象没有附加的字段和方法,更多信息请参见TSchObject类。

参见其它:

TSchObject类

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

责任编辑:王阳