首页 / tech / oaDerivedLayer

oaDerivedLayer

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

概览

oaDerivedLayeroapy 中可用,可通过 _tech 模块访问。

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

详细说明

The oaDerivedLayer class defines a derived layer, which is formed from one or two layers and a derived layer definition ( oaDerivedLayerDef )。 A full description of a derived layer also requires its name ( oaString ), its layer number (oaLayerNum), and its database ( oaTech ), and an optional array of parameters ( oaDerivedLayerParamArray )。 The derived layer definition is associated with a layer operation ( oaLayerOp ) and specifies the number of parent layers for the corresponding derived layer。 Built-in derived layer definitions each have their own unique oaLayerOpEnum value, but all user-defined definitions have the same layer operation, oacUserDefinedLayerOp。 Important: The oaDerivedLayer class is only a repository。 OpenAccess does not provide built-in layer operation functionality。 The application is responsible for performing the layer manipulations and associating the results with the appropriate oaDerivedLayer。 Note that for backward compatibility, oaDerivedLayer::create member functions are still supported, and they allow creating a derived layer by directly specifying the layer operation and not specifying the database。 Also, an oaDerivedLayer::find member function allows immediate searching for a derived layer by layer operation as opposed to layer definition。 However, these functions are deprecated。 Some layer operations require one or more parameters, such as shrink or grow。 In such cases, an oaDerivedLayerParamArray can be associated with the derived layer。 Refer to Deriving Layers and Performing Layer Operations in the Programmers Guide for information about working with derived layers。

方法总览

状态 Python 调用
obj.getLayer1()
obj.getLayer2()
obj.getLayer1Num()
obj.getLayer2Num()
obj.getOperation()
obj.getDef()
obj.getParams(params)
obj.hasParams()
obj.setParams(params)
_tech.oaDerivedLayer.create(layer1, layer2, operation, name, number)
_tech.oaDerivedLayer.create(tech, layer1, layer2, operation, name, number)
_tech.oaDerivedLayer.create(tech, layer, def, name, number, params=NULL)
_tech.oaDerivedLayer.create(tech, layer1, layer2, def, name, number, params=NULL)
_tech.oaDerivedLayer.find(tech, name)
_tech.oaDerivedLayer.find(tech, name, local)
_tech.oaDerivedLayer.find(tech, number)
_tech.oaDerivedLayer.find(tech, number, local)
_tech.oaDerivedLayer.find(tech, layerNum, def, params=NULL, local=false)
_tech.oaDerivedLayer.find(tech, layer1Num, layer2Num, def, params=NULL, local=false)
_tech.oaDerivedLayer.find(layer1, layer2, operation)

方法说明

obj.getLayer1()

绑定状态: 已绑定

Python 调用: obj.getLayer1()

This function returns a pointer to layer1, from which the derived layer was created。 NULL is returned if the layer comes from an unbound technology database referenced by the owning database of this derived layer。 If the layer is not bound, you can use the getLayer1Num to get the number of the layer。 Refer to Incremental Technology Databases in the Using Technology Databases section of the Programmers Guide for more information about referenced tech databases。

Python 示例

from oapy._oa import _tech

# assume obj is a oaDerivedLayer
obj.getLayer1()

obj.getLayer2()

绑定状态: 已绑定

Python 调用: obj.getLayer2()

This function returns a pointer to layer2, from which the derived layer was created。 For unary layer operations, this returns the same layer as oaDerivedLayer::getLayer1() 。 NULL may be returned if the layer referenced comes from an unbound technology database referenced by the owning database of this derived layer。 If the layer is not bound, you can use the getLayer2Num to get the number of the layer。 Refer to Incremental Technology Databases in the Using Technology Databases section of the Programmers Guide for more information about referenced tech databases。

Python 示例

from oapy._oa import _tech

# assume obj is a oaDerivedLayer
obj.getLayer2()

obj.getLayer1Num()

绑定状态: 已绑定

Python 调用: obj.getLayer1Num()

This function returns the number of the layer1 from which this derived layer was created even if the tech database containing the layer is unbound。

Python 示例

from oapy._oa import _tech

# assume obj is a oaDerivedLayer
obj.getLayer1Num()

obj.getLayer2Num()

绑定状态: 已绑定

Python 调用: obj.getLayer2Num()

This function returns the number of the layer2 from which this derived layer was created even if the tech database containing the layer is unbound。 For unary layer operations, this returns the same layer number as getlayer1Num()。

Python 示例

from oapy._oa import _tech

# assume obj is a oaDerivedLayer
obj.getLayer2Num()

obj.getOperation()

绑定状态: 已绑定

Python 调用: obj.getOperation()

