首页 / design / oaShape

oaShape

模块: oapy._oa._design 导入: from oapy._oa import _design

概览

oaShapeoapy 中可用,可通过 _design 模块访问。

本页汇总 oaShape 当前在 oapy 中可用的 Python 接口。

详细说明

The oaShape class is an abstract base for classes that define specific geometry at specific locations in a design。 Together with routes, shapes specify all the manufacturable geometry in a chip layout。 Shapes can also be used for more abstract purposes。 The Text shape classes provide viewable labels on design objects。 All shapes are placed on an oaLayer and an oaPurpose 。 The design API identifies these by the layer and purpose numbers。 The corresponding names are found in the technology database。 Optionally, shapes can also belong to either an oaNet or an oaPin to provide part of the physical implementation of that object。 The oaShape class can be observed by deriving from oaObserver

方法总览

状态 Python 调用
obj.getHeader()
obj.getLayerNum()
obj.getPurposeNum()
obj.getRouteStatus()
obj.getShieldedNet1()
obj.getShieldedNet2()
obj.isUnShielded()
obj.setLPP(layerNum, purposeNum)
obj.setLayerNum(layerNum)
obj.setPurposeNum(purposeNum)
obj.setRouteStatus(routeStatus)
obj.setShieldedNet1(net)
obj.setShieldedNet2(net)
obj.setUnShielded(unShielded)
obj.transform(scale, angle)
obj.getConnRoutes()

方法说明

obj.getHeader()

绑定状态: 已绑定

Python 调用: obj.getHeader()

This function returns the layer/purpose pair header associated with this shape。

异常

  • oacInvalidShape

Python 示例

from oapy._oa import _design

# assume obj is a oaShape
obj.getHeader()

obj.getLayerNum()

绑定状态: 已绑定

Python 调用: obj.getLayerNum()

This function returns the layer number associated with this shape。

异常

  • oacInvalidShape

Python 示例

from oapy._oa import _design

# assume obj is a oaShape
obj.getLayerNum()

obj.getPurposeNum()

绑定状态: 已绑定

Python 调用: obj.getPurposeNum()

This function returns the purpose number associated with this shape。

异常

  • oacInvalidShape

Python 示例

from oapy._oa import _design

# assume obj is a oaShape
obj.getPurposeNum()

obj.getRouteStatus()

绑定状态: 已绑定

Python 调用: obj.getRouteStatus()

This function returns the route status of this shape。

异常

  • oacInvalidShape

Python 示例

from oapy._oa import _design

# assume obj is a oaShape
obj.getRouteStatus()

obj.getShieldedNet1()

绑定状态: 已绑定

Python 调用: obj.getShieldedNet1()

This function returns the first net that this shape is shielding。 A shape may shield up to two nets。

Python 示例

from oapy._oa import _design

# assume obj is a oaShape
obj.getShieldedNet1()

obj.getShieldedNet2()

绑定状态: 已绑定

Python 调用: obj.getShieldedNet2()

This function returns the second net that this shape is shielding。 A shape may shield up to two nets。

Python 示例

from oapy._oa import _design

# assume obj is a oaShape
obj.getShieldedNet2()

obj.isUnShielded()

绑定状态: 已绑定

Python 调用: obj.isUnShielded()

This function returns true if this shape is not shielded。

Python 示例

from oapy._oa import _design

# assume obj is a oaShape
obj.isUnShielded()

obj.setLPP(layerNum, purposeNum)

绑定状态: 已绑定

Python 调用: obj.setLPP(layerNum, purposeNum)

This function moves this shape to the specified layer/purpose pair。 The new layer/purpose pair is created if it does not exist。 The old layer/purpose pair is deleted if it becomes empty。

参数

  • layerNum: The layer number of the specified layer-purpose pair。
  • purposeNum: The purpose number of the specified layer-purpose pair。 Note that oavPurposeNumberNo and oavPurposeNumberAny are only to be used in constraints and are not valid arguments here。

异常

  • oacInvalidShape

Python 示例

from oapy._oa import _design

# assume obj is a oaShape
obj.setLPP(layerNum, purposeNum)

