the fair gds editor MacroClassDrawingField
Please Sign in

DrawingField Class Reference

The head class of the drawing. More...

See also: List of Classes


Member

  1. activeLayer
  2. addBoundingBox()
  3. addCell()
  4. addConvexPolygon()
  5. alignBottom()
  6. alignLeft()
  7. alignRight()
  8. alignTop()
  9. alignValue(int dis)
  10. arc()
  11. arrayCopy(int nx, int ny)
  12. bezier2()
  13. bezier3()
  14. box()
  15. boxDeselect()
  16. boxSelect()
  17. cDeselect()
  18. cSelect()
  19. cellRef(string s)
  20. cellrefarray(string s,int x, int y)
  21. cellUp()
  22. centerX()
  23. centerXY()
  24. centerY()
  25. circle()
  26. circleBox()
  27. circleFit()
  28. clearPoints()
  29. closeToPolygon()
  30. closedPathToPolygon()
  31. compareCell(string s)
  32. compareCellXor(string cell)
  33. copy()
  34. copyArea(rect r, int layerSource, int layerDest)
  35. copyCurrentCell()
  36. copyDimension(int minWidth, int maxWidth, int minLength, int maxLangth, int layerDest, int layerSource=-1)
  37. copyLayer(int sourcelayer, int sourcedatatype, int destLayer)
  38. copyLayerToCell(int layer)
  39. copyMirror()
  40. copyOverlapping(int layerA,int layerB, int layerOutA, int layerOutB=-1)
  41. copyTouching(int layerA,int layerB, int layerOutA, int layerOutB=-1)
  42. copyTouchingOrOverlapping(int layerA,int layerB, int layerOutA, int layerOutB=-1)
  43. crossSection()
  44. crossSection(point p1, point p2)
  45. currentCell
  46. cut()
  47. databaseunits
  48. delPoint()
  49. deleteAllCell()
  50. deleteCurrentCell()
  51. deleteExceptOneLayer(int layer)
  52. deleteLayer(int layer)
  53. deleteLayer(int layer, int datatype)
  54. deleteSelect()
  55. deleteText()
  56. deleteZeroWidthPath()
  57. deselectActiveLayer()
  58. deselectAll()
  59. densityFill(int layer, double density, int shapeSpace, int minWidth, int minSpace, int frameSize)
  60. dot()
  61. ellipse()
  62. existCellname(string s)
  63. extractActiveLayer()
  64. extractLayer(int layer)
  65. extractCurrentCell()
  66. fAllDeselect()
  67. fAllSelect()
  68. fDeselect()
  69. fSelect()
  70. fileType
  71. findCell(string s)
  72. findTopCell()
  73. firstCell
  74. flat()
  75. flatAll()
  76. getPoints()
  77. getView(double *scale,int *x,int *y)
  78. gridMinimum
  79. gridOffsetX
  80. gridOffsetY
  81. gridX
  82. gridY
  83. gridauto
  84. group()
  85. groupGlobal()
  86. groupSimple()
  87. groupStructure()
  88. importFile(string filename)
  89. invertSelect()
  90. libname
  91. mapLayer(layerTranslator *t)
  92. mergeSelect()
  93. mirror()
  94. modified()
  95. move()
  96. moveLayer(int sourceLayer, int sourcedatatype, int destLayer)
  97. moveOrigin()
  98. moveX()
  99. moveY()
  100. newCell()
  101. oaFindCell(string libName,string cellName,string viewName,stringList parameterName=stringList(),stringList parameterValue=stringList() )
  102. oaGetCellName(string libName,string cellName,string viewName,stringList parameterName=stringList(),stringList parameterValue=stringList() )
  103. openFile(string filename)
  104. openView(string library,string cellName,string viewName)
  105. pDeselect()
  106. pDir(double length,double dir)
  107. pMove(double x,double y)
  108. pRel(double x,double y)
  109. pSelect()
  110. path()
  111. pathDeselect()
  112. pathSelect()
  113. p(double x,double y)
  114. pointMove(int x,int y)
  115. pointMove(point p)
  116. point(point p)
  117. point(int x,int y)
  118. pointRel(int x,int y)
  119. pointRel(point p)
  120. polygon()
  121. polygonArc()
  122. polygonDeselect()
  123. polygonSelect()
  124. prepareUndo()
  125. previousCell
  126. redo()
  127. relink(const string cellName)
  128. removeCellArrays()
  129. removeNotOrthogonalCellref()
  130. removeOverlap()
  131. removeOverlap(int layer)
  132. removeRotatedCellArrays()
  133. removeScaledCellref()
  134. resetUndo()
  135. rotate(double angle)
  136. saveFile(string fileName)
  137. saveLayer(string fileName,int layer)
  138. saveScreenshot(string filename)
  139. scale()
  140. scale(double scale)
  141. scaleEins()
  142. scaleFull()
  143. scaleMinus()
  144. scalePlus()
  145. scale(point p1, point p2)
  146. scaleSelect()
  147. scrollDown()
  148. scrollLeft()
  149. scrollRight()
  150. scrollUp()
  151. searchPattern()
  152. sector()
  153. selectActiveLayer()
  154. selectAll()
  155. selectCellref(string cellname)
  156. selectText(string textname)
  157. selectVisible()
  158. setAutoGrid()
  159. setCap(int w)
  160. setCell(const string &cell)
  161. setCell(const cell *Cell)
  162. setGrid(int raster)
  163. setView(double scale,int x,int y)
  164. setWidth(int w)
  165. showGridToggle()
  166. sizeLayer(int layer, int size,int type=0)
  167. spiral()
  168. stripEmptyCells()
  169. stripIdenticalElements()
  170. stripUnneeded()
  171. swapLayerAll(int i,int k)
  172. swapLayerSelect(int i,int k)
  173. swapLayer(int i,int k)
  174. textDeselect()
  175. textSelect()
  176. text(string text)
  177. toBox()
  178. toCircle()
  179. toLines()
  180. toPath()
  181. toPolygon()
  182. undo()
  183. unusedLayer(int startLayer)
  184. updateFile(string file)
  185. useLayer(int layer)
  186. userunits