This function returns the built-in layerOp used to create this derivedLayer, or it returns oacUserDefinedLayerOp for user-defined derived layer definitions。

Python 示例

from oapy._oa import _tech

# assume obj is a oaDerivedLayer
obj.getOperation()

obj.getDef()

绑定状态: 已绑定

Python 调用: obj.getDef()

This function returns the derived layer def used to create this derivedLayer。

Python 示例

from oapy._oa import _tech

# assume obj is a oaDerivedLayer
obj.getDef()

obj.getParams(params)

绑定状态: 已绑定

Python 调用: obj.getParams(params)

This function retrieves the parameters of this derived layer。

参数

  • params: The retrieved parameter array。

Python 示例

from oapy._oa import _tech

# assume obj is a oaDerivedLayer
obj.getParams(params)

obj.hasParams()

绑定状态: 已绑定

Python 调用: obj.hasParams()

This function returns a boolean that indicates whether this derived layer has any parameters。

Python 示例

from oapy._oa import _tech

# assume obj is a oaDerivedLayer
obj.hasParams()

obj.setParams(params)

绑定状态: 已绑定

Python 调用: obj.setParams(params)

This function sets the parameters of this derived layer to the given parameter array。

参数

  • params: The array of parameters to set on this derived layer。

异常

  • oacDerivedLayerParamNotInSameDB

Python 示例

from oapy._oa import _tech

# assume obj is a oaDerivedLayer
obj.setParams(params)

_tech.oaDerivedLayer.create(layer1, layer2, operation, name, number)

绑定状态: 已绑定

Python 调用: _tech.oaDerivedLayer.create(layer1, layer2, operation, name, number)

This function creates a derived layer with the specified name, number, and derivation in the specified tech。 The derived layer is based on a derived layer definition。 The number and name must be unique for the specified layer1 and layer2 combination。 layer1 and layer2 can be in the specified tech, or in one or two databases in the graph of referenced technology databases rooted at the specified tech。 Refer to Incremental Technology Databases in the Using Technology Databases section of the Programmers Guide for more information about referenced tech databases。 Note: This function will bind any layer headers or LPPHeaders in open designs that reference the specified layer number。

参数

  • tech: The technology database in which the derived layer will be created。
  • layer1: The first layer for creating the derived layer。
  • layer2: The second layer for creating the derived layer。
  • def: The definition for the derived layer。
  • name: The unique name for the derived layer。
  • number: The unique number for the derived layer。
  • params: The parameters for the derived layer。

异常

  • oacLayerNumberExists
  • oacLayerNameExists
  • oacInvalidNumLayersForDerivedLayerDef
  • oacLayerDerivationExists

Python 示例

from oapy._oa import _tech

_tech.oaDerivedLayer.create(layer1, layer2, operation, name, number)

_tech.oaDerivedLayer.create(tech, layer1, layer2, operation, name, number)

绑定状态: 已绑定

Python 调用: _tech.oaDerivedLayer.create(tech, layer1, layer2, operation, name, number)

This function creates a derived layer with the specified name, number, and derivation。 The derived layer is based on a derived layer definition。 The function creates the derived layer in the specified tech database。 The oaLayer can be in the same technology database as the derived layer being created, or it can be in any of the referenced technology databases in the graph of databases rooted at the tech that will contain the derived layer。 Refer to Incremental Technology Databases in the Using Technology Databases section of the Programmers Guide for more information about referenced tech databases。 Note: This function will bind any layer headers or LPPHeaders in open designs that reference the specified layer number。

参数

  • tech: The technology database in which the derived layer will be created。
  • layer: The layer for creating the derived layer。
  • def: The definition for the derived layer。
  • name: The unique name for the derived layer。
  • number: The unique number for the derived layer。
  • params: The parameters for the derived layer。

异常

  • oacLayerNotInReferencedTech
  • oacConflictingLayerNamesInTech
  • oacConflictingLayerNumbersInTech
  • oacLayerNumberExists
  • oacLayerNameExists
  • oacInvalidNumLayersForDerivedLayerDef
  • oacLayerDerivationExists
  • oacDerivedLayerParamAlreadyOwned
  • oacDerivedLayerParamNotInSameDB

Python 示例

from oapy._oa import _tech

_tech.oaDerivedLayer.create(tech, layer1, layer2, operation, name, number)

_tech.oaDerivedLayer.create(tech, layer, def, name, number, params=NULL)

绑定状态: 已绑定

Python 调用: _tech.oaDerivedLayer.create(tech, layer, def, name, number, params=NULL)

