Expedition PCB: Via copy / workaround for dts767538 & dts743296

Version 1

    This script is to workaround below defects involved with copy vias.

     

    . dts767538 : EE7.9.2 - second click in copy-trace mode pans view out of boundary (Will be fixed EE7.9.3)

                        duplicates - dts771195, dts804568

    . dts743296 : Cross-hair cursor of Copy Trace doesn't indicate the base point when Route grid isn't None.

     

    With several vias selected(all selected vias should have the same padstack and the same net name), running this script will display ghost image of vias that are to be copied and perform copy by left mouse button.

     

    If there are stacked via at the same location of any selected via, the script will automatically detect the vias and prompts user to determine if the stacked vias should be copied together.

    This situation might happen when 'Display Active Layer Only' is checked in Display Control window.

     

    Below image shows difference between copy trace feature and this script. The script works no matter the grid space is set and does not pan current view.

     

       < Copying vias by 'Copy Trace' command. The cursor will automatically jump(pan-view) from second click in EE7.9.2 >

    Grid.jpg  grid2.jpg

       < Automation command >

    Automation.jpg  Automation2.jpg

     

     

    The script limits vias selection to the vias with the same padstack & net, however it is using transactionstart & transactionend, so you may modify the script to fully support any selection set.

     

    Binding a key(such as SHIFT-C) to this script is recommended for the efficient use of the command.

     

    Comments & Limitations:

     

    . The command applies fix to the selected vias at the beginning, and frees when terminated.

    . The command does not allow UNDO while activated. UNDO after terminating the command will first fix the original vias, and then goes through delete vias added by the command.

    . Vias that have different padstack or net could not be copied together by this command

     

    This script is not officially supported, so please use at your own risk.


    '==========================================================================
    ' DISCLAIMER OF WARRANTY:  Unless otherwise agreed in writing,
    ' Mentor Graphics software and associated files are provided "as is"
    ' and without warranty.  Mentor Graphics has no obligation to support
    ' or otherwise maintain software.  Mentor Graphics makes no warranties,
    ' express or implied with respect to software including any warranty
    ' of merchantability or fitness for a particular purpose.
    '
    ' LIMITATION OF LIABILITY: Mentor Graphics is not liable for any property
    ' damage, personal injury, loss of profits, interruption of business, or for
    ' any other special, consequential or incidental damages, however caused,
    ' whether for breach of warranty, contract, tort (including negligence),
    ' strict liability or otherwise. In no event shall Mentor Graphics'
    ' liability exceed the amount paid for the product giving rise to the claim.
    '==========================================================================