Detailed Description

Each layout main windows has exactly one object of the class drawingField. This object can be accessed via the class layout. In the drawingField all drawing relevant information are accessible. The basic setup is stored in userunits and databaseunits. The different cell are accessabe via firstCell. currentCell holds a point to the currently displayed cell. All members of the drawingField class are usable in a simplified form without braces, commas and semicolons from the commandline-toolbar. The characters are essential, if used in a macro.

Example:

   1 // set active layer
   2 layout->drawing->activeLayer=9;
   3 // create a box
   4 layout->drawing->point(220000,-140000);
   5 layout->drawing->point(380000,-260000);
   6 layout->drawing->box();
   7 //create a polygon
   8 layout->drawing->point(380000,-260000);
   9 layout->drawing->point(570000,-260000);
  10 layout->drawing->point(570000,-180000);
  11 layout->drawing->point(470000,-180000);
  12 layout->drawing->point(470000,-210000);
  13 layout->drawing->point(380000,-210000);
  14 layout->drawing->polygon();
  15 // change active layer
  16 layout->drawing->activeLayer=6;
  17 // create a path
  18 layout->drawing->point(380000,-140000);
  19 layout->drawing->point(470000,-140000);
  20 layout->drawing->point(470000,-180000);
  21 layout->drawing->path();

Member Function Documentation

int drawingField::activeLayer

This is the default layer, on which most of the operation take place.

void drawingField::addBoundingBox()

A bounding box of the prior entered points is add to the active layer.

cellList* drawingField::addCell()

Add a cell to the drawing. A pointer to the new cellList is returned.

void drawingField::addConvexPolygon()

A convex polygon around all prior entered point is added to the active layer.

void drawingField::alignBottom()

The bottom edge of the selected elements is aligned to the before entered point.

See also: AlignBottomMode

void drawingField::alignLeft()

The left edge of the selected elements is aligned to the before entered point.

See also: AlignLeftMode

void drawingField::alignRight()

The right edge of the selected elements is aligned to the before entered point.

See also: AlignRightMode

void drawingField::alignTop()

The top edge of the selected elements is aligned to the before entered point.

See also: AlignTopMode

void drawingField::alignValue(int dis)

Selected elements are moved so that the distance of the before entered points is set to d

See also: AlignValueMode

void drawingField::arc()