This function is deprecated and is retained to ensure compatibility with previous versions of OpenAccess。 Use the create function overload that takes an oaDerivedLayerDef argument instead of the oaLayerOp argument。 The number, name, and operation must all be unique for the specified layer1 and layer2 combination。 The function creates the derived layer in the specified tech database。 The databases in which either of layer1 and layer2 are residing must be referenced from the technology database in which the derived layer is to be created。 Only layer operations for two layers are supported through this interface。 Note: This function will bind any layer headers or LPPHeaders in open designs that reference the specified layer number。 Refer to Incremental Technology Databases in the Using Technology Databases section of the Programmers Guide for more information about referenced tech databases。

参数

  • tech: The technology database in which the derived layer will be created。
  • layer1: The first layer for creating the derived layer。
  • layer2: The second layer for creating the derived layer。
  • operation: The operation to use for creating this derived layer。
  • name: The unique name of the derived layer。
  • number: The unique number of the derived layer。

异常

  • oacLayerNotInReferencedTech
  • oacConflictingLayerNamesInTech
  • oacConflictingLayerNumbersInTech
  • oacLayerNumberExists
  • oacLayerDerivationExists
  • oacLayerNameExists
  • oacInvalidNumLayersForDerivedLayerDef

Python 示例

from oapy._oa import _tech

_tech.oaDerivedLayer.create(tech, layer, def, name, number, params=NULL)

_tech.oaDerivedLayer.create(tech, layer1, layer2, def, name, number, params=NULL)

绑定状态: 已绑定

Python 调用: _tech.oaDerivedLayer.create(tech, layer1, layer2, def, name, number, params=NULL)

This function is deprecated and is retained to ensure compatibility with previous versions of OpenAccess。 Use the create function overload that takes an oaDerivedLayerDef argument instead of the oaLayerOp argument。 The number, name, and operation must all be unique for the specified layer1 and layer2 combination。 Both layer1 and layer2 must be defined in the same technology database, and neither value may be NULL。 The two layers must also be in the same technology database as the derivedLayer that is being created。 Only layer operations for two layers are supported through this interface。 Note: This function will bind any layer headers or LPPHeaders in open designs that reference the specified layer number。

参数

  • layer1: The first layer for creating the derived layer。
  • layer2: The second layer for creating the derived layer。
  • operation: The operation to use for creating this derived layer。
  • name: The unique name of the derived layer。
  • number: The unique number of the derived layer。

异常

  • oacLayer1Layer2NotInSameTech
  • oacLayerNotInReferencedTech
  • oacConflictingLayerNamesInTech
  • oacConflictingLayerNumbersInTech
  • oacLayerDerivationExists
  • oacLayerNumberExists
  • oacLayerNameExists

Python 示例

from oapy._oa import _tech

_tech.oaDerivedLayer.create(tech, layer1, layer2, def, name, number, params=NULL)

_tech.oaDerivedLayer.find(tech, name)

绑定状态: 已绑定

Python 调用: _tech.oaDerivedLayer.find(tech, name)

This function searches the technology database associated with the given layers looking for a derived layer with the specified layer derivation。 For this variant of find function, the given layers must be in the same technology database, and the oaDerivedLayer lookup is local to that database。 If the derived layer is found, a pointer to the derived layer object is returned。 Otherwise, NULL is returned。 Only binary layer operations are supported through this interface。

参数

  • layer1: First layer of the derivation。
  • layer2: Second layer of the derivation。
  • operation: Layer operation。

异常

  • oacLayer1Layer2NotInSameTech

Python 示例

from oapy._oa import _tech

_tech.oaDerivedLayer.find(tech, name)

_tech.oaDerivedLayer.find(tech, name, local)

绑定状态: 已绑定

Python 调用: _tech.oaDerivedLayer.find(tech, name, local)

This function searches for a derived layer based on the specified layer1Num, layer2Num, and derived layer definition。 The local argument specifies whether (if true) to look only in the specified technology database (if false) to look in the specified technology database and all of its referenced databases。 If found, a pointer to the derived layer object is returned, otherwise NULL is returned。 Refer to Incremental Technology Databases in the Using Technology Databases section of the Programmers Guide for more information about referenced tech databases。

参数

  • tech: The technology database from which to start the search for the derived layer。
  • layer1Num: The first layer of the derived layer to search for。
  • layer2Num: The second layer of the derived layer to search for。
  • def: The definition of the derived layer to search for。
  • params: The parameters of the derived layer to search for。
  • local: Specifies whether (if true) to look only in the specified technology database or (if false) to look in the specified technology database and all of its referenced databases。

异常

  • oacDerivedLayerParamNotInSameDB

Python 示例

from oapy._oa import _tech

_tech.oaDerivedLayer.find(tech, name, local)

_tech.oaDerivedLayer.find(tech, number)

绑定状态: 已绑定

Python 调用: _tech.oaDerivedLayer.find(tech, number)

