PCB Matrix Format
by Numerical Innovations, Inc. (www.numericalinnovations.com)
CamMatrixDoxy.h
1
42
43//----------------------------------------------------------------------------------//
44//----------------------------------------------------------------------------------//
45//----------------------------------------------------------------------------------//
46
73
74
75//----------------------------------------------------------------------------------//
76
93
94//----------------------------------------------------------------------------------//
95
123
124//----------------------------------------------------------------------------------//
125
314
315//----------------------------------------------------------------------------------//
316
373
374//----------------------------------------------------------------------------------//
375
403
404//----------------------------------------------------------------------------------//
405//Dialog Box: <DIALOGBOX></DIALOGBOX>
406//----------------------------------------------------------------------------------//
407
484
485
486//----------------------------------------------------------------------------------//
487//Message Box: <MESSAGEBOX></MESSAGEBOX>
488//----------------------------------------------------------------------------------//
489
535
536
537//----------------------------------------------------------------------------------//
538//PROMPT DIALOG:
539//----------------------------------------------------------------------------------//
540
565
566
567//----------------------------------------------------------------------------------//
568//MULTIPLE FILE SELECTION:
569//----------------------------------------------------------------------------------//
570
612
613//----------------------------------------------------------------------------------//
614//FOLDER SELECTION:
615//----------------------------------------------------------------------------------//
616
643
644
645//----------------------------------------------------------------------------------//
646//Apertures Table:
647//----------------------------------------------------------------------------------//
648
656
657
658//----------------------------------------------------------------------------------//
659// NC Tools Table:
660//----------------------------------------------------------------------------------//
661
669
670
671//----------------------------------------------------------------------------------//
672// SMT Paste Table:
673//----------------------------------------------------------------------------------//
674
682
683
684//----------------------------------------------------------------------------------//
685// Layers Table:
686//----------------------------------------------------------------------------------//
687
711
712
713//----------------------------------------------------------------------------------//
714// Blind and Buried Via Setup:
715//----------------------------------------------------------------------------------//
716
724
725
726//----------------------------------------------------------------------------------//
727// Command Console
728//----------------------------------------------------------------------------------//
729
739
740
741//----------------------------------------------------------------------------------//
742// Clear Console
743//----------------------------------------------------------------------------------//
744
754
755
756//----------------------------------------------------------------------------------//
757//WAIT CURSOR
758//----------------------------------------------------------------------------------//
759
766
767//----------------------------------------------------------------------------------//
768
775
776//----------------------------------------------------------------------------------//
777//----------------------------------------------------------------------------------//
778//----------------------------------------------------------------------------------//
779//TODO: ADD REMAINING ITEM TYPES and TEST
780/*
781<tr><td>EditPoint <td colspan="2">
782<tr><td>EditPathWidth <td colspan="2">
783<tr><td>EditAngle <td colspan="2">
784<tr><td>EditScale <td colspan="2">
785<tr><td>EditColCnt <td colspan="2">
786<tr><td>EditRowCnt <td colspan="2">
787<tr><td>EditColSpace <td colspan="2">
788<tr><td>EditRowSpace <td colspan="2">
789<tr><td>EditTextHeight <td colspan="2">
790<tr><td>EditTextXScale <td colspan="2">
791<tr><td>EditTextString <td colspan="2">
792<tr><td>EditBoxHeight <td colspan="2">
793<tr><td>EditBoxWidth <td colspan="2">
794
795<tr><td>ComboLayer <td colspan="2">
796<tr><td>ComboLayerAll <td colspan="2">
797<tr><td>ComboLayerNc <td colspan="2">
798<tr><td>ComboLayerMetal <td colspan="2">
799
800<tr><td>ComboLayerMarkup <td colspan="2">
801<tr><td>ComboLayerBoolean <td colspan="2">
802<tr><td>ComboLayerType <td colspan="2">
803<tr><td>ComboComposite <td colspan="2">
804<tr><td>ComboNotComposite <td colspan="2">
805<tr><td>ComboUnits <td colspan="2">
806<tr><td>ComboPoints <td colspan="2">
807<tr><td>ComboPathType <td colspan="2">
808<tr><td>ComboShape <td colspan="2">
809<tr><td>ComboInsert <td colspan="2">
810<tr><td>ComboTextStyle <td colspan="2">
811<tr><td>ComboTextJustify <td colspan="2">
812<tr><td>ComboTextExternal <td colspan="2">
813<tr><td>ComboTextBarcode <td colspan="2">
814<tr><td>ComboTextFonts <td colspan="2">
815<tr><td>ComboRouteElements <td colspan="2">
816<tr><td>ComboOrient <td colspan="2">
817<tr><td>ComboCellviewType <td colspan="2">
818<tr><td>ComboLibs <td colspan="2">
819<tr><td>ComboCells <td colspan="2">
820<tr><td>ComboJobs <td colspan="2">
821<tr><td>ComboViews <td colspan="2">
822<tr><td>ComboTechs <td colspan="2">
823<tr><td>ComboMaterial <td colspan="2">
824<tr><td>ComboRouteDir <td colspan="2">
825<tr><td>ComboLayerOP <td colspan="2">
826<tr><td>ComboFindType <td colspan="2">
827<tr><td>ComboPrinters <td colspan="2">
828<tr><td>ComboPrinterNames <td colspan="2">
829<tr><td>ComboApertures <td colspan="2">
830<tr><td>ComboAperturesCustom <td colspan="2">
831<tr><td>ComboCompLevel <td colspan="2">
832<tr><td>ComboComponents <td colspan="2">
833<tr><td>ComboComponentType <td colspan="2">
834<tr><td>ComboFootprints <td colspan="2">
835<tr><td>ComboFootprintLibrary <td colspan="2">
836<tr><td>ComboTools <td colspan="2">
837<tr><td>ComboToolCompensation <td colspan="2">
838<tr><td>ComboClockwise <td colspan="2">
839<tr><td>ComboBoolean <td colspan="2">
840<tr><td>ComboYesNo <td colspan="2">
841<tr><td>ComboNets <td colspan="2">
842<tr><td>ComboPriceFormula <td colspan="2">
843<tr><td>ComboPinType <td colspan="2">
844<tr><td>ComboPinEType <td colspan="2">
845<tr><td>ComboPinMType <td colspan="2">
846
847<tr><td>PopupLayerSelection <td colspan="2">
848<tr><td>PopupPointSelection <td colspan="2">
849<tr><td>PopupComboLibs <td colspan="2">
850<tr><td>PopupComboCells <td colspan="2">
851<tr><td>PopupPoints <td colspan="2">
852<tr><td>PopupChooseFont <td colspan="2">
853<tr><td>PopupComboLayerSubtypeAll <td colspan="2">
854<tr><td>PopupComboLayerSubtypeRout <td colspan="2">
855<tr><td>PopupComboLayerSubtypeDrill <td colspan="2">
856<tr><td>PopupComboLayerSubtypeSoldermask <td colspan="2">
857<tr><td>PopupComboLayerSubtypeMask <td colspan="2">
858<tr><td>PopupComboLayerSubtypeDocument <td colspan="2">
859<tr><td>PopupComboLayerSubtypeFlex <td colspan="2">
860<tr><td>PopupComboLayerSubtypeConductivePaste <td colspan="2">
861<tr><td>PopupComboLayerSubtypeDielectric <td colspan="2">
862*/
863
893
894//----------------------------------------------------------------------------------//
895//Display Commands: <ZOOMALL /> <ALL_LAYERS_ON />
896//----------------------------------------------------------------------------------//
897
920
921//----------------------------------------------------------------------------------//
922
942
943//----------------------------------------------------------------------------------//
944
1527
1528//----------------------------------------------------------------------------------//
1529
1585
1586//----------------------------------------------------------------------------------//
1587
1600
1601
1602//----------------------------------------------------------------------------------//
1603// Short Cuts
1604//----------------------------------------------------------------------------------//
1605
1622
1623//----------------------------------------------------------------------------------//
1624
1644
1645//----------------------------------------------------------------------------------//
1646
1657
1658//----------------------------------------------------------------------------------//
1659
1667
1668//----------------------------------------------------------------------------------//
1669
1677
1678//----------------------------------------------------------------------------------//
1679
1687
1688//----------------------------------------------------------------------------------//
1689
1697
1698//----------------------------------------------------------------------------------//
1699
1707
1708//----------------------------------------------------------------------------------//
1709
1717
1718
1719//----------------------------------------------------------------------------------//
1720
1728
1729//----------------------------------------------------------------------------------//
1730
1739
1740//----------------------------------------------------------------------------------//
1741
1750
1751
1752//----------------------------------------------------------------------------------//
1753
1761
1762
1763//----------------------------------------------------------------------------------//
1764
1771
1772
1773//----------------------------------------------------------------------------------//
1774
1782
1783
1784//----------------------------------------------------------------------------------//
1785
1793
1794
1795//----------------------------------------------------------------------------------//
1796
1811
1812//----------------------------------------------------------------------------------//
1813
1821
1822//----------------------------------------------------------------------------------//
1823
1849
1850//----------------------------------------------------------------------------------//
1851//----------------------------------------------------------------------------------//
1852//----------------------------------------------------------------------------------//
1853
1879
1880//----------------------------------------------------------------------------------//
1881/*
1882TODO: <tr><td>INCLUDE_JOBS=NAME <td colspan="2">Optional. Job names in the workspace to be included. Must be comma separated. (Default is All Jobs are included). <br>
1883*/
1884
1942
1943//----------------------------------------------------------------------------------//
1944//----------------------------------------------------------------------------------//
1945//----------------------------------------------------------------------------------//
1946
2011
2012//----------------------------------------------------------------------------------//
2013
2218
2219//----------------------------------------------------------------------------------//
2220
2265
2266//----------------------------------------------------------------------------------//
2267
2298
2299//----------------------------------------------------------------------------------//
2300
2334
2335
2336
2370
2371
2421
2422
2447
2448
2475
2476
2742
2743/*
2744Unlimited DFM rules:
2745
2746NOUNS:
2747BOARD OUTLINE (OLN), BOARD CUTOUT (CO), TRACE (TRACE), LINE (LINE), SHAPE (SHP), VIA-PAD (VIAPD), Via Hole (VIAHL), PIN (PN),
2748PIN-PAD (PNPD), THRU PIN-PAD (THPNPD), SMD pin (SMDPN), Slot Pad (SLTPD), Tooling Hole Pad (TOOLHLPD), Mounting Hole Pad (MNTHLPD),
2749Non-plated hole (NPH), Non-Signal Geometry (NSG), Plated Mechanical-Hole (PMECHHL), Mechanical-Hole (NPMECHHL), Text (TEXT)
2750Mechanical-Hole (MECHHL), Anti-Pad (ANTIPD), TAPERS, FILLETS, Plane (neg/pos)?, Tented Vias, Bline-buried Via Pad (BBVIAPD),
2751Micro Via Pad (UVIAPD), THRU VIA PIN-HOLE (THRPIN_HOLE), THRU VIA-HOLE (THRVIA_HOLE), BB VIA-HOLE (BBVIA_HOLE),
2752Micro Via Hole (MICROVIA_HOLE), Plated Tooling Hole (PTOOLHL), Back Drill Pin Hole (BDLPNHL),
2753Back Drill Via Hole (BDLVIAHL), Non-signal Shape (NSS), Fiducial (FDCL), Mechanical-Hole Pad (MECHLPD),
2754Plated Mounting Hole(PMNTHL), Pin Pad(PINPD), Thru Via Pad(THRUVIA_PAD), Plated Slot Hole(PSLOT),
2755Non-Plated Slot Hole (NPSLTHL), Non-Plated Tooling Hole (NPTOOLHL), Non-Plated Mounting Hole (NPMNTHL),
2756
2757
2758
2759Noun Options:
2760Outline <> Cutout
2761Plated <> Non-Plated
2762Top <> Bottom <> Both
2763Pad <> Hole
2764Neg <> Pos
2765Mechanical <> Electrical
2766Signal <> Non-signal
2767
2768
2769
2770Pin means: Component pin
2771
2772
2773VERBS:
2774TO, CLEARANCE, SIZE, AREA, OVERLAY, VALUE, MISSING, PARTCOV (Partially covered), ANTENNA?, ANGLE
2775
2776USAGE:
2777Etch (i.e has net), Non-Etch (no net), Stackup (physical board and cutouts), Spacing (components), Height (components)
2778
2779
27803 Constraint Sections:
2781DFF (Design for Fabrication)
2782DFA (Design for Assembly)
2783DFT (Design for Test)
2784
2785
2786Each constraint set has 7 main categories:
2787Outline (OLN)
2788Mask (MSK)
2789Annular Ring (AR)
2790Copper Features (CF)
2791Copper Spacing (CS)
2792Silkscreen (SLKSCR)
2793Unlimited (UN)
2794
2795
2796DFF Constraint Set hierarchy:
2797DFF > Category > Check Name > Value
2798
2799
2800Cadence abbreviations:
2801DFF_OLN_TO_TRACE (DFF > Outline > Outline to Trace)
2802DFF_OLN_TO_SHP (DFF > Outline > Outline to Shape)
2803DFF_OLN_TO_VIAPD (DFF > Outline > Outline to Via Pad)
2804DFF_OLN_CO_TO_CO (DFF > Outline > Cutout to Cutout)
2805DFF_OLN_CO_TO_NSG (DFF > Outline > Cutout to All Non-Signal Geometry)
2806
2807DFF_AR_PNHL_TOPD (DFF > Annular Ring > Pin Hole to Pad)
2808DFF_SLKSCR_VIAPD (DFF > Silkscreen > All Via Pads)
2809
2810--------------------------------------------------------
2811
2812DFM RULES THEORY:
2813Outline to trace
2814[NOUN] [VERB] [SECONDARY] [VALUE] --- [ADJECTIVES...]
2815
2816[NOUN] (Subject) Primary Check Object "Outline": Outline,
2817[VERB] (Action) To, Distance, Spacing, Clearance, Overlaps, Less than, Greater than, etc..
2818[ADVERB] (Details/Describe a verb)??
2819[OBJECT] Secondary noun "trace". May be optional.
2820[VALUE] Physical distance, True/False, Angle, etc.
2821[ADJECTIVE] (Description/Attrib) Unlimited: Layers, Nets, Bounds (XY Locations), Filter(s)
2822Just by adding unlimited adjectives, the DFM Checks now become infinite and specific.
2823
2824
2825DFM Stacks Theory:
28261. Keep same DFM Rules - but apply against different [ADJECTIVES]
28272. Stack common checks together.
2828
2829
2830AVAILABLE DFM Rules:
2831*3 Purposes: DFF, DFA, DFT
2832
2833Use SMART Filters (represent with RegEx line)
28341. Be able to pinpoint any single object (due solely to SMART filter)
2835- Missing Dynamic Layer Types
2836- Missing Dynamic Layer SubTypes
2837
2838
2839*/
2840
2841
2842/**********************! \page matrix-dfm-constraints DFMCONSTRAINTS array
2843<b>MATRIX Array Level: 1</b> <br>
2844
2845Assigns PCB Manufacturing Rules and Constraints. <br>
2846Includes 300+ of the Most Common and Popular DFM Checks! <br>
2847
2848@note DFM Constraints are separated into 3 Sections: <br>
2849@note <b>DFF (Design for Fabrication)</b> <br>
2850@note <b>DFA (Design for Assembly)</b> <br>
2851@note <b>DFT (Design for Test)</b> <br>
2852
2853
2854<br>
2855@note Each constraint fits into 7 main classes:<br>
2856@note <b>Outline (OLN)</b><br>
2857@note <b>Mask (MSK)</b><br>
2858@note <b>Annular Ring (AR)</b><br>
2859@note <b>Copper Features (CF)</b><br>
2860@note <b>Copper Spacing (CS)</b><br>
2861@note <b>Silkscreen (SLKSCR)</b><br>
2862@note <b>Unlimited (UN)</b><br>
2863
2864
2865<table>
2866<caption>Fields in the DFMCONSTRAINTS array</caption>
2867<tr><th> <th>Description
2868<tr><td>Name=REF_NAME <td colspan="2">Required. Reference name for this DFM Constraints array.
2869<tr><td>Units=MIL|MM <td colspan="2">Required. Units to use for this DFM Constraints array. Must be either: MIL or MM.
2870
2871</table>
2872
2873Example DFMCONSTRAINTS Array:
2874
2875<b>XML example:</b>
2876@code
2877<DfmConstraints name="4 Layers Standard" units="mil" / >
2878 <DFF subject="OLN" verb="TO" noun="TRACE" noun1="" layers="[mask]" title="Outline to Trace" value="7.7" check="true" fix="false" />
2879 <DFF subject="OLN" verb="TO" noun="SHP" layers="[mask]" title="Outline to Shape" value="5.0" check="false" fix="false" />
2880 <DFF subject="OLN" verb="TO" noun="PNPD" layers="[mask]" title="Outline to Pin Pad" value="7.7" check="true" fix="false" />
2881 <DFF subject="OLN" verb="TO" noun="PNPD" layers="[mask]" title="Outline to Pin Pad" value="7.7" check="true" fix="false" />
2882</DfmConstraints>
2883@endcode
2884
2885
2886*/
2887
2888//----------------------------------------------------------------------------------//
2889
2890/*
2891DFM RULES THEORY:
2892Outline to trace
2893[NOUN] [VERB] [SECONDARY] [VALUE] --- [ADJECTIVES...]
2894
2895[NOUN] (Subject) Primary Check Object "Outline": Outline,
2896[VERB] (Action) To, Distance, Spacing, Clearance, Overlaps, Less than, Greater than, etc..
2897[ADVERB] (Details/Describe a verb)??
2898[OBJECT] Secondary noun "trace". May be optional.
2899[VALUE] Physical distance, True/False, Angle, etc.
2900[ADJECTIVE] (Description/Attrib) Unlimited: Layers, Nets, Bounds (XY Locations), Filter(s)
2901Just by adding unlimited adjectives, the DFM Checks now become infinite and specific.
2902
2903
2904
2905
2906
2907AVAILABLE DFM Rules:
2908*3 Purposes: DFF, DFA, DFT
2909
2910Use SMART Filters (represent with RegEx line)
29111. Be able to pinpoint any single object (due solely to SMART filter)
2912- Missing Dynamic Layer Types
2913- Missing Dynamic Layer SubTypes
2914*/
2915
2916
2917/**********************! \page matrix-dfm-stacks DFMSTACKS array
2918<b>MATRIX Array Level: 1</b> <br>
2919
2920DFM Stacks provide a structured method to reuse existing DFM Constraints and Stacks, and apply them with other FILTERS.<br>
2921Just by adding unlimited stacks with Filters, the DFM Check rules now become infinite!<br>
2922
2923@note DFM Stacks Theory:
2924@note 1. Keep reusable DFM Constraints - but apply against different [FILTERS]
2925@note 2. Stack common checks together.
2926
2927<br>
2928
2929<table>
2930<caption>Fields in the DfmStacks array</caption>
2931<tr><th> <th>Description
2932<tr><td>Name=REF_NAME <td colspan="2">Required. Reference name for this DFM Constraints array.
2933<tr><td>Units=MIL|MM <td colspan="2">Required. Units to use for this DFM Constraints array. Must be either: MIL or MM.
2934
2935</table>
2936
2937Example DfmStacks Array:
2938
2939<b>XML example:</b>
2940@code
2941<DfmStacks name="primary">
2942 <constraint name="Mask Pads" filter="filter" bounds="left,bottom,right,top" / >
2943 <constraint name="Critical Topside BGA" net="GND*" / >
2944 <constraint name="4 Layer" bounds="left,bottom,right,top" / >
2945 <dfm_stack name="secondary" / >
2946</DfmStacks>
2947
2948@endcode
2949
2950
2951*/
2952
2953
2954/*******************************! \page shortcut-dfm-unlimited UNLIMITED DFM Rules
2955
2956Unlimited DFM Rules permit you to adapt your existing DFM Verification process by creating new DFM Rules.<br>
2957
2958@note Unlimited DFM Rules are constucted in a familiar sentence-like structure, and at minimum must contain both a Noun and Verb.<br>
2959
2960<br>Unlimited DFM Rules requirements:<br>
2961
2962- \subpage matrix-constraint-nouns "SUBJECT and NOUNS (Primary and Secondary Objects)"
2963- \subpage matrix-constraint-verbs "VERBS array (Open compressed files)"
2964
2965*/
2966
2967
2968
2969/********************************! \page matrix-constraint-nouns SUBJECT and NOUNS
2970
2971Here's a listing of the available subject and nouns for the Contstraints array.
2972
2973@note The Subject is the primary object in a defined constraint. There can only be one subject. Required.
2974@note Nouns are the secondary objects in a defined constraint, and up to 4 nouns may be defined: noun, noun2, noun3, noun4<br>
2975
2976<br>
2977<table>
2978<tr><th>NOUN <th>Description
2979<tr><td>OLN <td colspan="1"> BOARD Outline
2980<tr><td>CO <td colspan="1"> BOARD Cutout
2981<tr><td>TRACE <td colspan="1"> TRACE
2982<tr><td>LINE <td colspan="1"> LINE
2983<tr><td>SHP <td colspan="1"> SHAPE
2984<tr><td>VIAPD <td colspan="1"> VIA-PAD
2985<tr><td>VIAHL <td colspan="1"> Via Hole
2986<tr><td>PN <td colspan="1"> PIN
2987<tr><td>PNPD <td colspan="1"> PIN-PAD
2988<tr><td>THPNPD <td colspan="1"> THRU PIN-PAD
2989<tr><td>SMDPN <td colspan="1"> SMD pin
2990<tr><td>SLTPD <td colspan="1"> Slot Pad
2991<tr><td>TOOLHLPD <td colspan="1"> Tooling Hole Pad
2992<tr><td>MNTHLPD <td colspan="1"> Mounting Hole Pad
2993<tr><td>NPH <td colspan="1"> Non-plated hole
2994<tr><td>NSG <td colspan="1"> Non-Signal Geometry
2995<tr><td>PMECHHL <td colspan="1"> Plated Mechanical-Hole
2996<tr><td>NPMECHHL <td colspan="1"> Non-Plated Mechanical-Hole
2997<tr><td>TEXT <td colspan="1"> Text
2998<tr><td>MECHHL <td colspan="1"> Mechanical-Hole
2999<tr><td>ANTIPD <td colspan="1"> Anti-Pad
3000<tr><td>TAPERS <td colspan="1"> TAPERS
3001<tr><td>FILLETS <td colspan="1"> FILLETS
3002<tr><td>Plane <td colspan="1"> Plane
3003<tr><td>VIATNT <td colspan="1"> Tented Vias
3004<tr><td>BBVIAPD <td colspan="1"> Blind-buried Via Pad
3005<tr><td>UVIAPD <td colspan="1"> Micro Via Pad
3006<tr><td>THRPIN_HOLE <td colspan="1"> THRU VIA PIN-HOLE
3007<tr><td>THRVIA_HOLE <td colspan="1"> THRU VIA-HOLE
3008<tr><td>BBVIA_HOLE <td colspan="1"> BB VIA-HOLE
3009<tr><td>MICROVIA_HOLE <td colspan="1"> Micro Via Hole
3010<tr><td>PTOOLHL <td colspan="1"> Plated Tooling Hole
3011<tr><td>BDLPNHL <td colspan="1"> Back Drill Pin Hole
3012<tr><td>BDLVIAHL <td colspan="1"> Back Drill Via Hole
3013<tr><td>NSS <td colspan="1"> Non-signal Shape
3014<tr><td>FDCL <td colspan="1"> Fiducial
3015<tr><td>MECHLPD <td colspan="1"> Mechanical-Hole Pad
3016<tr><td>PMNTHL <td colspan="1"> Plated Mounting Hole
3017<tr><td>PINPD <td colspan="1"> Pin Pad
3018<tr><td>THRUVIA_PAD <td colspan="1"> Thru Via Pad
3019<tr><td>PSLOT <td colspan="1"> Plated Slot Hole
3020<tr><td>NPSLTHL <td colspan="1"> Non-Plated Slot Hole
3021<tr><td>NPTOOLHL <td colspan="1"> Non-Plated Tooling Hole
3022<tr><td>NPMNTHL <td colspan="1"> Mechanical-Hole Pad
3023<tr><td>MECHLPD <td colspan="1"> Non-Plated Mounting Hole
3024
3025</table>
3026
3027
3028<br>
3029
3030*/
3031
3032//----------------------------------------------------------------------------------//
3033
3034/*********************************! \page matrix-constraint-verbs VERBS
3035
3036Here's a listing of the available verbs (action) for the Contstraints array.
3037
3038@note Verbs control the type of check performed on the Subject and any other Objects (i.e Nouns)
3039
3040
3041<table>
3042<tr><th>VERB <th>Description
3043<tr><td>TO <td colspan="1"> Distance to <noun>
3044<tr><td>CLEARANCE <td colspan="1"> Spacing for <Subject>
3045<tr><td>SIZE <td colspan="1"> Dimensions of <Subject>
3046<tr><td>AREA <td colspan="1"> Area of <Subject>
3047<tr><td>OVERLAY <td colspan="1"> Covers <Noun>
3048<tr><td>VALUE <td colspan="1"> Value for <Subject>
3049<tr><td>MISSING <td colspan="1"> Existance of <Subject>
3050<tr><td>PARTCOV <td colspan="1"> Partially covered <Subject>
3051<tr><td>ANTENNA <td colspan="1"> Antenna of <Subject>
3052
3053</table>
3054*/
3055
3056//----------------------------------------------------------------------------------//
3057
3124
3125
3170
3171
3213
3553
3554
3897
3898
3900// TRANSFORM
3902
3903/*
3904<tr><td>*POLAR_ARRAY=X,Y,DX,DY,SET <td colspan="2">Arrays selected objects by a specified center point and angle to fill.
3905<tr><td>*STAGGERED_ARRAY=X,Y,DX,DY,SET <td colspan="2">Arrays selected objects in a staggered (hexagon) pattern. Typically used to optimize circular objects.
3906<tr><td>*DEEMBED=SET <td colspan="2">Automatically solves the polygon-inside-polygon fill problem for selected objects.
3907<tr><td>*EXPLODE=SET <td colspan="2">Explode selected objects.
3908<tr><td>*BOOLEAN=MODE,SET1,SET2 <td colspan="2">Perform 2D boolean operations on two selection sets: AND,OR,XOR,Subtract.
3909<tr><td>*OFFSET=DISTANCE,SET <td colspan="2">Create parallel paths, lines, polygons and arcs - from selected objects.
3910*/
3911
3912
3949
3950
3952// BOOLEAN
3954
4025
4027// FABRICATION
4029
4030/*
4031<tr><td>COPPER_POUR=Clearance,MinSize,Method,Fill,Pattern,Layer,FilltoEdge,SET <td colspan="2">
4032<tr><td>PINHOLE_ELIMINATION=MinSize,SET <td colspan="2">
4033<tr><td>GENERATE_NC_LAYER=SOURCE_LAYER <td colspan="2">
4034<tr><td>GENERATE_NEGATIVE_LAYER=SOURCE_LAYER <td colspan="2">
4035<tr><td>GENERATE_MASK_LAYER=CLEARANCE <td colspan="2">
4036<tr><td>GENERATE_PASTE_LAYER=CLEARANCE <td colspan="2">
4037<tr><td>GENERATE_FAB_DRAWING=DRILL_LAYER <td colspan="2">
4038*/
4039
4258
4259
4261// ASSEMBLY
4263
4338
4339
4341// SMT_STENCIL
4343
4469
4470
4472// Selection / Filter
4474
4518
4615
4616
4658
4659
4699
4701// EXPORT
4703
4704
4766
4767
4842
4843
4879
4880
4913
4914
4947
4948
4989
4990
5030
5031
5067
5068
5103
5104
5140
5141
5142
5203
5204
5252
5253
5254
5281
5282
5283//----------------------------------------------------------------------------------//
5284//----------------------------------------------------------------------------------//
5285//----------------------------------------------------------------------------------//
5286
5323
5324//----------------------------------------------------------------------------------//
5325
5326/*
5327TODO:
5328<tr><td>DrillSmallest=VALUE <td colspan="2"> <br><br>
5329<tr><td>DrillDensity=VALUE <td colspan="2"> <br><br>
5330<tr><td>RoutScoring=VALUE <td colspan="2"> <br><br>
5331<tr><td>FlyingProbeTesting=VALUE <td colspan="2"> <br><br>
5332<tr><td>RoHs=VALUE <td colspan="2"> <br><br>
5333<tr><td>CutoutsCount=VALUE <td colspan="2"> <br><br>
5334<tr><td>SlotsCount=VALUE <td colspan="2"> <br><br>
5335<tr><td>CountersinkCount=VALUE <td colspan="2"> <br><br>
5336<tr><td>CounterboreCount=VALUE <td colspan="2"> <br><br>
5337<tr><td>GoldFingersCount=VALUE <td colspan="2"> <br><br>
5338<tr><td>GoldFingersThickness=VALUE <td colspan="2"> <br><br>
5339<tr><td>ControlledImpedanceCount=VALUE <td colspan="2"> <br><br>
5340<tr><td>ControlledImpedanceTolerance=VALUE <td colspan="2"> <br><br>
5341<tr><td>CarbonInk=VALUE <td colspan="2"> <br><br>
5342<tr><td>EdgePlatingSides=VALUE <td colspan="2"> <br><br>
5343<tr><td>FilledViasCount=VALUE <td colspan="2"> <br><br>
5344<tr><td>FilledViasNonConductiveCount=VALUE <td colspan="2"> <br><br>
5345
5346*/
5347
5348
5349
5664
5665
5666//Extra Options not yet included
5667/*
5668<tr><td><b>OASIS Options:</b><td colspan="2">
5669<tr><td>oasis-import_cell=NAME <td colspan="2">OASIS top cell to convert.
5670<tr><td>oasis-import_separate_datatypes <td colspan="2">Separate layer for each layer/type.
5671
5672<tr><td><b>BITMAP Rasterize Options:</b><td colspan="2">
5673<tr><td>bmp-import_dpi=NUM <td colspan="2">Import Bitmap Resolution - Pixels Per Inch. (default: 800.0)
5674<tr><td>bmp-import_dpm=NUM <td colspan="2">Import Bitmap Resolution - Pixels Per Millimeter. (default: 100.0)
5675<tr><td>bmp-import_BackgroundBlack <td colspan="2">Black pixels will be ignored. Default is a White background.
5676<tr><td>bmp-import_OptimizePixelsAsFlashes <td colspan="2">Output adjacent pixels as flashes.
5677<tr><td>bmp-import_OptimizePixelsAsPolygons <td colspan="2">Output adjacent pixels as polygons.
5678<tr><td>bmp-import_GrayscalePercentage=NUM <td colspan="2">Pixels with a gray-scale similar to the background color are ignored. (default: 75.0)
5679<tr><td>bmp-import_VerticalScalePercentage=NUM <td colspan="2">Scale pixels in Y direction (default: 100.0).
5680
5681<tr><td><b>Plotter Options:</b><td colspan="2">
5682<tr><td>plot-export_type=TYPE <td colspan="2">Assign plotter type. Choose from: GSI77, GSI78, HPGL, Postscript.
5683<tr><td>plot-export_offset=X,Y <td colspan="2">Plotter offset in inches. Use comma to separate X and Y.
5684
5685<tr><td><b>PDF/Postscript Options:</b><td colspan="2">
5686<tr><td>ps-import_page=NUM <td colspan="2">Determine which page to import. (1 is the default).
5687<tr><td>ps-import_paths=MODE <td colspan="2">Choose how to import Paths. Choose from: Detect, Polygon, Rounded, Truncated, Extended. (Default: Rounded)
5688<tr><td>ps-import_fill=MODE <td colspan="2">Choose how to import boundaries. Choose from: Detect, DeEmbed, Fill, Outline. (Default: Outline)
5689<tr><td>ps-import_text=MODE <td colspan="2">Choose how to import text. Choose from: None, Polygon, Adjustable, DefaultFont. (Default: Polygon)
5690<tr><td>ps-import_defaultfont=FONT <td colspan="2">Assign the default QuickTrans font to use if nothing can be detected. (Default: Arial.fnt)
5691<tr><td>ps-import_flash_round <td colspan="2"Automatically flash Round and Donut shapes.
5692<tr><td>ps-import_flash_rectangle <td colspan="2">Automatically flash Rectangle shapes.
5693<tr><td>ps-import_separatelayerpercolor <td colspan="2">Create a new layer for each object color.
5694<tr><td>ps-import_ghostscript=PATH <td colspan="2">Assign the file path to locate the specific Ghostscript EXE or DLL.
5695<tr><td>ps-import_ghostscript_commands=COMMANDS <td colspan="2">Assign additional Ghostscript commands. Make comma separated.
5696
5697*/
5698
5699
5700//----------------------------------------------------------------------------------//
5701
5738
5739
5740//----------------------------------------------------------------------------------//
5741
5779
5780//----------------------------------------------------------------------------------//
5781
5808
5809//----------------------------------------------------------------------------------//
5810
5839
5840
5841//----------------------------------------------------------------------------------//
5842
5862
5863
5864//----------------------------------------------------------------------------------//
5865
5923
5924//----------------------------------------------------------------------------------//
5925/*
5926 <tr><td>@1 <td colspan="1"> First Job
5927 <tr><td>@3 <td colspan="1"> Third Job
5928 <tr><td>@ -1 <td colspan="1"> Last Job minus 1 (i.e second to last)
5929 <tr><td>@ -3 <td colspan="1"> Last Job minus 3 (i.e fourth to last)
5930*/
5931
5951
5952//----------------------------------------------------------------------------------//
5953
6025
6026//----------------------------------------------------------------------------------//
6027
6061
6062
6063//----------------------------------------------------------------------------------//
6064
6083
6084//----------------------------------------------------------------------------------//
6085
6140
6141//----------------------------------------------------------------------------------//
6142
6181
6182
6183//----------------------------------------------------------------------------------//
6184
6202
6203
6204
6205
6206//----------------------------------------------------------------------------------//
6207/*What about Factors .75 - use percentage instead of factors*/
6227
6228
6229//----------------------------------------------------------------------------------//
6230
6240
6241//----------------------------------------------------------------------------------//
6242
6308
6309
6310//----------------------------------------------------------------------------------//
6311
6360
6361
6362//----------------------------------------------------------------------------------//
6363//----------------------------------------------------------------------------------//
6364//----------------------------------------------------------------------------------//
6365
6366
6375
6376
6377//----------------------------------------------------------------------------------//
6378//----------------------------------------------------------------------------------//
6379//----------------------------------------------------------------------------------//
6380
6381
6391
6392
6393//----------------------------------------------------------------------------------//
6394//----------------------------------------------------------------------------------//
6395//----------------------------------------------------------------------------------//
6396
6397
6406
6407
6408//----------------------------------------------------------------------------------//
6409//----------------------------------------------------------------------------------//
6410//----------------------------------------------------------------------------------//
6411
6412
6420
6421
6422//----------------------------------------------------------------------------------//
6423//----------------------------------------------------------------------------------//
6424//----------------------------------------------------------------------------------//
6425
6426
6427
6540
6541//----------------------------------------------------------------------------------//
6542
6619
6620
6621//----------------------------------------------------------------------------------//
6622//----------------------------------------------------------------------------------//
6623//----------------------------------------------------------------------------------//
6624
6703
6704
6705//----------------------------------------------------------------------------------//
6706
6739
6740//----------------------------------------------------------------------------------//
6741
6780
6781//----------------------------------------------------------------------------------//
6782
6848
6849//----------------------------------------------------------------------------------//
6850
6885
6886//----------------------------------------------------------------------------------//
6887
6912
6913
6914//----------------------------------------------------------------------------------//
6915
6931
6932//----------------------------------------------------------------------------------//
6933//----------------------------------------------------------------------------------//
6934//----------------------------------------------------------------------------------//
6935
6966
6967//----------------------------------------------------------------------------------//
6968//----------------------------------------------------------------------------------//
6969//----------------------------------------------------------------------------------//
6970
6971//More Potential Examples
6972//- \subpage example-matrix-test-3 "Generate a quotation for PCB Bareboard"
6973//- \subpage example-matrix-test-3 "Generate a PCB Bareboard Fabrication Report"
6974// TODO: Add an option that shows typical pricing - so the user can at least have something in mind...
6975
7002
7003
7004//----------------------------------------------------------------------------------//
7005//----------------------------------------------------------------------------------//
7006//----------------------------------------------------------------------------------//
7007
7008
7148
7149//----------------------------------------------------------------------------------//
7150
7217
7218
7219//----------------------------------------------------------------------------------//
7220
7253
7254//----------------------------------------------------------------------------------//
7255
7349
7350//----------------------------------------------------------------------------------//
7351
7390
7391
7392//----------------------------------------------------------------------------------//
7393//----------------------------------------------------------------------------------//
7394//----------------------------------------------------------------------------------//
7395
7472
7473
7519
7520
7567
7568
7666
7667//----------------------------------------------------------------------------------//
7668
7699
7700//----------------------------------------------------------------------------------//
7701
7755
7756//----------------------------------------------------------------------------------//
7757
7758