Add a arc path to the current cell. Three coordinates had to be entered before with the point command.

See also: ArcMode

void drawingField::arrayCopy(int nx, int ny)

If one coordinate was added before with the point() or p() command, selected elements are copyed in a array by p1.x() and p1.y(). If two coordinate were added before with the point() or p() command, selected elements are copyed and moved by (p2-p1).x() and (p2-p1).y().

void drawingField::bezier2()

Add a second order bezier path to the current cell. Three coordinates had to be entered before with the point command.

See also: Bezier2ndMode

void drawingField::bezier3()

Add a third order bezier path to the current cell. Four coordinates had to be entered before with the point command.

See also: Bezier3rdMode

void drawingField::box()

Add a box to the current cell. Two coordinates had to be entered before with the point command.

See also: BoxMode

void drawingField::boxDeselect()

All boxes in the current cell are deselected.

See also: BoxDeselect

void drawingField::boxSelect()

All visible boxes in the current cell are selected.

See also: BoxSelect

void drawingField::cDeselect()

If one coordinate was added before with the point or p command, the nearest cellref is deselected. If two coordinate were added before with the point or p command, all cellrefs in the region p1,p2 are deselected.

See also: CellDeselectMode

void drawingField::cSelect()

If one coordinate was added before with the point or p command, the nearest cellref is selected. If two coordinate were added before with the point or p command, all cellrefs in the region p1,p2 are selected.

See also: CellSelectMode

void drawingField::cellRef(string s)

Add a cellref to the current cell. One coordinate had to be entered before with the point command. This point is the reference point of the insert cellref.

There is no check for circular references. e.g. if you add a reference from cellA to cellB, but cellB has a cell reference to cellA, you may get trouble and the display of the design may fail.

See also: CellReferenceMode

void drawingField::cellrefarray(string s,int x, int y)

Add an array of cellref's to the current cell. Two coordinates have to be entered before calling this function using the point command. The first point is the reference point of the inserted array of cellref. The difference of the second point to the first point defines the spacing. Or in other words: the first point is the origin point the lower left reference of the array. The second point is the origin point of the second element from the bottom and the second element from the left. So the two points used in macro are identical with the two point you enter, when placing a array from the GUI.

The cellref is arrayed 'x' times in the x-dimension and 'y' time in the y-dimension.

There is no check for circular references. (see above drawingField::cellRef)

See also: CellReferenceArrayMode

void drawingField::cellUp()

A cell which uses the current cell is set as the current cell.

See also: CellUp

void drawingField::centerX()

Selected element are aligned to the entered point in the x axis.

See also: CenterXMode

void drawingField::centerXY()

Selected element are aligned to the entered point.

See also: CenterXYMode

void drawingField::centerY()

Selected element are aligned to the entered point in the y axis.

See also: CenterYMode

void drawingField::circle()

Add a circular polygon to the current cell. Two coordinates had to be entered before with the point command. The first entered point is the center, the second point mark the radius.

See also: CircleMode

void drawingField::circleBox()

Add a circular polygon to the current cell. Two coordinates had to be entered before with the point command. The two points mark a bounding square in which the circle is added.

See also: CircleFromBoxMode

void drawingField::circleFit()

Add a circular polygon to the current cell. The circle is fitted to the before entered points.

void drawingField::clearPoints()

Delete all entered point.

void drawingField::closeToPolygon()

Closes selected path elements to a polygon.

See also: ConvertToPolygon

void drawingField::closedPathToPolygon()

Converts selected path elements to a polygon, if the last point is identical with the first point.

See also: ClosedPathToPolygon

void drawingField::compareCell(string s)

Compares the current cell with the cell s. Non identical elements will be selected in both cells. All other elements will be deselected.

See also: CompareCell

void drawingField::compareCellXor(string cell)

Compares the current cell with cell. An XOR of each use layer will be made. The result will be added to a new cell. (introduced with version 20170429)

See also: CompareCell

void drawingField::copy()

If one coordinate was added before with the point() or p() command, selected elements are copyed and moved by p1. If two coordinate were added before with the point() or p() command, selected elements are copyed and moved by p2-p1.

See also: CopyMode

void drawingField::copyArea(rect r, int layerSource, int layerDest)

