• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Allegro X PCB Editor
  3. Use axlDBCreateExternalDRC to create DRC & get the real...

Stats

  • State Suggested Answer
  • Replies 2
  • Answers 1
  • Subscribers 159
  • Views 1115
  • Members are here 0
More Content

Use axlDBCreateExternalDRC to create DRC & get the real value

ivy372
ivy372 over 1 year ago

Hi,

I want to create the DRC markers,

I use axlAirGap get the gap value.

Skill > space = axlAirGap(x y nil 'enhanced) 
=> (nil isEtch t layer2 "PIN/TOP" layer1 "PIN/TOP" location1 (68.25 7.9) location2 (62.925 8.7) airgap 5.384759)

Skill > space->airgap
=> 5.384759

Now I want the DRC marker also can show the actual value, but I still get the error.

(foreach x SYM_GFP_Top 

  (foreach y SYM_othP_Top 
      space = axlAirGap(x y nil 'enhanced) 
      airgap = space->airgap 
         (if airgap < 2 then  
           axlDBCreateExternalDRC( "Gap < 2mm." y~>xy "TOP" list(y) nil space->airgap))
error message

How can I get the actual value on the DRC ERROR CLASS

Thanks~



  • Sign in to reply
  • Cancel
  • DavidJHutchins
    0 DavidJHutchins over 1 year ago

    Below is an example that works for me:

                            (Result = axlAirGap(item pin "TOP"))
                            when(Result
                                when(listp(Result) && eq(length(Result) 3)
                                    (Result = caddr(Result))
                                )
                                when(lessp(Result 7.0)
                                    (Result = sprintf(nil "%f" Result))
                                    (DataList = list(SubClass "7.0"))
                                    axlDBCreateExternalDRC(DataList pin->xy Class list(pin item) nil Result)
                                    (DrcCnt++)
                                )
                            )

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • eDave
    0 eDave over 1 year ago

    I would replace the command with something like this:

    axlDBCreateExternalDRC(list("Gap", "2mm", "My 2mm Gap"), y->xy, "TOP", list(x, y), x ->xy, lsprintf("%g mm", space->airgap))

    Note that the last argument must be a text value

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Cadence Guidelines

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information