dbFlattenInst alternative?

W

West

Guest
Hi,
I've made some skill function to output a layer to autocad dxf.
Therefore I use dbLayerOr to merge all shapes on a new layer. However
dbLayerOr (and the other dbLayer... functions) only processes shapes.
Vias and Pcells are not taken into account. Therefore I first need to
do a dbFlattenInst, which destroys the hierarchy of the current
processed cell, so therefore I have to work on a copy of the cell). On
top of that in a larger design dbFlattenInst can take a lot of time,
since it processes all the layers and I'm only interested in one of
them.
Is there some other function available which does take into account
Pcells and Vias? There must be something, I reckon, f.i. the "mark net"
function is taking into account hierarchy and Pcells and Vias (I wonder
how that works, maybe some internal or undocument function?).

The layers are all rendered to the display, so there must be some data
structure available with rendered layers. It would be nice if it was
possible to access that.
Regards, Wim
 
Wim,
dbTransform* functions would do what you want.
See Andrew Beckett's answer for similar question here:
http://groups-beta.google.com/group/comp.cad.cadence/browse_thread/thread/2d361aa17d5cf38/ab934087a6c5e58b

--
Suresh

West wrote:
Hi,
I've made some skill function to output a layer to autocad dxf.
Therefore I use dbLayerOr to merge all shapes on a new layer. However
dbLayerOr (and the other dbLayer... functions) only processes shapes.
Vias and Pcells are not taken into account. Therefore I first need to
do a dbFlattenInst, which destroys the hierarchy of the current
processed cell, so therefore I have to work on a copy of the cell). On
top of that in a larger design dbFlattenInst can take a lot of time,
since it processes all the layers and I'm only interested in one of
them.
Is there some other function available which does take into account
Pcells and Vias? There must be something, I reckon, f.i. the "mark net"
function is taking into account hierarchy and Pcells and Vias (I wonder
how that works, maybe some internal or undocument function?).

The layers are all rendered to the display, so there must be some data
structure available with rendered layers. It would be nice if it was
possible to access that.
Regards, Wim
 
Suresh Jeevanandam wrote:
dbTransform* functions would do what you want.
See Andrew Beckett's answer for similar question here:

http://groups-beta.google.com/group/comp.cad.cadence/browse_thread/thread/2d361aa17d5cf38/ab934087a6c5e58b

As a side note, it's great to see more and more people following the
SKILL naming conventions outlined a few years back during the 43 to 44
migration. One of the barriers that needed breaking down was the
ability for a SKILL user to tell, on sight, which code was public and
which was private and which was supported and which was not.

Basically, any new code shipped in a Virtuoso (formerly DFII <- Opus <-
Edge <- SDA) release must start with a lower-case prefix if it's public
and must start with an underscore before the lower-case prefix if it's
private (i.e., undocumented & unsupported).

That leaves all other non-production code to start with an upper-case
prefix (whether that be AE-ware, Service-ware, Training-ware, or
Customer-ware).

Much of Andrew's wonderful SKILL code predates these naming conventions
- so he, like many others, were grandfathered in - but I see he has
now moved to a capital-letter prefix ... which is the way to go for
non-production code.

Thanks Andrew & everyone!
John Gianni
 

Welcome to EDABoard.com

Sponsor

Back
Top