All shapes on sourceLayer touching or overlapping the given rectangle are copied to layerDest. The cell hierarchie is ingored and any shape in refered cell is copied as well. (introduced with version 20130714)

void drawingField::copyCurrentCell()

The current cell is copied. The copied cell is name oldcellname_copy.

See also: CopyCurrentCell

void drawingField::copyDimension(int minWidth, int maxWidth, int minLength, int maxLangth, int layerDest, int layerSource=-1)

Any shape having a dimension in the short side between minWidth and maxWidth and in the long side between minLength and maxLength will be copied to layerDest. The copy operation ignores hierarchie, so shapes in refered cell are copied as well. By specifying layerSource the copy operation will be limited on shapes on that layer.

(introduced with version 20130215)

void drawingField::copyLayer(int sourcelayer, int sourcedatatype, int destLayer)

All shapes on the sourcelayer having datatype in the hole design will be copied to the destlayer. If datatype is -1 all shape on sourcelayer will be copied.(introduced with version 20130613)

cell * drawingField::copyLayerToCell(int layer)

All shapes in the currentCell on layer will be copied to a new cell with the name currentCellName-layerName. Cellreferences will be handeled in the same way. A pointer to the new cell is returned. If the current Cell does not contain shapes on layer NULL is returned. (introduced with version 20151118)

void drawingField::copyMirror()

Selected elements are copied. The copies shapes are mirrored between p1 and p2. Two coordinates had to be added before with the point() or p() command.

void drawingField::copyOverlapping(int layerA,int layerB, int layerOutA, int layerOutB=-1)

Any shape on layerA overlapping with a shapes on layerB will be copied. The target layers are layerOutA and layerOutB. The copy operation will not be performed, if one of the correspondend output layer is negative. The copy operation ignores hierarchie, so shapes in refered cell are copied as well.

(introduced with version 20130215)

void drawingField::copyTouching(int layerA,int layerB, int layerOutA, int layerOutB=-1)

Any shape on layerA touching with a shapes on layerB will be copied. The target layers are layerOutA and layerOutB. The copy operation will not be performed, if one of the correspondend output layer is negative. The copy operation ignores hierarchie, so shapes in refered cell are copied as well.

(introduced with version 20130215)

void drawingField::copyTouchingOrOverlapping(int layerA,int layerB, int layerOutA, int layerOutB=-1)

Any shape on layerA overlapping or touching with a shapes on layerB will be copied. The target layers are layerOutA and layerOutB. The copy operation will not be performed, if one of the correspondend output layer is negative. The copy operation ignores hierarchie, so shapes in refered cell are copied as well.

(introduced with version 20130215)

void drawingField::crossSection()

Create a cross section view in a new cell between two prior entered points.

See also: CrossSection

void drawingField::crossSection(point p1, point p2)

Create a cross section view in a new cell between the point p1-p2.

See also: CrossSection

cell* drawingField::currentCell

This is a pointer on the cell displayed.

void drawingField::cut()

Selected elements between p1 and p2 are separated. Two coordinates had to be added before with the point() or p() command.

See also: CutMode

double drawingField::databaseunits

All coordinates are integer. This value is the factor of these integers to the real value.

See also: Setup

void drawingField::delPoint()

Delete the last entered point.

void drawingField::deleteAllCell()

All cells of the current design will be deleted. (introduced with version 20160101)

void drawingField::deleteCurrentCell()

The current cell is deleted.

See also: DeleteCell

void drawingField::deleteExceptOneLayer(int layer)

All element not on the layer "layer" will be delete in any cell of the current drawing. Text elements will even be deleted on this layers as it is ignored often in mask production. So the function is useful for preparing data for mask production. Use extractLayer instead to keep text elements.

See also: ExtractLayer

void drawingField::deleteLayer(int layer)

All shapes on the layer layer will be removed on in all cells of the design. (introduced with version 20120606)

void drawingField::deleteLayer(int layer, int datatype)

All shapes on the layer layer having datatype will be removed on in all cells of the design. (introduced with version 20130613)

void drawingField::deleteSelect()

Selected elements/points in the currentCell are deleted.

See also: Delete

void drawingField::deleteText()

All text elements will be deleted in all cells of the design. (introduced with version 20120606)

void drawingField::deleteZeroWidthPath()