This function searches for a derived layer based on the specified layerNum and derived layer definition。 The local argument specifies whether (if true) to look only in the specified technology database (if false) to look in the specified technology database and all of its referenced databases。 If found, a pointer to the derived layer object is returned, otherwise NULL is returned。 Refer to Incremental Technology Databases in the Using Technology Databases section of the Programmers Guide for more information about referenced tech databases。

参数

  • tech: The technology database from which to start the search for the derived layer。
  • layerNum: The number of the derived layer to search for。
  • def: The definition of the derived layer to search for。
  • params: The parameters of the derived layer to search for。
  • local: Specifies whether (if true) to look only in the specified technology database or (if false) to look in the specified technology database and all of its referenced databases。

异常

  • oacDerivedLayerParamNotInSameDB

Python 示例

from oapy._oa import _tech

_tech.oaDerivedLayer.find(tech, number)

_tech.oaDerivedLayer.find(tech, number, local)

绑定状态: 已绑定

Python 调用: _tech.oaDerivedLayer.find(tech, number, local)

This function searches for a derived layer with the specified number。 referenced databases looking for a derived layer with the specified number。 The local argument specifies whether (if true) to look only in the specified technology database (if false) to look in the specified technology database and all of its referenced databases。 If found, a pointer to the derived layer object is returned, otherwise NULL is returned。 Refer to Incremental Technology Databases in the Using Technology Databases section of the Programmers Guide for more information about referenced tech databases。 从 oaLayer 重新实现。

参数

  • tech: The technology database from which to start the search for the derived layer。
  • number: The number of the derived layer to find。
  • local: A boolean that specifies whether (if true) to look in the specified technology database or (if false) to look in the specified technology database and all of its referenced databases。

Python 示例

from oapy._oa import _tech

_tech.oaDerivedLayer.find(tech, number, local)

_tech.oaDerivedLayer.find(tech, layerNum, def, params=NULL, local=false)

绑定状态: 已绑定

Python 调用: _tech.oaDerivedLayer.find(tech, layerNum, def, params=NULL, local=false)

This function searches the specified technology database for an oaDerivedLayer object with the specified number。 If the specified technology database references other technology databases, those are searched as well and the first matching derived layer is returned。 To find a derived layer in the current technology database only, refer to the find function that accepts the local argument。 If found, a pointer to the derived layer object is returned。 Otherwise, NULL is returned。 Refer to Incremental Technology Databases in the Using Technology Databases section of the Programmers Guide for more information about referenced tech databases。 从 oaLayer 重新实现。

参数

  • tech: The technology database to search。
  • number: The number of the derived layer to find。

Python 示例

from oapy._oa import _tech

_tech.oaDerivedLayer.find(tech, layerNum, def, params=NULL, local=false)

_tech.oaDerivedLayer.find(tech, layer1Num, layer2Num, def, params=NULL, local=false)

绑定状态: 已绑定

Python 调用: _tech.oaDerivedLayer.find(tech, layer1Num, layer2Num, def, params=NULL, local=false)

This function searches for a derived layer with the specified name。 The local argument specifies whether (if true) to look only in the specified technology database (if false) to look in the specified technology database and all of its referenced databases。 If found, a pointer to the derived layer object is returned, otherwise NULL is returned。 Refer to Incremental Technology Databases in the Using Technology Databases section of the Programmers Guide for more information about referenced tech databases。 从 oaLayer 重新实现。

参数

  • tech: The technology database from which to start the search for the derived layer。
  • name: The name of the derived layer to find。
  • local: A boolean that specifies whether (if true) to look in the specified technology database or (if false) to look in the specified technology database and all of its referenced databases。

Python 示例

from oapy._oa import _tech

_tech.oaDerivedLayer.find(tech, layer1Num, layer2Num, def, params=NULL, local=false)

_tech.oaDerivedLayer.find(layer1, layer2, operation)

绑定状态: 已绑定

Python 调用: _tech.oaDerivedLayer.find(layer1, layer2, operation)

This function searches the specified technology database for an oaDerivedLayer object with the specified name。 If the specified technology database references other technology databases, those are searched as well and the first matching derived layer is returned。 To find a derived layer in the current technology database only, refer to the find function that accepts the local argument。 If found, a pointer to the derived layer object is returned。 Otherwise, NULL is returned。 Refer to Incremental Technology Databases in the Using Technology Databases section of the Programmers Guide for more information about referenced tech databases。 从 oaLayer 重新实现。

参数

  • tech: The technology database to begin the search。
  • name: The name of the derived layer to find。

Python 示例

from oapy._oa import _tech

_tech.oaDerivedLayer.find(layer1, layer2, operation)