netex_title.gif

Netex-G Library Revision History


This page contains revision history for the NETEX-G library which is used by OEM partners who wish to tightly integrate NETEX-G functionality into their applications.



v1.20h (11/23/2023)

Added support for additional ODB++ symbols

Added support for additional ODB++ symbols

Type Name                         ODB SYMBOL NAME
RoundedSquareThermalOpenCorners_type  s_ths
LineThermal_type                      s_thr
HomePlate_type                        hplate
InvertedHomePlate_type                rhplate
FlatHomePlate_type                    fhplate
RadiusedInvertedHomePlate_type        radhplate
RadiusedHomePlate_type                dshape
Dogbone_type                          dogbone
DPack_type                            dpack

Updated Boolean Components

The Boolean libraries used by NETEX-G library have been updated to the most recent version.




Version 1.20g 8/25/2023

GUI Extents of profile

In certain cases, the profile extents incorrectly displayed "unknown". This has now been fixed so that when the profile information has been found to be correct, the extents will be displayed instead of "unknown".

Added ODB++ Cross symbol support

Added support for type name Cross_type and ODB++ Symbol name cross.

Report of unsupported symbol names

When the symbols below are encountered, a warning is reported. Before, nothing was reported.

Type Name                         ODB SYMBOL NAME
LineThermal_type                  s_thr
HomePlate_type                    hplate
InvertedHomePlate_type            rhplate
FlatHomePlate_type                fhplate
RadiusedInvertedHomePlate_type    radhplate
RadiusedHomePlate_type            dshape
Dogbone_type                      dogbone
DPack_type                        dpack

Updated Boolean Components

The Boolean libraries used by ODB2GBR have been updated to the most recent version.
Updated the Gerber validation module.




Version 1.20f (07/23/2023)

Fixed GUI Lib for Memory Crash Involving "-step" and "-excludel" arguments

The memory used to support these arguments was only 260 bytes long. It has been changed to be dynamically allocated to the length of these arguments.

Software Updates

Fixed ODB2GDX library to include component layers in ODBTREE functions.