All path elements with a width of zero or less will be deleted in all cells of the design. (introduced with version 20130224)

void drawingField::deselectActiveLayer()

All elements on the active layer are deselected.

void drawingField::deselectAll()

All elements in the current cell are deselected.

See also: DeselectAll

void drawingField::densityFill(int layer, double density, int shapeSpace, int minWidth, int minSpace, int frameSize)

layer will be filled with shapes to an density (in procent). minWidth and minSpace are the minimum dimension of added shapes, which will have a minimum distance to existing shapes of shapeSpace. (introduced with version 20140113)

See also: DensityFill

void drawingField::dot()

Add a box to the current cell. Two coordinates had to be entered before with the point command.The first point is the center point, the second point is a corner point.

void drawingField::ellipse()

Add a ellipse to the current cell. Two coordinates had to be entered before with the point command. The two points mark a bounding square in which the ellipse is added.

bool drawingField::existCellname(string s)

Returns: true if a cell with the name s exist.

void drawingField::extractActiveLayer()

Obsolete please use extractLayer and deleteText instead.

All element on another than the active layer will be deleted. Text elements will be delete even on this layer.

void drawingField::extractLayer(int layer)

All elements not on the layer "layer" will be delete in any cell of the current drawing. (introduced with version 20120606)

See also: ExtractLayer

void drawingField::extractCurrentCell()

The current is flatten multilevel and all other cell are removed

void drawingField::fAllDeselect()

If two coordinate were added before with the point or p command, all element in the region p1,p2 are deselected. All Points of the element must be inside the region.

void drawingField::fAllSelect()

If two coordinate were added before with the point or p command, all element in the region p1,p2 are selected. All Points of the element must be inside the region.

void drawingField::fDeselect()

If one coordinate was added before with the point or p command, the nearest element is deselected. If two coordinate were added before with the point or p command, all element in the region p1,p2 are deselected.

void drawingField::fSelect()

If one coordinate was added before with the point or p command, the nearest element is selected. If two coordinate were added before with the point or p command, all element in the region p1,p2 are selected.

string drawingField::fileType

Gives information on the type of the file, if it was loaded.

cell* drawingField::findCell(string s)

Returns: pointer to the cell with name s. Null if the name does not exist.

cell* drawingField::findTopCell()

Returns: cell which is not referred by an other cell.

cellList* drawingField::firstCell

This is a list of all cells in the drawing.

void drawingField::flat()

Selected cellrefs and cellrefarrays are flatten.

void drawingField::flatAll()

Selected cellrefs and cellrefarrays are flatten. If the the cellrefs contain more cellrefs, they are flatten as well.

pointArray drawingField::getPoints()

Returns: a pointArray of all previous entered points with the point, pointRel, p, pRel and mouse entered points. (introduced with version 20141229)

void drawingField::getView(double *scale,int *x,int *y)

The current view is returned: scale and the drawing position at the screen center p(x,y).

int drawingField::gridMinimum

If an automatic grid is used, the grid will never less this value.

int drawingField::gridOffsetX

This member holds the actual grid-offset in X in drawingunits

int drawingField::gridOffsetY

This member holds the actual grid-offset in Y in drawingunits

int drawingField::gridX

This member holds the actual X-grid in drawingunits

int drawingField::gridY

This member holds the actual Y-grid in drawingunits

bool drawingField::gridauto

If this member is true, the grid is automaticly change after changing the scale.

void drawingField::group()

All selected elements are moved to a new cell. A correlating cellref will be added. If a identical cell exists, a cellref to this cell is added and the selected elements are deleted.

int drawingField::groupGlobal()

All selected elements are moved to a new cell. A correlating cellref will be added. If a identical cell exists, a cellref to this cell is added and the selected elements are deleted. Identical structures in complete library are also replaced by a cellref. The number of replaced structures is returned.

void drawingField::groupSimple()

All selected elements are moved to a new cell. A correlating cellref will be added.

int drawingField::groupStructure()

All selected elements are moved to a new cell. A correlating cellref will be added. If a identical cell exists, a cellref to this cell is added and the selected elements are deleted. Identical structures in the current cell are also replaced by a cellref. The number of replaced structures is returned.

void drawingField::importFile(string filename)