obj.setLayerNum(layerNum)

绑定状态: 已绑定

Python 调用: obj.setLayerNum(layerNum)

This function moves this shape to the specified layer number。 The new layer/purpose pair is created if it does not exist。 The old layer/purpose pair is deleted if it becomes empty。

异常

  • oacInvalidShape

Python 示例

from oapy._oa import _design

# assume obj is a oaShape
obj.setLayerNum(layerNum)

obj.setPurposeNum(purposeNum)

绑定状态: 已绑定

Python 调用: obj.setPurposeNum(purposeNum)

This function moves this shape to the specified purpose number。 The new layer/purpose pair is created if it does not exist。 The old layer/purpose pair is deleted if it becomes empty。

参数

  • purposeNum: The purpose number。 Note that oavPurposeNumberNo and oavPurposeNumberAny are only to be used in constraints and are not valid arguments here。

异常

  • oacInvalidShape

Python 示例

from oapy._oa import _design

# assume obj is a oaShape
obj.setPurposeNum(purposeNum)

obj.setRouteStatus(routeStatus)

绑定状态: 已绑定

Python 调用: obj.setRouteStatus(routeStatus)

This function sets the route status attribute of this shape to the specified oaRouteStatus value。

异常

  • oacInvalidShape

Python 示例

from oapy._oa import _design

# assume obj is a oaShape
obj.setRouteStatus(routeStatus)

obj.setShieldedNet1(net)

绑定状态: 已绑定

Python 调用: obj.setShieldedNet1(net)

This function sets the first shielded net for this shape to the specified bit net。 A shape may shield up to two nets。 A NULL pointer resets the attribute。 Exceptions are thrown if the net is not in the same database as this shape。

参数

  • net: Bit net that is shielded by this shape。

异常

  • oacNetFigNotInSameBlock
  • oacObjectAlreadyShieldsNet

Python 示例

from oapy._oa import _design

# assume obj is a oaShape
obj.setShieldedNet1(net)

obj.setShieldedNet2(net)

绑定状态: 已绑定

Python 调用: obj.setShieldedNet2(net)

This function sets the second shielded net for this shape to the specified bit net。 A shape may shield up to two nets。 A NULL pointer resets the attribute。 Exceptions are thrown if the net is not in the same database as this shape。

参数

  • net: Bit net that is shielded by this shape。

异常

  • oacNetFigNotInSameBlock
  • oacObjectAlreadyShieldsNet

Python 示例

from oapy._oa import _design

# assume obj is a oaShape
obj.setShieldedNet2(net)

obj.setUnShielded(unShielded)

绑定状态: 已绑定

Python 调用: obj.setUnShielded(unShielded)

This function sets the unShielded attribute of this shape to the specified value。

参数

  • unShielded: value。

Python 示例

from oapy._oa import _design

# assume obj is a oaShape
obj.setUnShielded(unShielded)

obj.transform(scale, angle)

绑定状态: 已绑定

Python 调用: obj.transform(scale, angle)

This function transforms this shape by the specified scale factor and rotation angle。 The rotation angle is specified in radians。 When the angle is not a multiple of Pi/2, rectangles are converted to polygons。 PathSegs have a more specilized nature and can only be rotated by angles that are a multiple of Pi/2 to ensure that the orthogonal/diagonal nature of the pathSeg is preserved。 For ellipses and arcs, the transform is applied to their control points, and for both, their control points are based upon the bounding box。 When a non-90-degree transform is applied to a box, it is applied to each corner of the box。 The bounding box from the resulting points is then applied to the ellipse or the arc。 It is the caller's responsibility to scale and rotate instances。

Python 示例

from oapy._oa import _design

# assume obj is a oaShape
obj.transform(scale, angle)

obj.getConnRoutes()

绑定状态: 已绑定

Python 调用: obj.getConnRoutes()

This function returns a collection of routes that are connected to this shape。 Each route in the collection has this shape as either its startConn, endConn, or both。

Python 示例

from oapy._oa import _design

# assume obj is a oaShape
obj.getConnRoutes()