CutOutSubDesign (Layout Editor)

Use: Cut out a subdesign.

Command: CutOutSubDesign

Syntax: oEditor.CutOutSubDesign Array(

"NAME:Params",

"Name:=", <"name">,

"EMDesign:=", <boolean>,

"SubDesign:=", <boolean>,

"Within:=", <boolean>,

"Without:=", <boolean>,

"AutoGenExtent":=<boolean>,

"Expansion":=<double>,

"RoundCorner":=<boolean>,

"Increments":=<integer>,

"ExtentSel:=", Array(<"extent-poly">, …),

Array("NAME:Nets", "net:=", Array(<"net-name">, <clip>), …))

In place of "ExtentSel:=", Array(<"extent-poly">, …) an explicit polygon can be used:

   "Extent:=", Array("cl:=", true,

      "pt:=", Array(U:=", <"units">, "x:=", <double>, "y:=" <double>, …))

 

Parameters: Name — name of the cutout design.

EMDesign — if true, create an EM design, otherwise create a Nexxim design.

Within — boolean; cut out the interior region.

Without — boolean; cut out the exterior region.

AutoGenExtent — boolean; when true, Circuit disregards both ExtentSel and Extent. Circuit will instead generate a polygonal shape around all nets which are not clipped.

Expansion — double; similar to the Auto Generate Extent dialog box. However, this is always a unitless fraction. By default it is set to .1.

RoundCorner — boolean; identical to the Auto Generate dialog box. By default this is set to true. In general, rounded corners are preferred when the cutout shape has acute or nea-acute angles

Increments — integer; this is from the Auto Generate Dialog, and by default is set to true. This can greatly increase the running time and a small increase can make a big difference. It is probably best to experiment with this parameter first, rather than set it arbitrarily.

ExtentSel— an array of extent polygon names.

Extent — alternative to ExtentSel; an explicit polygon defined by coordinates.

cl — must always be true; indicates that the polygon is closed.

U — coordinate units, e.g. "mm"

pt — array of coordinate values.

x — x coordinate value

y — y coordinate value

Nets — the net information.

net — array of net information.

<"net-name">

      "<no net trace>" — special value referring to traces not in a net.

      "<no net fill>" — special value refereeing to fill polygons not in a net.

      <design>:<net> — net within a particular design.

      <net> — net within the active design.

<clip> — boolean true/false; if true, the net is clipped against the extent else the net is included but not clipped.

Return Value: None

Example: Using "extent_poly" as the selection extent:

oEditor.CutOutSubDesign Array("NAME:Params",

"Name:=", "EMDesign1_cutout",

"EMDesign:=", true,

"SubDesign:=", false,

"Within:=", true,

"Without:=", false,

"ExtentSel:=", Array("extent_poly", …),

Array("NAME:Nets",

"net:=", Array("<no net trace>", true),

"net:=", Array("<no net fill>", true),

"net:=", Array("EMDesign1:GND", true) … ))

Example: Example using an explicit polygon as the selection extent:

oEditor.CutOutSubDesign Array("NAME:Params",

"Name:=", "EMDesign1_cutout",

"EMDesign:=", true,

"SubDesign:=", false,

"Within:=", true,

"Without:=", false,

"Extent:=", Array(

"cl:=", true,

"pt:=", Array(

"U:=", "mm",

"x:=", 0,

"y:=" 0, ) ),

Array("NAME:Nets",

"net:=", Array("<no net trace>", true),

"net:=", Array("<no net fill>", true),

"net:=", Array("EMDesign1:GND", true) … ))