The filename is added to the current design. So the list of all cell in the design is extended by the cells in filename. Aleady existing cells with identical name and identical contants are not imported.

See also: AttachFile

void drawingField::invertSelect()

The selection in the current cell is inverted.

string drawingField::libname

Name of this libary as used in GDS-file or OASIS-file.

void drawingField::mapLayer(layerTranslator *t)

all elements are maped with layerTranslator t.

void drawingField::mergeSelect()

Selected elements in the currentCell are merged. The orginal shape is use to build the path to inner polygons. The function works for a small amount of elements. Use the booleanHandler to merge a large amount of element.

void drawingField::mirror()

Selected elements are mirror between p1 and p2. Two coordinates had to be added before with the point() or p() command.

bool drawingField::modified()

Returns: true ,if the design was modifies after the last save

(until version 20130504 this feature was only part of the python interface)

void drawingField::move()

If one coordinate was added before with the point() or p() command, selected elements are moved by p1. If two coordinate were added before with the point() or p() command, selected elements are moved by p2-p1.

void drawingField::moveLayer(int sourceLayer, int sourcedatatype, int destLayer)

All shapes on the sourceLayer having sourcedatatype in the hole design will be moved to the destLayer. (introduced with version 20130613)

void drawingField::moveOrigin()

The orgin of the current cell is move to the prior entered point. All references to this cell are adjusted.

void drawingField::moveX()

Selected elements are moved in x axis by p2-p1. Two coordinates had to be added before with the point() or p() command.

void drawingField::moveY()

Selected elements are moved in y axis by p2-p1. Two coordinates had to be added before with the point() or p() command.

void drawingField::newCell()

A new empty cell will be added, named with an unused cell name and it is set as current cell.

cell * drawingField::oaFindCell(string libName,string cellName,string viewName,stringList parameterName=stringList(),stringList parameterValue=stringList() )

Returns: a pointer to the OpenAccess cell specified. If the cell is not yet loaded it will be loaded. With parameterName and parameterValue a parametric cell can be created. A Null pointer is returned in the case the cell does not exist or OpenAccess is not available. (introduced with version 20161217)

string drawingField::oaGetCellName(string libName,string cellName,string viewName,stringList parameterName=stringList(),stringList parameterValue=stringList() )

Returns: the name of the OpenAccess cell specified. If the cell is not yet loaded it will be loaded. With parameterName and parameterValue a parametric cell can be created. An empty string is returned in the case the cell does not exist or OpenAccess is not available. (introduced with version 20161217)

void drawingField::openFile(string filename)

A file with the name filename is opened. The previous design will be closed.

void drawingField::openView(string library,string cellName,string viewName)

opens the given openaccess view as layout

void drawingField::pDeselect()

If one coordinate was added before with the point or p command, the nearest point is deselected. If two coordinate were added before with the point or p command, all points in the region p1,p2 are deselected.

void drawingField::pDir(double length,double dir)

Set the Command Mode and add the point p(length,dir) in user units relative to the last point entered. Dir is the angle to the x-axis.

void drawingField::pMove(double x,double y)

The last entered point is moved by point p(x,y) in user units.

void drawingField::pRel(double x,double y)

Set the Command Mode and add the point p(x,y) in user units relative to the last point entered. The first entered point is set absolute.

void drawingField::pSelect()

If one coordinate was added before with the point or p command, the nearest point is selected. If two coordinate were added before with the point or p command, all points in the region p1,p2 are selected.

void drawingField::path()

Add a path to the current cell. Two coordinates had to be entered before with the point command.

void drawingField::pathDeselect()

All path elements in the current cell are deselected.

void drawingField::pathSelect()

All visible path elements in the current cell are selected.

void drawingField::p(double x,double y)

Set the Command Mode and add the point p(x,y) in user units.

void drawingField::pointMove(int x,int y)

The last entered point is moved by point p(x,y).

void drawingField::pointMove(point p)

The last entered point is moved by point p(x,y).

void drawingField::point(point p)

Set the Command Mode and add the point p.

void drawingField::point(int x,int y)

Set the Command Mode and add the point p(x,y) in drawing units.

void drawingField::pointRel(int x,int y)

Set the Command Mode and add the point p(x,y) in drawing units relative to the last point entered. The first entered point is set absolute.