Updated ODB feature file converter (ODB2GDX ENGINE)

  • Added support for barcode filtering
  • Added command line options -filter_barc, -filter_barcode and -nobarc
  • Updated Boolean Components

    The Boolean libraries used by NETEXG have been updated to the most recent version.
    Updated the Gerber validation module.




    Version 1.20e (6/21/2023)

    Major Speed Improvements

    Optimized ODB++ file existence check for speed (Windows only). This generated a speed up of about two to five times.
    Updated the Gerber preprocessor.




    Version 1.20d 5/27/2023

    Software Updates

    Added support for ODB++ oblong thermal types.

    Added warnings for referenced undefined ODB++ symbol types.

    Bug fix to dropped ODB++ arcs with point precision smaller than output grid. These were mistakenly treated as small arcs and output as pads. The data point precision required to calculate the angle precision needed to be 10x the greater of data point precision and output grid. Otherwise, the arc data would be considered a small arc and drawn as a round pad the start point.


    Version 1.20c 4/27/2023

    Case Sensitive symbol in ODB++ Import

    User symbol were left undefined because of differences in upper and lower case letters in the names. A directory search is done to ensure the exact letter case is used in the name. This fixed the problem.

    Net names with '\' characters in Net Node clipping

    Nets were being dropped during net node data clipping. The escape characters in the net name were being confused with line continuation delimiters so that net names were being mistakenly truncated and generating undefined nets. The parsing of the net and node names associated has been fixed to prevent this.

    Software Update

    Updated net computation engine.
    Updated Boolean components.


    Version 1.20b 3/30/2023

    Software Update

    Dropped Padstacks - Custom RS274X round apertures which were to be used for padstack definitions were mistakenly segmented with default accuracy (arcres 9 degrees and arcsag 0) even though different values were being specified.
    As a result, the pad definition generator failed to recognize some polygons as being round vias in some instances (larger vias). This has now been fixed. The custom apertures are now segmented to the specified values.

    Ensure Leonov Polygon output uses full union booleanization - This prevents partition lines from appearing in final output.

    Force polygon format to be cutlines when it's Leonov for DXF and GDSII - A warning to that effect will be output if this is the case.


    Version 1.20 3/2/2023

    Empty Drill File Issue

    This version fixes a problem which occurred when there was an empty drill file and multi threading. The net computation engine has been updated to deal with this problem.

    Added materials alias support

    The file "ntxgmatalias.txt" contains material alias names for any given material name specified in the "ntxgmatlib.txt" file.
    Its format for each entry is as follows :
    [Material Name from "ntxgmatlib.txt"] [List of Alias Names]
    Items for each line are separated by spaces or ','. Each item can be quoted for spaces in a given item. An example is shown below :
    Gold "My gold" "His gold" "Her gold" "Their gold"
    FR4 "FR-4" "FR 4" "F R 4"
    Copper "My penny" "His penny" "Her penny" "Their penny".

    Software Updates

    Updated Boolean Components.
    Updated Gerber validation components.
    Updated IPC2581 importer:

  • Add silkscreen and solderpaste as board types.
  • Allow for IPC2581 stackup thickness to be preserved.
  • Convert IPC2581 stackup thickness to output unit.

  • Version 1.17 4/13/2021

    Dropped data with respect to isolated vias.

    This condition caused all nets but the one(s) containing non-connected vias to appear. This has now been fixed.

    Fixed interpretation of X multiplication in Gerber Macro

    The 'x' multiplication operator was being supported but not the 'X'. This has now been fixed.

    Scaling large files over 2GB

    Scaling would fail and report error when some of the intermediate files were over 2GB. This has now been fixed.


    Version 1.16 3/18/2021

    Added a net information output file with GDSII export

    When a GDSII output file is generated, a net information file is generated (base_name_netinfo.txt

    NetexG Windows Library ODB++ Scan

    The bin folder contains odbscan_exec64.exe executable.

    The odbscan_sample folder contains the odbscan_exec64.exe sample code.

    The lib folder contains odbscan64.lib library. The DLL, odbscan64.dll, is currently loaded dynamically, but the .lib file is provided for static builds.
    Remove _ODBSCAN_LIB_RUNTIME_LOAD_ preprocessor define and include odbscan64.lib for static build.

    The artwork folder contains odbscan64.dll.

    The examples/odb_input folder has odb_test_scan64.bat batch file and 220_array.tgz ODB++ example file.

    NetexG Linux Library ODB++ Scan

    The bin folder contains odbscan_exec64.exe executable and a odbscan_exec script for setting up environment.

    The odbscan_source folder contains the odbscan_exec64.exe sample code.

    The lib64 folder contains libodbscan64.so shared object.

    The artwork folder also contains libodbscan64.so shared object.

    The examples/odb_input folder has odb_test_scan.sh script file and 220_array.tgz ODB++ example file.


    Version 1.15h 3/3/2021

    Software Updates

    Boolean and Gerber validation components have been updated.
    This version was compiled with VS2015. VS2008 is discontinued.


    Version 1.15g 2/9/2021

    Software Updates

    Boolean components were updated.

    Gerber validation components were updated.

    Merging stage (gdsfilt64.exe) input/output synchronization was fixed on Windows.


    V1.15f Windows 1/28/2021

    Software Updates

    Suppress output of component pin vias in ANF output. These vias (entries starting w/ V) are not needed since component pins (entries starting w/ X) are already provided.

    Updated boolean modules and Gerber validation modules.


    V1.15e Windows 10/20/2020

    Software updates

    Layer names in 3d output now appear as basenames of Gerber files created from OBB++ importing or from a user instead of the designations found in the 2nd column of B_LAYERS or B_AUX_PROPS sections of .njb file.

    This version includes updated boolean engine and library to fix several bugs involving crashes and dropped data.

    Updated ODB++ import executables and libraries.

    Updated 3Di, XT, and Step output engines and libraries .


    V1.15d Windows 9/16/2020

    Software Updates

    This version includes an updated boolean engine and library which addresses several bugs involving crashes and dropped data.

    Updated ODB++ import executables and libraries.

    Updated 3Di, XT, and STEP output engines and libraries.


    V1.15c Windows 8/5/2020

    Fixed incorrect associations of node text to nets with wires

    This occurred when multiple identical net labels on separate physical nets were employed. This caused the associations of nets to net numbers to be misaligned by the number of physically merged nets found in GDSII and DXF output. This has now been fixed.

    Misc updates

    odbgui64.dll and odbgui_main64.dll are used instead of odb2gbr64.dll


    V1.15b Windows 1/10/2020

    Fixed Padstack Generation

    Padstack generation finds, for each via, the largest Gerber flash on each metal layer the via traverses. If the flash size is greater than the via size filter, smaller than the via drill size, or it's on a scratch layer, the flash is ignored.
    The via drill size is the default size to use when no Gerber flash can be found. To obtain the correct flashes, the fix was done as follows :

  • Changed flash database ordering and scanning for padstack creations.
  • Reduced via center approximation from 10 to 5 grid.

  • v1.15a 12/2/2019

    This version includes enhancements to boolean engine with respect to Gerber validation.
    This version includes an improved unionization which is now nearly thread independent (polygon order is consistent and independent of thread count).


    v1.15 07/30/2019

    This new version supports ODB++ scanning features. The usage is illustrated in the sample program and ODB++ example batch file.


    v1.14b 07/16/2019

    Revised STEP and PARASOLID argument check. If "-unionize or "-arc" argument is encountered with "-fea" option, a warning is displayed for their unsuitability to FEA.

    The job file now generates a log file if the NetexG program terminates before creating it.

    This version includes a fix to a memory corruption problem during critical section of multi threading license check.

    This version has a more robust ordering of via and flashes. All relevant fields for definition and reference entries are now considered in comparing and ordering entries.


    v1.14a 05/16/2019

    Includes support for STEP and Parasolid outputs.
    Updated example scripts to be more informative and helpful.
    Library provides mechanism to fine tune ODB++ imports and controls for STEP and Parasolid output.
    Includes a bug fix for the GDSFILT module which manifested as a program crash when "blending" intermediate files together.


    v1.14 04/08/2019

    A number of new arguments that enable direct output of STEP and parasolids formats (using new libraries previously part of 3DVU's STEP and parasolid export) have been added. See the page Library for details.


    v1.13 9/19/2017

    New version for Windows 64 and Linux 64

    This version only supports 64 bit on Windows and Linux. 32 bit components were removed. It also includes support for MS VS 2015.


    v1.12 5/25/2017

    ODB Import Layer Groups

    The sNETEXGLIB_IMPORT struture has a new field, "omitGroups", which is an array of integers where each element is a flag for a layer group. The constants in the "eImportGroup" set are defined in "ntxg_lib_const.h". Currently, only soldermask, silkscreen, components, and rout, are recognized.

    This was implemented for a user who wanted to import the copper stackup only without having to enumerate the copper stackup layers.


    Added Incremental Extractions Capability

    The "extractions" field of type sNETEXGLIB_EXTRACTIONS was added to the sNETEXGLIB_OPTIONS structure. It contains the following data fields:

      DATA FIELD      DESCRIPTION
      fileInput       Name of file containing extraction requests
      keepIncrInfo    Tells library to keep incremental files for subsequent runs.
      useIncrInfo     Tells library to use incremental files for actual runs
      count           Reserved for internal use
      list            Reserved for internal use
    

    The format of the extraction file is as follows:

    <EXTRACTION_SET_1>
      <EXTRACTION_SET_2>
      ...
      <EXTRACTION_SET_N>
    

    Where each set has the following format

      B_EXTRACTIONS
      [BASE_NAME <name>]
      [<NET_NAMES>]
      [<WINDOW(S)>]
      E_EXTRACTIONS
    

    The <name> after BASE_NAME is the name of the file to use to generate output filenames. In its absence, the main output filename is used to that end.

    [<NET_NAMES>] is in the following form:

      B_NET_NAMES
      <NM_0>
      <NM_1>
      ...
      <NM_N>
      E_NET_NAMES
    

    Each <NM_M> is either a literal net name or a regular expression depicting one or more nets to be included. In the absence of this sub section, all nets are included.

    [<WINDOW(S>] is in the following form:

      <W_1>
      <W_2>
      ...
      <W_N>
    

    Each <W_N> is either in the form of

      CWH: <CENTER_X>, CENTER_Y> <WIDTH> <HEIGHT>
    

    or

      LLUR: <LOWER_LEFT_X> <LOWER_LEFT_Y> <UPPER_RIGHT_X> <UPPER_RIGHT_Y>
    

    Extractions may specify net names and or windows. The net name extractions has yet to fully completed.




    v1.11 4/25/2017

    New Argument to Library

    The sNETEXGLIB_OPTIONS structure has a new field,"mgrArgs", which supports this. It is NULL by default, but if it points to a character buffer, whatever is in that buffer, is appended to the "netexgmgr" comand line.

    Update to Sample Program

    The sameple program now has added "-mgrargs [arg(s)]" argument

    The [arg(s)] are all the arguments that follow "-mgrargs". those arguments are collected and passed into the library's new "mgrArg" option field as one string. This string is then appended to the end of the "netexgmgr" comand line.




    v1.10 4/5/2017

    Daisy chain licensing

    The required output and import license(s) will be acquired and retained and will not be released until closing time.

    Rounded Thermal Draws

    The ODB++ importer was revised with respect to rounded thermal draws.

    The new behavior interprets the gap region in the same way as does Valor's Genesis which measures where the arc, computed from the average of outer and inner diameters, intersects with round ends. The previous behavior computed the gap as the space between round ends.




    v1.09 10/11/2017

    Error and Warning File Formatting

    Added missing newline characters to error and warning messages.


    ODB++ Import Progress Display

    By setting

    pOptions -> preferences.advStgs.execDisplayMethod
    to one of two modes

    NETEXGLIB_EXECDISPLAY_SINGLE
     or 
    NETEXGLIB_EXECDISPLAY_MULTIPLE
    

    the progress of ODB++ importing is displayed. The default mode is NETEXGLIB_EXECDISPLAY_MULTIPLE. To prevent displaying this progress, the mode to use is NETEXGLIB_EXECDISPLAY_NONE.


    Licensing Library Update

    The flexlm licensing library was updated to v11.13.1.2 from v11.3.


    Revised Sample Code
    1. Update usage to display correct executable name.

    2. Add "@<CMD_FILE>" argument to read command line arguments from <CMD_FILE>.

    3. Add "-snglnjbprg" argument to display NJB processing with a single dialog when "-silent" is not invoked.

    4. Corrected spelling of -usetatwin" to "-usestatwin" argument in usage display.

    5. Made usage display available to Linux.





    v1.08 06/01/2016

    Initialize Error Return Structure

    No details provided by programmer.


    Added "-usestatwin" argument to the Example Program

    This is a windows argument invoking the use of a built in Windowss dialog box rather than the use of the newly added status3f32 program.




    v1.08 05/09/2016

    Added arguments to extraArgs sNETEXGLIB_OPTIONS Field

    Error info structure return controls were added to this field:

    -logerr2errinfo         Excludes log errors + respective header and command
                            lines in error info structure returns.
    
    -maxerr2errinfo:<val>   Specify maximum <val> errors in error info
                            structure returns. This is used in absence of -logerr2errinfo 
                            argument. Default is 100.
    
    -logwrg2errinfo         Excludes log warnings + respective header and command
                            lines in error info structure returns.
    
    -maxwrg2errinfo:<val>   Specify maximum <val> warnings in error info
                            structure returns. This is used in absence of -logwrg2errinfo 
                            argument. Default is 100.
    
    -add_errlog_hdrcmdln    Adds respective header and command lines
                            from log errors in error info structure returns.
    
    Fix Handling of Extract Section

    The library was adding a duplicate of this section each time it was run. This has been fixed.


    Error Log File Generation has been revised

    The detail log token, <START_OF_NETEX-G>, is used to jump to the first program operation in the log file.

    The detail log token, <END_OF_OPERATION>, is output upon encountering <END_OF_OPERATION> or <END_OF_PROGRAM_LOG> tokens


    ODB++ Import Updated to support SIGNALLYR TYPE instead OF SIGNAL

    No details provided by programmer


    Added NetexGLib_GetFileName Function

    This function, when passed a <file_type> constant will return a desired file name. The constant can be one of the following:

    
      cFileType_NJB      Netex-G Job File   Contains input information to
                                            execute Netex-G
                                           
      cFileType_ERRLOG   Error Log File     Contains brief summary of errors
                                            and warnings detected in Netex-G
                                            execution.
                                           
      cFileType_PGMLOG   Program Log File   Contains General information about
                                            Netex-G execution
                                           
      cFileType_DETLOG   Detail Log File    Contains General information about
                                            Netex-G execution
    
    



    v1.07 10/06/2015

    Silent Mode is no Longer the Default

    No details provided by the programmer.


    Added options for DXF and GDSII Output

    (1) commponentLibraries

    (2) disableNameFix (GDSII only)

    (3) flatten

    (4) padMetalFilter

    (5) threeDExtrusions (DXF only)


    Added "-errlog:<file> AND "-wrgtoerrlog" ARGS TO "extraArgs" OPTIONS

    No details provided by programmer


    Added NETSPECIFICPLUS mode TO "import | autoLayerSelect" Options Mode

    This mode allows adding other layers to the netspecific set through the use of "import | layerList" and "import | layerListCount" options.




    v1.05 08/14/2015

    ADD EXTRACTION SECTION

    This section currently includes all nets but will later be used to specify a subnet of nets selected.


    Fixed "LoadNetexgLibrary" Error Messages

    No details provided by programmer




    v1.04 07/20/2015

    Force ODB IMPORT output to all be in working directory



    v1.04 03/12/2015

    Remove Short Filename Execution Calls

    No Details provided


    Bug Fix for OEM Key File Path with spaces ...

    programmer'r notes: The argument "-acsp:<oemkeyfile>" was passed to netexgmgr executable without having been quoted. This has now been fixed.




    NETEX-G Page

    Library Download