IStep Class

IStep contains all functions working with steps. This is one of the most important classes to work with PCB-Investigator interface, you need it for getting layers, nets and components.

Definition

Namespace: PCBI.Automation
Assembly: PCB-Investigator (in PCB-Investigator.exe) Version: 0
C#
public class IStep : InterfaceStep
Inheritance
Object    IStep
Implements
InterfaceStep

Properties

IsProductionStep Production steps marked with PCBI_ProductionTool in source_name to ignore them for exports and checks.
IsRootStep If the step have no children steps it is a root step.
Name The name of the step.
Notes List of iNotes attached to the Step or single Layers

Methods

ActivateLayersAndOptimizeNetView Activate all signal net layers. Then it zooms to the selected area and activateDrawOnlySelectedMode (does not selecting the net, use SelectNetElements for this).
ActivateNetLayers Activate all signal net layers.
ActivateStep Change to current Step. Reorder the steplist internal in PCB-Investigator.
ActivateStep(Boolean) Change to current Step. Reorder the steplist internal in PCB-Investigator. With option to update controls (if you have no visible instance of IPCBIWindow it is not necessary to update the controls).
AddChildStep Add single step as child to current step.
AddDrillFile Import Drill Files with Drill Table (Excellon)
AddExcellonLayer Reads Excellon 1/2 file, errors are reported in the ErrorLog.
AddGerberLayer(String, Boolean) Reads Gerber or Excellon data, errors are reported in the ErrorLog. Here is a example how to use this method: http://www.pcb-investigator.com/en/how-create-report-gerber-files
AddGerberLayer(String, Boolean, FormatTypes, Int32, Int32, NullableBoolean, Boolean, Boolean, omit_zeros_t) Reads Gerber or Excellon data, errors are reported in the ErrorLog.
AddGerberLayer(String, Boolean, FormatTypes, Int32, Int32, NullableBoolean, Boolean, Boolean, omit_zeros_t, Boolean) Reads Gerber or Excellon data, errors are reported in the ErrorLog.
AddGerberLayer(String, Boolean, FormatTypes, GerberImportParameter, Int32, Int32, NullableBoolean, Boolean, Boolean, omit_zeros_t, Boolean) Reads Gerber or Excellon data, errors are reported in the ErrorLog.
AddGerberLayer(String, Boolean, FormatTypes, Int32, Int32, NullableBoolean, Boolean, Boolean, omit_zeros_t, Boolean, Boolean) Reads Gerber or Excellon data, errors are reported in the ErrorLog.
AddGerberLayer(String, Boolean, FormatTypes, GerberImportParameter, Int32, Int32, NullableBoolean, Boolean, Boolean, omit_zeros_t, Boolean, Boolean) Reads Gerber or Excellon data, errors are reported in the ErrorLog.
AddGerberLayer(String, Boolean, FormatTypes, GerberImportParameter, Int32, Int32, NullableBoolean, Boolean, Boolean, omit_zeros_t, Boolean, Boolean, Boolean, Boolean) Reads Gerber or Excellon data, errors are reported in the ErrorLog.
AddNet Add a new Net.
AddODBNote Add a new ODB++ Note to a layer
AddPackage(InterfacePackageSpecificsD) Add an single package to the step, by saving the job it will be added to the ODB++ eda file.
AddPackage(IPackageSpecifics) Add an single package to the step, by saving the job it will be added to the ODB++ eda file.
AddPackage(IPackageSpecificsD) Add an single package to the step, by saving the job it will be added to the ODB++ eda file.
AddStepAttribute Add attribute to current step (if unit depending, then mils)
AOIHighResolutionBMPExport(ListInterfaceODBLayer, ListBoolean, String, RectangleF, Boolean, Boolean, Int32, AOIMatrixSize, Boolean, Boolean) A seperate licence is necessary to use AOI! Creates a Bitmap from all layer in LayerList.
AOIHighResolutionBMPExport(ListIODBLayer, ListBoolean, String, RectangleF, Boolean, Boolean, Int32, AOIMatrixSize, Boolean, Boolean) A seperate licence is necessary to use AOI! Creates a Bitmap from all layer in LayerList.
AOIHighResolutionBMPExport(ListInterfaceODBLayer, ListBoolean, String, RectangleF, Boolean, Boolean, Int32, AOIMatrixSize, Boolean, Boolean, Int32, Boolean, IPCBIWindowProgressChanged) A seperate licence is necessary to use AOI! Creates a Bitmap from all layer in LayerList.
AOIHighResolutionBMPExport(ListIODBLayer, ListBoolean, String, RectangleF, Boolean, Boolean, Int32, AOIMatrixSize, Boolean, Boolean, Int32, Boolean, IPCBIWindowProgressChanged) A seperate licence is necessary to use AOI! Creates a Bitmap from all layer in LayerList.
AOIHighResolutionBMPExport(ListInterfaceODBLayer, ListBoolean, String, RectangleF, Boolean, Boolean, Int32, AOIMatrixSize, Boolean, Boolean, Int32, Boolean, Boolean, IPCBIWindowProgressChanged, Int32, Int32) A seperate licence is necessary to use AOI! Creates a Bitmap from all layer in LayerList.
AOIHighResolutionBMPExport(ListIODBLayer, ListBoolean, String, RectangleF, Boolean, Boolean, Int32, AOIMatrixSize, Boolean, Boolean, Int32, Boolean, Boolean, IPCBIWindowProgressChanged, Int32, Int32) 
AOIHighResolutionMemoryExport(MemoryStream, ICMPLayer, RectangleD, Int32, Boolean, Color, Int32, Int32, IPCBIWindowProgressChanged) A seperate licence is necessary to use AOI! Fills the MemoryStream with rgb image data (3 bytes/pixel). Layer-Color is used. Components are drawn with a filled body, without pins and without any label
AOIHighResolutionMemoryExport(MemoryStream, InterfaceCMPLayer, RectangleD, Int32, Boolean, Color, Int32, Int32, IPCBIWindowProgressChanged) A seperate licence is necessary to use AOI! Fills the MemoryStream with rgb image data (3 bytes/pixel). Layer-Color is used. Components are drawn with a filled body, without pins and without any label
AOIHighResolutionMemoryExport(MemoryStream, InterfaceODBLayer, RectangleD, Int32, Int32, Boolean, AOIMatrixSize, Boolean, Boolean, Color, Boolean, Int32, Int32, IPCBIWindowProgressChanged) A seperate licence is necessary to use AOI! Fills the MemoryStream with rgb image data (3 bytes/pixel). Layer-Color is used.
AOIHighResolutionMemoryExport(MemoryStream, IODBLayer, RectangleD, Int32, Int32, Boolean, AOIMatrixSize, Boolean, Boolean, Color, Boolean, Int32, Int32, IPCBIWindowProgressChanged) A seperate licence is necessary to use AOI! Fills the MemoryStream with rgb image data (3 bytes/pixel). Layer-Color is used.
AOIHighResolutionTIFExport(ListInterfaceODBLayer, ListBoolean, String, RectangleD, Int32, AOIMatrixSize, Int32, Boolean, Int32, Int32, IPCBIWindowProgressChanged) A seperate licence is necessary to use AOI! Creates a TIF from all layer in LayerList.
AOIHighResolutionTIFExport(ListIODBLayer, ListBoolean, String, RectangleD, Int32, AOIMatrixSize, Int32, Boolean, Int32, Int32, IPCBIWindowProgressChanged) A seperate licence is necessary to use AOI! Creates a TIF from all layer in LayerList.
AOIHighResolutionTIFExport(ListInterfaceODBLayer, ListBoolean, String, RectangleD, Int32, AOIMatrixSize, Int32, Boolean, Boolean, Int32, Int32, IPCBIWindowProgressChanged) A seperate licence is necessary to use AOI! Creates a TIF from all layer in LayerList.
AOIHighResolutionTIFExport(ListIODBLayer, ListBoolean, String, RectangleD, Int32, AOIMatrixSize, Int32, Boolean, Boolean, Int32, Int32, IPCBIWindowProgressChanged) A seperate licence is necessary to use AOI! Creates a TIF from all layer in LayerList.
CalculateBoardArea Calculate the area of the board in mils.
CleanPackageList Remote all unused packages from current step (eda file).
ClearSelection Deselects all elements on the step. This is for all layers in the current step, other steps are not touched.
ClearSelection(Boolean) Deselects all elements on the step.
DeactivateAllOverlays Deactivates all active layer overlays
DeSelectContactNetCMPs Deselect the choosen CMPs in contact with the net.
DeSelectNetElements Deselect the choosen net.
DrawColoredImage Create image from clipping rectangle, the background is white for this image.
ExportGerberLayersInOneFile(ListIODBLayer, IFileData, Int32, Int32, Boolean, Boolean, Boolean, SpecialSymbolGerberExportEnum, PanelGerberExportEnum, Boolean, Boolean) Save all layerobjects as gerberfile to the fullPath location.
ExportGerberLayersInOneFile(ListIODBLayer, IFileData, Int32, Int32, Boolean, Boolean, Boolean, SpecialSymbolGerberExportEnum, PanelGerberExportEnum, Boolean, Boolean, Boolean) Save all layerobjects as gerberfile to the fullPath location.
ExportIPC356 Exports the step as IPC356 with the given options
FlattenStep(String) The step will be flatted, all repeated objects from other steps are placed on the new step.
FlattenStep(String, Boolean) The step will be flatted, all repeated objects from other steps are placed on the new step.
FlattenStep(String, Boolean, Boolean, Char) The step will be flatted, all repeated objects from other steps are placed on the new step.
FlattenStep(String, Boolean, Boolean, Int32, Char) The step will be flatted, all repeated objects from other steps are placed on the new step.
FlattenStep(String, Boolean, Boolean, Int32, Char, Int32) The step will be flatted, all repeated objects from other steps are placed on the new step.
FlattenStepOnlySpecificLayers(String, Boolean, ListString) The step will be flatted, all repeated objects from other steps are placed on the new step. But only for the layers in LayerNamesToFlatten list (use names toLower).
FlattenStepOnlySpecificLayers(String, Boolean, ListString, Int32) The step will be flatted, all repeated objects from other steps are placed on the new step. But only for the layers in LayerNamesToFlatten list (use names toLower).
GetActiveLayerList Get all active layers, contains not visible layers. It's possible to check the layers in layerlist without drawing them (e.g. for using to calculate distances without showing all elements).
GetAllCMPObjects Get All used CMPs on top and bot CMP layer.
GetAllCMPObjects(Boolean) Get All used CMPs on top and bot CMP layer.
GetAllCMPObjectsByReferenceDictionary Create a dictionary for all components with key = reference.
GetAllCMPsWithNetConnectionTo Calculate a list of all components on the net.
GetAllLayerNames Get all layer names.
GetAllNetNames Returns a list of all net names. If names double defined they added more than one time, depending on there net number.
GetAllNetNrs Create a list with all net numbers. They sorted in order as in ODB++ defined.
GetAllPackages Creates a list of all packages in the ODB-Step. Including all packages from the eda file including all component packages who not used.
GetAllPackagesD Creates a list of all packages in the ODB-Step. Including all packages from the eda file including all component packages who not used.
GetAllPackagesD(Boolean) Creates a list of all packages in the ODB-Step. Including all packages from the eda file including all component packages who not used.
GetBitmap(ListILayer, RectangleF, Int32, Int32) Gets a bitmap for the chosen rectangle area, expands the chosen area if it is too small.
GetBitmap(ListInterfaceLayer, RectangleF, Int32, Int32) Gets a bitmap for the chosen rectangle area, expands the chosen area if it is too small.
GetBitmap(IDrawingParameters, RectangleF, Int32, Int32, RectangleF) Gets a bitmap for the chosen rectangle area, expands the choosen area if it is too small.
GetBitmap(ListILayer, RectangleF, Int32, Int32, Boolean) Gets a bitmap for the chosen rectangle area, expands the choosen area if it is too small.
GetBitmap(ListILayer, RectangleF, Int32, Int32, RectangleF) Gets a bitmap for the chosen rectangle area, expands the choosen area if it is too small.
GetBitmap(ListInterfaceLayer, RectangleF, Int32, Int32, Boolean) Gets a bitmap for the chosen rectangle area, expands the choosen area if it is too small.
GetBitmap(ListInterfaceLayer, RectangleF, Int32, Int32, RectangleF) Gets a bitmap for the chosen rectangle area, expands the choosen area if it is too small.
GetBitmap(IDrawingParameters, RectangleF, Int32, Int32, RectangleF, CancellationToken) Gets a bitmap for the chosen rectangle area, expands the choosen area if it is too small.
GetBitmap(ListILayer, RectangleF, Int32, Int32, Boolean, Boolean) Gets a bitmap for the chosen rectangle area, expands the choosen area if it is too small.
GetBitmap(ListILayer, RectangleF, Int32, Int32, Boolean, Color) Gets a bitmap for the chosen rectangle area, expands the choosen area if it is too small.
GetBitmap(ListInterfaceLayer, RectangleF, Int32, Int32, Boolean, Boolean) Gets a bitmap for the chosen rectangle area, expands the choosen area if it is too small.
GetBitmap(ListInterfaceLayer, RectangleF, Int32, Int32, Boolean, Color) Gets a bitmap for the chosen rectangle area, expands the choosen area if it is too small.
GetBitmap(ListILayer, RectangleF, Int32, Int32, Boolean, Boolean, Boolean) Gets a bitmap for the chosen rectangle area, expands the choosen area if it is too small.
GetBitmap(ListILayer, RectangleF, Int32, Int32, Boolean, Color, Boolean) Gets a bitmap for the chosen rectangle area, expands the choosen area if it is too small.
GetBitmap(ListInterfaceLayer, RectangleF, Int32, Int32, Boolean, Boolean, Boolean) Gets a bitmap for the chosen rectangle area, expands the choosen area if it is too small.
GetBitmap(ListInterfaceLayer, RectangleF, Int32, Int32, Boolean, Color, Boolean) Gets a bitmap for the chosen rectangle area, expands the choosen area if it is too small.
GetBitmap(ListILayer, RectangleF, Int32, Int32, Boolean, Boolean, Boolean, Boolean) Gets a bitmap for the chosen rectangle area, expands the choosen area if it is too small.
GetBitmap(ListInterfaceLayer, RectangleF, Int32, Int32, Boolean, Boolean, Boolean, Boolean) Gets a bitmap for the chosen rectangle area, expands the choosen area if it is too small.
GetBitmap(ListILayer, RectangleF, Int32, Int32, Boolean, Boolean, Boolean, Boolean, Boolean, RectangleF) Gets a bitmap for the chosen rectangle area, expands the choosen area if it is too small.
GetBitmap(ListInterfaceLayer, RectangleF, Int32, Int32, Boolean, Boolean, Boolean, Boolean, Boolean, RectangleF) Gets a bitmap for the chosen rectangle area, expands the choosen area if it is too small.
GetBounds Get the profile bounds of this step, or if there is no profile, the data bounds (including all substeps).
GetBoundsD Get the profile bounds of this step, or if there is no profile, the data bounds (including all substeps).
GetBoundsD(Boolean) Get the profile bounds of this step or the data bounds (including all substeps).
GetChildStepClasses Creates a list of all step and repeat classes that contained in this step.
GetChildSteps Creates a list of all uses stepnames.
GetChildSteps(Boolean) Creates a list of all uses stepnames.
GetCMPLayer Get a CMP-layer, depending on Top or Bot. This returns null if no such layer exists!
GetDatumStepHDR Get the step header datum point. This value is only used for step and repeat positions (has no effect for standard root steps).
GetDetailImage Create a detail view image from the selected rectangle.
GetDistanceBetweenGerberNets Calculate the distance of the edges between the net of NetNr1 and the net of NetNr2.
GetDistanceBetweenNets Calculate the distance of the edges between the net of NetNr1 and the net of NetNr2. This methode is only for ODB-Data with netinformation!
GetDistanceLayerToLayer Calculate distance between two layers, it use all layers between exclude the start and end layer. It's important to have start layer before end layer (do use matrix order in correct sequence).
GetHeightOfLayer(String) Get Height of layer from layer attributes, this is depending on the matrix layer type. For dielectric layers is a other attribute relevant (.layer_dielectric) and for copper layers it use .copper_weight. All values are in mils.
GetHeightOfLayer(String, MatrixLayerType) Get Height of layer from layer attributes, this is depending on the matrix layer type. For dielectric layers is a other attribute relevant (.layer_dielectric) and for copper layers it use .copper_weight. All values are in mils.
GetLayer Returns an ILayer with its LayerName or null if the layer doesn't exist.
GetLayerAsync Asynchronius loading of layer. This can be dangoures! Please use only if you have experiance with async methods.
GetLayerAttribute Search for attribute of the relevant layer and return it or give an empty string if it dosn't contain the attribute name.
GetLayerAttributes Load and get back layer attributes (if unit depending, then mils)
GetLoadedLayerList Get all layers, which are already loaded by the user at this time
GetNet(Int32) Search for an net with NetNumber.
GetNet(String) Search for an net with NetName.
GetNet(String, Boolean) Search for an net with NetName.
GetNetCount Check the netlist for count of nets in this step (no child steps included!).
GetNetNameFromNetNr Search for the right name to the NetNr.
GetNetNrFromNetName(String) Search for the right number to the NetName.
GetNetNrFromNetName(String, Boolean) Search for the right number to the NetName.
GetNets Creates a List of INet objects for all netdate in the ODB++-Job.
GetODBNotes Gets the list of existing ODB++ Notes
GetOriginStepHDR Get the step header origin point. This value is only used for step and repeat positions (has no effect for standard root steps).
GetOutsideODBLayer(Boolean) Get the top or bottom odb layer. Dielectric layers are ignored for searching bottom signal layer.
GetOutsideODBLayer(Boolean, Boolean) Get the top or bottom odb layer.
GetPCBOutline Creates the GraphicsPath of the ODB++ step outline.
GetPCBOutlineAsODBObject Return the PCBoutline as Surface or null.
GetPCBOutlineAsSurface Creates an ISurfaceSpecifics from the PCB-Outline.
GetPCBOutlineAsSurfaceD Creates an ISurfaceSpecifics from the PCB-Outline.
GetPCBOutlineList Creates the List of objects from the ODB++ step outline.
GetPCBOutlinePoly Creates a unioned Polygon of all Profile Objects
GetSelectedCMPs Creates a list of all selected ICMPObjects in this step.
GetSelectedCMPsCount The count of selected CMPs.
GetSelectedElements Creates a list of all selected IODBObjects in this step.
GetSelectedElementsCount The count of selected elements.
GetStepAttributes Step attributes as strings (if unit depending, then mils)
GetVisibleLayerList Get all visible layers (there are differnece between active layers and visible layers, you can test this by clickling the checkbox in the layerlist).
IsLayerFileEmptyOrMissing This method checks whether a feature file is existing and check the size for 0 KB. If there is a file with some information (not necessary elements on the layer) it returns false.
MirrorPCBOutline Mirror the PCB contour in this step
MovePCBOutline Move the PCB contour in this step.
RemoveNetList Remove net list from current step.
RemovePackage(InterfacePackageSpecificsD) Remove package from current ODB++ structure (eda file of this step). It's important that no component use the relevant package. This method use the selected package name to identify components on the PCB for usage.
RemovePackage(IPackageSpecificsD) Remove package from current ODB++ structure (eda file of this step). It's important that no component use the relevant package. This method use the selected package name to identify components on the PCB for usage.
RotatePCBOutline Rotate the PCB contour clockwise or counterclockwise.
SaveDXFFile(String, ListInterfaceLayer, Boolean, Boolean, Boolean, Boolean, Double, Boolean, Boolean, Boolean) [Obsolete] Create DXF File for Layerlist with some parameters and colors are used from layer (only some DXF colors supported e.g. red, grey, yellow...).
SaveDXFFile(String, ListILayer, Boolean, Boolean, Boolean, Boolean, Double, Boolean, Boolean, Boolean, Boolean) [Obsolete] Create DXF File for Layerlist with some parameters and colors are used from layer (only some DXF colors supported e.g. red, grey, yellow...).
SaveImageFromActiveLayerList Draws an image to hard disk.
SelectContactNetCMPs Select the choosen CMPs in contact with the net.
SelectNetCrossover Select Net and all connected nets and all neighbor.
SelectNetElements(Int32) Select all objects of the choosen net.
SelectNetElements(String) Select all objects of the choosen net.
SelectNetElements(String, Boolean) Select all objects of the choosen net.
SetChildSteps(ListIStepStepAndRepeatClass) Set the steps to repeate in this step, all child steps must have a existing name to repeat them. Be carefull with using this method, the list of existing step and repeat elements are cleard at the beginning. If you want to add a new step to existing steps use "AddChildStep".
SetChildSteps(ListIStepStepAndRepeatClass, Boolean) Set the steps to repeate in this step, all child steps must have a existing name to repeat them. Be carefull with using this method, the list of existing step and repeat elements are cleard at the beginning. If you want to add a new step to existing steps use "AddChildStep".
SetDatumStepHDR Set the datum fot step header. This is used for Step and Repeat in other steps where this is a child step.
SetHeightOfLayer(String, Double) Set height of layer in mils.
SetHeightOfLayer(String, MatrixLayerType, Double) Set height of layer in mils.
SetLayerAttribute(String, String, String) Set an layer attribute value, in ODB++ all attributes start with "." and use lower cases.
SetLayerAttribute(String, String, String, Boolean) Set an layer attribute value, in ODB++ all attributes start with "." and use lower cases.
SetOriginStepHDR Set the origin of step header. This is used for Step and Repeat in other steps where this is a child step.
SetPCBOutline(InterfacePolyClass, Boolean) Set the PCB contour from an list with single Poly Class objects.
SetPCBOutline(InterfaceSurfaceSpecificsD, Boolean) Set the PCB contour from a ISurfaceSpecifics.
SetPCBOutline(IPolyClass, Boolean) Set the PCB contour from an list with single Poly Class objects.
SetPCBOutline(ISurfaceSpecifics, Boolean) Set the PCB contour from a ISurfaceSpecifics.
SetPCBOutline(ISurfaceSpecificsD, Boolean) Set the PCB contour from a ISurfaceSpecifics.
SetPCBOutline(ListInterfaceODBObject, Boolean) Set the PCB contour from an list with single objects.
SetPCBOutline(ListIODBObject, Boolean) Set the PCB contour from an list with single objects.
SetPCBOutline(ListInterfaceODBObject, Boolean, Double) Creates the outline from a list of objects.
SetPCBOutline(ListIODBObject, Boolean, Double) Creates the outline from a list of objects.
SplitNet(ListInt32) Split nets in pieces, if there are more than one element group in the net(s).
SplitNet(ListString) Split nets in pieces, if there are more than one element group in the net(s).
ToString
(Overrides ObjectToString)
TurnOffAllLayer All layers will be turned off.
TurnOffAllLayer(Boolean) All layers will be turned off.
UnflattenArcsForProfile Try to find line combinations to create arcs out of them.
UnloadLayer(ILayer) Unload layer e.g. to save RAM.
UnloadLayer(InterfaceLayer) Unload layer e.g. to save RAM.
UpdateNetComponentConnection Updates the component pin net information according to the copper net information.
UpdateStepInformation Update all Step information and lists in PCB-Investigator.
WriteIPCFile Export a file in IPCD356 format with all net information (including cmp connections).

Extension Methods

CreateGuid
(Defined by GUIDExtensions)
GetGuid
(Defined by GUIDExtensions)
GetMatrixListforAllStepAndRepeatChilds Create a list with one matrix foreach placing of one step in the step and repeat (recursion). You get a matrix to transform each element in the IStep->layer to get entries in this panel.
(Defined by VirtualStepAndRepeatExtensions)
GetPropValue
(Defined by ExtensionsMethods)
GetTransformedOutlinePolyClassesForChildSteps Get all polyclasses for each outline of sub steps for this panel.
(Defined by VirtualStepAndRepeatExtensions)
SwitchPackagesToIPCNorm
(Defined by ModifyPackagesForIPC)

See Also