The InsideOutside.vbs script reports on objects with coordinates inside or outside a specified rectangular area and aids the user in removing unwanted objects not readily seen on the screen. This will generate an "InsideOutside.txt" file to the pcb\LogFiles directory allowing it to be viewed using Expedition's FileViewer and will automatically open it in the system's default text editor upon completion. It will report the Object's Type, Name, (Number of Coordinates) to aid in looking for polygons with insufficient number of coordinates, or, a Text's [Width/Height] to aid in looking for oversized texts, and an X/Y location of the coordinate found to be inside or outside the area (only one pt - x,y - is reported per object). In the case of Text, the Extrema bounds is also checked.
Upon Execution of the script, the user will be prompted for the desired Mode: 1=Report Only, 2=Interactive Delete, 3=Auto Delete.
The user will also be promted to Check: 1=Inside Area, 2=Outside Area
The script will then prompt and wait for two mouse clicks (not drag) to define the rectangular area and will draw and fill the rectangle before executing its search. It will remove this rectangle when the script completes.
Initial intent was to look for objects outside of the intended design area. For instance, things causing Fit View to be oversized, or anomolies in the Gerber Plot.
This script is written for Document Collections as defined in EE7.9u5, hence execution in previous releases that do not contain a certain collection requires modification of the "CheckInOutsideRect" Subroutine. For instance, if your Expedition Version does not have BondPads then you would comment out or remove the line
"If Not checkPt(dObj,pcbDoc.BondPads,"Bond pad",True) Then Exit Sub
Version 2: Added Support for execution in Cell Editor. If there is no existing user layer on which to draw the rectangle, script will create one called "InsideOutside", but the display control will be off so you will not see the rectangle as in normal operation. It will remove this user layer after run.
Version 3: Fixed capability to delete Dimensions.
Version 4: Fixed problem with opening notepad in Win7
Version 5: Fixed Capability to report and delete Glue Spots. These can only be removed from within Cell Editor but will now be reported in Expedition & Cell Editor.
Version 6: Added Capability to report Geometry LineWidths <= 0 by inserting an "*" before NumPts e.g. "(*5)" indicates 5 pts of zero linewidth. Hence, you could search the resulting document for "(*" if you wanted to search for <=0 LineWidth items.
Version 7: Added capability for user to control Precision of coordinates for cleaner printout - At the top of the script, Modify the Const PRECISION to change the number of digits after the decimal (currently set at 4). Depending on your Display Units, you may need to modify the Const XYSPACE to correctly reflect the total number digits in a coordinate (currently set at 12). Added reporting of the Cell Owner of an object via its Refdes and/or CellName. Enhanced column alignment of the Object Name. Added new object TestFixture Outline which updates the script to 7.9.4 objects level.
Version 8: Fixed bugs related to single point objects (Component and Text).
Version 9: Fixed reporting of Component GlueSpot's Owner.
Version 10: Added Capability to report and delete Groups based on a groups center location.
Version 11: Removed the reporting of Unplaced Components and their objects.