void drawingField::pointRel(point p)

Set the Command Mode and add the point p relative to the last point entered. The first entered point is set absolute.

void drawingField::polygon()

Add a polygon to the current cell. Three coordinates had to be entered before with the point command.

void drawingField::polygonArc()

Add a arc polygon to the current cell. Three coordinates had to be entered before with the point command.

void drawingField::polygonDeselect()

All polygons in the current cell are deselected.

void drawingField::polygonSelect()

All visible polygons in the current cell are selected.

void drawingField::prepareUndo()

Save the cell for the next undo.

string drawingField::previousCell

The name of the cell used before the current cell.

void drawingField::redo()

Revoke the last undo.

void drawingField::relink(const string cellName)

Selected cell references in the current cell are relinked to a cell with the name cellName. There are no checks for circular references. A circular reference may cause a programm crash.

Parameter:

cellName Selected cell references in the current cell are relinked to a cell with this name.

void drawingField::removeCellArrays()

All cell array references in the design are flatten to cell references.

void drawingField::removeNotOrthogonalCellref()

remove not ortogonal cellrefs

void drawingField::removeOverlap()

removes overlap of shape on the active layer

void drawingField::removeOverlap(int layer)

removes overlap of shape on layer

See also: RemoveOverlap

void drawingField::removeRotatedCellArrays()

Cell array with a rotation to the referred cell are removed by added a further hierarchy level with a rotated reference to a cell with an unrotated array. (introduced with version 20150513)

void drawingField::removeScaledCellref()

remove scaled cellrefs

void drawingField::resetUndo()

Reset the last undo.

void drawingField::rotate(double angle)

Selected elements are rotate by angle at a point prior added with the point() or p() command.

Parameter:

angle rotating angle in deg. Selected elements are rotate by angle at a point prior added with the point() or p() command.

void drawingField::saveFile(string fileName)

The drawing is saved to fileName. All file types are supported. The file type is detected by the extension of the fileName.

void drawingField::saveLayer(string fileName,int layer)

The layer of the current design is save to fileName. Only file types supporting a single layer only are possible like Gerber. The file type is detected by the extension of the fileName. (introduced with version 20141128)

void drawingField::saveScreenshot(string filename)

The screen will be saved in the file with the name filename. The type is selected by the extension.

void drawingField::scale()

Scales the selected shapes in the current cell. Three coordinates had to be added before with the point() or p() command. The first point is the origin. The second point is the source point which will be scaled to the threeentered point the destination point.

void drawingField::scale(double scale)

Scales the selected shapes in the current cell. One coordinate has to be added before with the point() or p() command. The entered point is the origin point which will not be moved. scale is the scaling factor.

void drawingField::scaleEins()

The current view is scaled to 1 drawingunit to 1 pixel

void drawingField::scaleFull()

The display scale is adjusted to the size of the drawing.

void drawingField::scaleMinus()

The scale is decreased,

void drawingField::scalePlus()

The scale is increased,

void drawingField::scale(point p1, point p2)

The current view is scaled so that the rectangular created by both point is visible with the maximal size.

void drawingField::scaleSelect()

The display scale is adjusted to the size of all selected elements.

void drawingField::scrollDown()

The current view is scrolled down.

void drawingField::scrollLeft()

The current view is scrolled left.

void drawingField::scrollRight()

The current view is scrolled right.

void drawingField::scrollUp()

The current view is scrolled up.

void drawingField::searchPattern()

Searches pattern identical to the marked pattern. The search pattern is marked by a selected box. Found pattern are marked in a identical way. (introduced with version 20130201)

See also: SearchPattern

void drawingField::sector()

Add a sector polygon to the current cell. Three coordinates had to be entered before with the point command.

void drawingField::selectActiveLayer()

All elements on the active layer are selected.

void drawingField::selectAll()

All elements in the current cell are selected.

void drawingField::selectCellref(string cellname)

All cellref to cells named cellname are selected

void drawingField::selectText(string textname)

All text elements having the text 'textname' are selected.

void drawingField::selectVisible()

All visible elements in the current cell are deselected.

void drawingField::setAutoGrid()

Activate the autogrid.

void drawingField::setCap(int w)

In selected path elements the caps is set to w. (0 for no cap, 1 for round caps, 2 for square caps)

