Home > Community > Forums > PCB SKILL > DBIDs and 16.2

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 DBIDs and 16.2 

Last post Wed, Mar 25 2009 1:45 PM by dgstan. 3 replies.
Started by dgstan 27 Feb 2009 04:58 PM. Topic has 3 replies and 2652 views
Page 1 of 1 (4 items)
Sort Posts:
  • Fri, Feb 27 2009 4:58 PM

    • dgstan
    • Not Ranked
    • Joined on Thu, Jan 8 2009
    • Posts 9
    • Points 150
    DBIDs and 16.2 Reply

    Hi guys,

    I'm having some issues with our migration to 16.2. I've got several SKILL programs that will query the database and select a group of DBIDs. The new version seems to be refreshing the DBIDs at will for no reason whatsoever.

    For example:

    1. Get a list of all the DBIDs for all DRC violations.

    2. Populate a form with info extracted from those DBIDs (drc->name / drc->xy, etc.). This works as usual.

    3. Select an item from the list in the form, which points back to that DBID. But, the system says that DBID doesn't exist anymore.

     The database does not get modified in any way between the population of the form and the selection of the item in the form. There's no reason for the tool to refresh the DBIDs. These programs all worked fine in 15.7.

     Has anyone else seen this?

    Filed under:
    • Post Points: 35
  • Wed, Mar 25 2009 12:12 PM

    • GregC
    • Not Ranked
    • Joined on Mon, Oct 6 2008
    • Santa Clara, CA
    • Posts 4
    • Points 65
    Re: DBIDs and 16.2 Reply

     I was having similar problems when 16.0 first came out.  It was an issue with preselction being turned on.  Try turning off preselection then test your code.  The only other thing to try would be to use axlDBRefreshId.

    Greg...

    • Post Points: 5
  • Wed, Mar 25 2009 12:47 PM

    • fxffxf
    • Top 25 Contributor
    • Joined on Thu, Jul 17 2008
    • ., AK
    • Posts 291
    • Points 4,640
    Re: DBIDs and 16.2 Reply

     Change your code to prevent the your program from returning to Allegro until the form is closed. See

           <cdsroot>\share\pcb\examples\skill\cmds\cns_design.il

    Create a function similar to _AcDesignEvent and call it immediately after you display your form. You also need to call the axlCancelEnterFun in your form's callback handler if the form is closed via a form operation.

    • Post Points: 20
  • Wed, Mar 25 2009 1:45 PM

    • dgstan
    • Not Ranked
    • Joined on Thu, Jan 8 2009
    • Posts 9
    • Points 150
    Re: DBIDs and 16.2 Reply

    All the code has been rewritten, that's not the problem. The issue is that our SKILL programs are not backward compatible. I'm really surprised that this hasn't come up before. I'm usually way behind the curve.

     Here's what Cadence themselves had to say about it:

    *Problem:

    My SKILL code that worked in previous releases no longer works in 16.0. The
    axlShell function appears to remove the dbids.

    *Solution:

    As indicated in the documentation for axlShell "This function might not be portable
    across Allegro PCB Editor releases."
    In this particular case the problem is a result of the new Application Mode that
    is available in the 16.0 release.
    If you run with pre-selection mode enabled then dbids will be removed even with
    immediate commands called from axlShell because the pre-selection operation is
    restarted after every command.
    In order to allow your code to run in 16.0 you can disable pre-selection by
    selecting Setup > Application Mode > None. However it should be noted that this
    may not work for all cases.
    Filed under: , ,
    • Post Points: 5
Page 1 of 1 (4 items)
Sort Posts:
Started by dgstan at 27 Feb 2009 04:58 PM. Topic has 3 replies.