/* BAEPARAM.ULH (STD) -- BAE Parameter Access */ /* BAEPARAM.ULH (STD) -- BAE-Parameterzugriff */ /* // Copyright (c) 1997-2013 Bartels System GmbH, Muenchen // Author: Manfred Baumeister // Changes History: // rl (131029) RELEASED FOR BAE V8.0. // rl (120427) RELEASED FOR BAE V7.8. // rl (101019) RELEASED FOR BAE V7.6. // rl (091104) RELEASED FOR BAE V7.4. // rl (081014) RELEASED FOR BAE V7.2. // rl (071029) RELEASED FOR BAE V7.0. // rl (060829) RELEASED FOR BAE V6.8. // rl (050927) RELEASED FOR BAE V6.6. // rl (040811) RELEASED FOR BAE V6.4. // rl (030904) RELEASED FOR BAE V6.2. // rl (021209) RELEASED FOR BAE V6.0. // rl (020618) RELEASED FOR BAE V5.4. // rl (010625) RELEASED FOR BAE V5.0. // rl (000509) RELEASED FOR BAE V4.6. // rl (990625) RELEASED FOR BAE V4.4. // rl (990122) ENHANCEMENT: // Added scm_plotdev function. // rl (980910) RELEASED FOR BAE V4.2. // mb (980710) ENHANCEMENT: // Dynamic multi-language support introduced. // rl (980526) ENHANCEMENT: // Added APPAR_CFHTRAPMCNT, APPAR_CFHTRAPISOL definitions. // rl (980507) ENHANCEMENT: // Added GEDPAR_AUTOINSENA definition. // rl (970929) RELEASED FOR BAE V4.0. // mb (970716) ORIGINAL CODING. // // DESCRIPTION // // The definitions and declarations from include file baeparam.ulh // are compatible with all User Language interpreter environments // of the Bartels AutoEngineer. baeparam.ulh provides definitions // and functions for accessing BAE parameter settings. // // FUNCTIONS // // BAE global parameter query: // int bae_autosaveivl -- Get autosave interval (minutes) // int baepar_intval -- Get integer parameter value // double baepar_dblval -- Get double parameter value // string baepar_strval -- Get string parameter value // // SCM parameter query: // string scm_libfname -- Get current SCM library file name // string scm_plotdev -- Get current SCM plot device name // // Layout system parameter query: // string lay_libfname -- Get current layout library file name // // IC Layout system parameter query: // string icd_libfname -- Get current layout library file name */ // Avoid multiple inclusions #ifndef INCLUDE_BAEPARAM #define INCLUDE_BAEPARAM // Includes #include "std.ulh" // User Language standard include // BAE global parameter setup ident codes #define BAEPAR_AUTOSAVEIVL 1000 // Autosave time interval (min.) // SCM parameter setup ident codes #define SCMPAR_GRIDXINP 2000 // Current input grid X value #define SCMPAR_GRIDYINP 2001 // Current input grid Y value #define SCMPAR_GRIDXBACK 2002 // Current display grid X value #define SCMPAR_GRIDYBACK 2003 // Current display grid Y value #define SCMPAR_GRIDDIS 2004 // Grid disabled flag #define SCMPAR_ANGLOCKDIS 2005 // Angle lock disabled flag #define SCMPAR_RANGEDIS 2006 // Range check disabled flag #define SCMPAR_CDDISPMODE 2007 // Coordinate display mode #define SCMPAR_DEFROTANGLE 2008 // Default placement rotation angle #define SCMPAR_DEFMIRRMODE 2009 // Default placement mirror mode #define SCMPAR_DEFTAPSWAP 2010 // Default bus tap swap flag #define SCMPAR_DEFTEXTSIZE 2011 // Default text size #define SCMPAR_LIBPATH 2012 // Library path name #define SCMPAR_LIBFNAME 2013 // Library file name #define SCMPAR_HPCURFNAME 2014 // Current HP plot file name #define SCMPAR_REQCOLTNAME 2015 // Requested color table name #define SCMPAR_DEFSIGRUTEN 2016 // Signal routing enabled flag #define SCMPAR_KSYMTEXTPOS 2017 // Keep symbol text positions flag #define SCMPAR_LABELMACRO 2018 // Label macro name #define SCMPAR_DEFTEXTMODE 2019 // Default text mode #define SCMPAR_DEFTEXTANGLE 2020 // Default text angle #define SCMPAR_DEFTEXTMIRR 2021 // Default text mirror mode #define SCMPAR_DEFTEXTSTR 2022 // Default text string #define SCMPAR_GRIDMODE 2023 // Grid set mode #define SCMPAR_PLTROTATEMODE 2024 // Plot rotation mode flag #define SCMPAR_HPCURPENWIDTH 2025 // HP-Plot current pen width #define SCMPAR_HPCURSPEED 2026 // HP-Plot current speed #define SCMPAR_HPCURSCALING 2027 // HP-Plot current scaling #define SCMPAR_HPFILLMODE 2028 // HP-Plot filling mode #define SCMPAR_DEFSIGRUTMODE 2029 // Default sig. router mode #define SCMPAR_PICKDISPMODE 2030 // Pick marker display mode #define SCMPAR_BUSTAPMACRO 2031 // Bus tap label macro name #define SCMPAR_PICKELMODE 2032 // Element pick mode #define SCMPAR_GENPCOLORMODE 2033 // Generic printer color mode #define SCMPAR_PLOTDISPMODE 2034 // Plot display mode #define SCMPAR_DISPINFO 2035 // Info display flag #define SCMPAR_AUTOCONCORNER 2036 // Automatic connection corner mode #define SCMPAR_GENPSCALEMODE 2037 // Generic printer scale mode #define SCMPAR_DEFSIGRUTGMODE 2038 // Default sig. router group mode #define SCMPAR_GRIDLINES 2039 // Cur. background grid lines display #define SCMPAR_GRPDISPMODE 2040 // Group display mode #define SCMPAR_SIGRUTRNG 2041 // Signal router routing range #define SCMPAR_AUTOTAPCON 2042 // Automatic tap connection mode #define SCMPAR_SIGRUTMARK 2043 // Signal router marker scan flag #define SCMPAR_ANGDIRMODE 2044 // Angle direction toggle mode #define SCMPAR_SEGMOVMODE 2045 // Connection segment move mode #define SCMPAR_GRPANGMODE 2046 // Group angle mode #define SCMPAR_DEFSIGRUTUNR 2047 // Default unroute graphic flag #define SCMPAR_AUTOCOMPL 2048 // Auto complete flag #define SCMPAR_ERRDISPMODE 2049 // Error display mode #define SCMPAR_SEGSSPLITMODE 2050 // Segment symbol split mode #define SCMPAR_SEGCSPLITMODE 2051 // Segment connection split mode #define SCMPAR_PORTMACRO 2052 // Port label macro name // Layout parameter setup ident codes #define LAYPAR_GRIDXINP 3000 // Current input grid X value #define LAYPAR_GRIDYINP 3001 // Current input grid Y value #define LAYPAR_GRIDXBACK 3002 // Current display grid X value #define LAYPAR_GRIDYBACK 3003 // Current display grid Y value #define LAYPAR_GRIDDIS 3004 // Grid disabled flag #define LAYPAR_ANGLOCKDIS 3005 // Angle lock disabled flag #define LAYPAR_CDDISPMODE 3007 // Coordinate display mode #define LAYPAR_WIDEDRAWWIDTH 3008 // Wide line draw start width #define LAYPAR_GRPDISPMODE 3009 // Group display mode #define LAYPAR_DEFROTANGLE 3010 // Default rotation angle #define LAYPAR_DEFMIRRMODE 3011 // Default mirror mode #define LAYPAR_DEFTEXTSIZE 3012 // Default text size #define LAYPAR_PARTAIRLMODE 3013 // Part airline display mode #define LAYPAR_DEFROUTWIDTH 3014 // Default routing width #define LAYPAR_DEFWIDERTWIDTH 3015 // Default wide routing width #define LAYPAR_LIBFNAME 3016 // Library file name #define LAYPAR_MCCLASS 3017 // Mincon class code #define LAYPAR_REQCOLTNAME 3018 // Requested color table name #define LAYPAR_GRIDLINES 3038 // Cur. background grid lines disp. #define LAYPAR_MIRRDISPMODE 3039 // Bottom view display mode #define GEDPAR_AUTOINSENA 3019 // Auto corner insert enable flag #define GEDPAR_PICKELMODE 3020 // Element pick mode #define GEDPAR_DRCDISPMODE 3021 // DRC error marker display mode #define GEDPAR_LAYDEFMODE 3022 // Layer default mode #define GEDPAR_DEFTEXTMODE 3023 // Default text mode #define GEDPAR_DEFTEXTANGLE 3024 // Default text angle #define GEDPAR_DEFTEXTMIRR 3025 // Default text mirror mode #define GEDPAR_DEFTEXTSTR 3026 // Default text string #define GEDPAR_GRIDMODE 3027 // Grid set mode #define GEDPAR_VIAOPTMODE 3028 // Via optimization mode #define GEDPAR_PICKDISPMODE 3029 // Pick marker display mode #define GEDPAR_RANGEDIS 3030 // Range check disabled flag #define GEDPAR_DISPINFO 3031 // Info display flag #define GEDPAR_PLOTDISPMODE 3032 // Plot display mode #define GEDPAR_DRCDISTMODE 3033 // DRC distance display mode #define GEDPAR_PARTDRCMODE 3034 // Part element level DRC mode #define GEDPAR_IGRIDDISP 3035 // Input grid display flag #define GEDPAR_TRCPICKMODE 3036 // Trace edit pick mode #define GEDPAR_TRCNQRYLIM 3037 // Trace net deletion query limit #define GEDPAR_DRCTEXTSIZE 3040 // DRC distance display text size #define GEDPAR_ANGDIRMODE 3041 // Angle direction toggle mode #define GEDPAR_MCAREA 3042 // Min. con. area flags #define GEDPAR_GRPANGMODE 3043 // Group angle mode #define GEDPAR_GRPVISMODE 3044 // Group visibility mode #define GEDPAR_RNDCORNER 3045 // Resize with round corners flag #define GEDPAR_PARTTRCMODE 3046 // Part trace move mode #define GEDPAR_AUTOCOMPL 3047 // Auto complete flag #define GEDPAR_BORDALTLAY 3048 // Board outline alternate layer #define GEDPAR_TRCJOINQRY 3049 // Trace join query mode #define GEDPAR_TRCBUSMODE 3050 // Trace bus path creation mode #define GEDPAR_TRCBUSCMODE 3051 // Trace bus path corner mode #define GEDPAR_TRCBUSSPC 3052 // Trace bus path spacing #define GEDPAR_TRCBUSWIDTH 3053 // Trace bus path width #define GEDPAR_TRCBUSCOUNT 3054 // Trace bus path count #define GEDPAR_DISPMACOUTL 3055 // Macro outline display mode #define GEDPAR_COLTABSAVE 3136 // Color table save flag #define GEDPAR_MCLAYMODE 3137 // Mincon display mode #define GEDPAR_MCCLIPPING 3138 // Mincon display clipping mode #define GEDPAR_SEGMOVMODE 3331 // Trace segment move mode #define GEDPAR_SEGSPLITMODE 3139 // Trace segment split mode #define GEDPAR_POLYMOVEDISP 3140 // Element move polygon disp. mode #define GEDPAR_GRPAIRLMODE 3141 // Group airline display mode #define GEDPAR_SEGBPICKMODE 3142 // Trace bundle pick mode #define GEDPAR_SEGINSPMODE 3143 // Trace segment insert pick mode #define GEDPAR_PARTEDITDRC 3144 // Part edit DRC mode #define APPAR_PMATXSIZE 3100 // Placement matrix x size #define APPAR_PMATYSIZE 3101 // Placement matrix y size #define APPAR_PMATXORG 3102 // Placement matrix x origin #define APPAR_PMATYORG 3103 // Placement matrix y origin #define APPAR_PMATXOFF 3104 // Placement matrix x offset #define APPAR_PMATYOFF 3105 // Placement matrix y offset #define APPAR_PMATEN 3106 // Placement matrix enabled flag #define APPAR_CFISOLDIST 3107 // Copper fill isolation distance #define APPAR_CFMINAREASIZE 3108 // Fill area minimum size #define APPAR_CFTRACEMODE 3109 // Fill trace cutout mode #define APPAR_CFISLANDMODE 3110 // Fill island delete mode #define APPAR_CFHTRAPMODE 3111 // Fill heat trap mode #define APPAR_CFHTRAPWIDTH 3112 // Fill heat trap width #define APPAR_HATLINESPACE 3113 // Hatching line spacing #define APPAR_HATLINEWIDTH 3114 // Hatching line width #define APPAR_HATCHMODE 3115 // Hatching mode #define APPAR_CFHTRAPMCNT 3116 // Fill heat trap max. count #define APPAR_CFHTRAPISOL 3117 // Fill heat trap isolation #define APPAR_HATLINEANGLE 3118 // Hatching line angle #define APPAR_CFAANGMODE 3119 // Acute angle process mode #define APPAR_APLCOUTLLAY 3120 // Autoplacement part outline layer #define APPAR_APLCOUTLOFF 3121 // Autoplacement part outline offset #define APPAR_CFINKEEPOUT 3122 // Inside copper fill area mode #define ARPAR_ADVDRCUSAGE 3123 // Advanced DRC usage flag #define APPAR_PASSCOUNT 3124 // Number of placer passes #define APPAR_PARTSWAPEN 3125 // Part swapping enable flag #define APPAR_PGSWAPEN 3126 // Pin/gate swapping enable flag #define APPAR_MIRRMODE 3127 // Mirroring mode #define APPAR_ROTMODE 3128 // Rotation mode #define APPAR_SMDROTMODE 3129 // SMD rotation mode #define APPAR_RETRYCOUNT 3130 // Number of retry passes #define APPAR_GRIDMODE 3131 // Placement in grid flag #define APPAR_PARTORDER 3132 // Placement order prefer. value #define APPAR_EXPANDVAL 3133 // Dimension expand value #define APPAR_SEGFIT 3134 // Segment fit cost value #define APPAR_NETDIST 3135 // Placement net distance value #define CAMPAR_HPCURFNAME 3300 // Current HP plot file name #define CAMPAR_GBCURFNAME 3301 // Current Gerber plot file name #define CAMPAR_DRCURFNAME 3302 // Current drilling data file name #define CAMPAR_DTCURFNAME 3303 // Current drilling table file name #define CAMPAR_INSCURFNAME 3304 // Current Insertion data file name #define CAMPAR_PLTXORG 3305 // Plot X origin coordinate #define CAMPAR_PLTYORG 3306 // Plot Y origin coordinate #define CAMPAR_PLTACCURACY 3307 // Plot accuracy (distance value) #define CAMPAR_PLTPOWHTMDIST 3308 // Power layer heat trap min. distance #define CAMPAR_PLTPOWISMDIST 3309 // Power layer isolation min. distance #define CAMPAR_PLTPOWHTRANGE 3310 // Power layer heat trap range #define CAMPAR_PLTPOWISRANGE 3311 // Power layer isolation range #define CAMPAR_PLTPOWBORDWD 3312 // Power layer border width #define CAMPAR_PLTPOWPLANEWD 3313 // Power layer isolation draw. width #define CAMPAR_PLTALLLAYMODE 3314 // All layer output mode #define CAMPAR_PLTBORDERMODE 3315 // Border output mode #define CAMPAR_PLTROTATEMODE 3316 // Plot rotation mode flag #define CAMPAR_PLTMIRRORMODE 3317 // Plot mirroring mode flag #define CAMPAR_PLTMRKLAYMODE 3318 // Plot marker layer output mode #define CAMPAR_HPCURPENWIDTH 3319 // Current HP plot pen width #define CAMPAR_HPCURSPEED 3320 // Current HP plot speed #define CAMPAR_HPCURSCALING 3321 // Current HP plot scaling #define CAMPAR_HPFILLMODE 3322 // Current HP plot filling mode #define CAMPAR_GBREQTABNAME 3323 // Gerber requested table name #define CAMPAR_GBMULTIFILL 3324 // Gerber multi aperture fill mode #define CAMPAR_GBARCMODE 3325 // Gerber arc plotting mode #define CAMPAR_GBUNITMODE 3326 // Gerber plot units mode #define CAMPAR_GBSTDLINEWD 3327 // Gerber standard line width #define CAMPAR_DRILLACCURACY 3328 // Drilling tools accuracy #define CAMPAR_GBOPTMODE 3329 // Gerber optimization mode #define CAMPAR_GBEXTMODE 3330 // Gerber extended mode flag #define CAMPAR_GENPSCALEMODE 3332 // Generic printer scale mode #define CAMPAR_PLTPOWHTANG 3333 // Power layer heat trap angle #define CAMPAR_BPPIXRESOL 3334 // Bitmap pixel resolution #define CAMPAR_GENPDRAWMODE 3335 // Generic printer drawing mode #define CAMPAR_DRILLTOOLOPT 3336 // Drilling tools optimization // IC Layout parameter setup ident codes #define ICDPAR_GRIDXINP 3000 // Current input grid X value #define ICDPAR_GRIDYINP 3001 // Current input grid Y value #define ICDPAR_GRIDXBACK 3002 // Current display grid X value #define ICDPAR_GRIDYBACK 3003 // Current display grid Y value #define ICDPAR_GRIDDIS 3004 // Grid disabled flag #define ICDPAR_ANGLOCKDIS 3005 // Angle lock disabled flag #define ICDPAR_CDDISPMODE 3007 // Coordinate display mode #define ICDPAR_WIDEDRAWWIDTH 3008 // Wide line draw start width #define ICDPAR_DEFROTANGLE 3010 // Default rotation angle #define ICDPAR_DEFMIRRMODE 3011 // Default mirror mode #define ICDPAR_DEFTEXTSIZE 3012 // Default text size #define ICDPAR_PARTAIRLMODE 3013 // Part airline display mode #define ICDPAR_DEFROUTWIDTH 3014 // Default routing width #define ICDPAR_DEFWIDERTWIDTH 3015 // Default wide routing width #define ICDPAR_LIBFNAME 3016 // Library file name #define ICDPAR_MCCLASS 3017 // Mincon class code #define ICDPAR_REQCOLTNAME 3018 // Requested color table name #define ICDPAR_GRIDLINES 3038 // Cur. background grid lines display #define CEDPAR_PICKELMODE 3020 // Element pick mode #define CEDPAR_SEGMOVMODE 3331 // Trace segment move mode #define CEDPAR_MACREFLEVEL 3400 // Macro reference level //__________________________________________________________________ // Start library-specific source code #ifndef USELIB #ifndef LIBBAEPARAM // Parameter data types #define BAEPAR_INT 1 // Integer value type #define BAEPAR_DBL 2 // Double value type #define BAEPAR_STR 4 // String value type #define BAEPAR_INTDEFAULT 0 // Integer default value #define BAEPAR_DBLDEFAULT 0.0 // Double default value #define BAEPAR_STRDEFAULT "" // String default value //__________________________________________________________________ // Internal parameter access functions static void bae_partyperror(int paridentcode) /* // Issue a parameter type error and exit from program // Parameters : // int paridentcode : Parameter ident code */ { // Issue error message errormsg( M("(baeparam.ulh) Parameter Id %s : Typ falsch!", "(baeparam.ulh) Parameter Id %s : Type mismatch!"), itoa(paridentcode)); } int baepar_intval(int paridentcode) /* // BAE parameter integer value query // Return value : // integer parameter value // Parameters : // int paridencode : Parameter ident code */ { index BAEPARAM par; // Parameter index // Loop for all parameters forall (par where par.IDCODE==paridentcode) // Parameter found; check data type if (par.TYP==BAEPAR_INT) // Return parameter value return(par.VALINT); else // Parameter type mismatch bae_partyperror(par.TYP); // Parameter not found return(BAEPAR_INTDEFAULT); } double baepar_dblval(int paridentcode) /* // BAE parameter double value query // Return value : // double parameter value // Parameters : // int paridentcode : Parameter ident code */ { index BAEPARAM par; // Parameter index // Loop for all parameters forall (par where par.IDCODE==paridentcode) // Parameter found; check data type if (par.TYP==BAEPAR_DBL) // Return parameter value return(par.VALDBL); else // Parameter type mismatch bae_partyperror(par.TYP); // Parameter not found return(BAEPAR_DBLDEFAULT); } string baepar_strval(int paridentcode) /* // BAE parameter string value query // Return value : // string parameter value // Parameters : // int paridentcode : Parameter ident code */ { index BAEPARAM par; // Parameter index // Loop for all parameters forall (par where par.IDCODE==paridentcode) // Parameter found; check data type if (par.TYP==BAEPAR_STR) // Return parameter value return(par.VALSTR); else // Parameter type mismatch bae_partyperror(par.TYP); // Parameter not found return(BAEPAR_STRDEFAULT); } //__________________________________________________________________ // BAE global parameter query // Get autosave interval (minutes) int bae_autosaveivl() { return baepar_intval(BAEPAR_AUTOSAVEIVL) ; } //__________________________________________________________________ // Schematic Editor parameter query // Get current SCM library file name string scm_libfname() { return baepar_strval(SCMPAR_LIBFNAME) ; } // Get current SCM plot device name string scm_plotdev() { return baepar_strval(SCMPAR_HPCURFNAME) ; } //__________________________________________________________________ // Layout system parameter query // Get current layout library file name string lay_libfname() { return baepar_strval(LAYPAR_LIBFNAME) ; } //__________________________________________________________________ // Layout Editor parameter query //__________________________________________________________________ // IC Layout system parameter query // Get current IC layout library file name string icd_libfname() { return baepar_strval(ICDPAR_LIBFNAME) ; } //__________________________________________________________________ // IC Layout Editor parameter query //__________________________________________________________________ // Autorouter parameter query //__________________________________________________________________ // CAM Processor parameter query //__________________________________________________________________ // CAM View parameter query //__________________________________________________________________ // Chip Editor parameter query //__________________________________________________________________ // End library-specific source code #endif // LIBBAEPARAM #endif // USELIB // Conditional file inclusion end #endif // INCLUDE_BAEPARAM // User Language include file end