bool drawingField::setCell(const string &cell)

Set the Cell with the name cell to the currentCell. currentCell is set to the new set cell. If a cell with the name cell does not exists, the current cell is not changed.

Parameter:

cell cellname of the cell to be displayed. Set the Cell with the name cell to the currentCell. currentCell is set to the new set cell.

Returns: true if the cell name exists and setting was successfull (introduced with version 20130306, void was returned before )

void drawingField::setCell(const cell *Cell)

Set the Cell to the currentCell. currentCell is set to the new set cell.

Parameter:

cell pointer to the cell to be displayed. Set the Cell to the currentCell. currentCell is set to the new set cell.

void drawingField::setGrid(int raster)

The grid in x and y axis (gridX, gridY) is set to raster. The gridoffset (gridOffsetX, gridOffsetY) is reseted.

Parameter:

raster grid in databaseunits The grid in x and y axis (gridX, gridY) is set to raster. The gridoffset (gridOffsetX, gridOffsetY) is reseted.

void drawingField::setView(double scale,int x,int y)

The current view is set to the scale. The screen center is set to the drawing position p(x,y).

void drawingField::setWidth(int w)

The width of selected path and text elements is set to w.

Parameter:

w width in databaseunits. The width of selected path and text elements is set to w.

void drawingField::showGridToggle()

Show/hide the visibility of the grid.

See also: ShowGrid

void drawingField::sizeLayer(int layer, int size,int type=0)

All shapes on layer in the hole design will be scaled by size. (introduced with version 20130613) type will set the type of sizing analog to the Sizeadjust feature. (introduced with version 20170126)

void drawingField::spiral()

Add a spiral path to the current cell. Three coordinates had to be entered before with the point command.

See also: SpiralMode

void drawingField::stripEmptyCells()

All cell empty cells which out any shape and without any cell reference are deleted.

See also: StripEmptyCells

void drawingField::stripIdenticalElements()

If the current cell contains two identical elements at the same position, it is impossible to see it. This function will detect this and remove one of the element.

See also: StripIdenticalElements

void drawingField::stripUnneeded()

All cells not needed in the current cell are removed.

See also: StripUnneeded

void drawingField::swapLayerAll(int i,int k)

This function swap the layers i and k in all cells of the current drawing.

void drawingField::swapLayerSelect(int i,int k)

This function swap the layers i and k of the selected elements in the current cell.

void drawingField::swapLayer(int i,int k)

This function swap the layers i and k in the current cell.

void drawingField::textDeselect()

All text elements in the current cell are deselected.

See also: TextDeselect

void drawingField::textSelect()

All visible text elements in the current cell are selected.

See also: TextSelect

void drawingField::text(string text)

Add a text to the current cell. One coordinate had to be entered before with the point command.

See also: TextMode

void drawingField::toBox()

Selected polygons are converted to a box-element if possible.

See also: ConvertToBox

void drawingField::toCircle()

Converts selected polygon and box elements to a circle. The circle is fitted in all existing points of the element.

See also: ConvertToCircle

void drawingField::toLines()

Converts selected path elements to a path for each segment of the path.

See also: ConvertToLines

void drawingField::toPath()

Converts selected element to pathes with it outline.

See also: ConvertToPath

void drawingField::toPolygon()

Converts selected element to polygon. The appearance will not change.

See also: ConvertToPolygon

void drawingField::undo()

Undo the last modification.

See also: Undo

int drawingField::unusedLayer(int startLayer)

Returns: the first unused layer in the current design. The search is started at startLayer. If no unused layer is found, -1 is returned.

(introduced with version 20130618)

void drawingField::updateFile(string file)

Cells with the same cellname with cell in the file are replaced by the cell of this file.

See also: UpdateCells

bool drawingField::useLayer(int layer)

Returns: true if layer is used in the current design, otherwise false.

double drawingField::userunits

All values in the main widget are displayed in a user unit. This variable userunit is store in the same way as it is stored in the GDSII file format: as the number of database units in a user unit. So to calculate the size of a user unit in meters, divide the database unit by the this variable userunit.

See also: Setup

See also


CategoryMacroClass


MacroClassDrawingField (last edited 2017-04-29 17:35:37 by JurgenThies)