• 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 Scripting - Skill
  3. How to use Allegro Skill language to check if the height...

Stats

  • State Suggested Answer
  • Replies 6
  • Answers 2
  • Subscribers 21
  • Views 613
  • Members are here 0
More Content

How to use Allegro Skill language to check if the height of bottom components are more than 4mm and highlight them

BZ202408076026
BZ202408076026 4 days ago

I am newcomer for Cadence Skill language and I am learning on how to develop programing to check what I want in Cadence Allegro.

Now I want to check if the height of bottom components are more than 4mm and highlight them if existed. But I don't know where to start. Does anybody have the experience to write the Skill?

  • Cancel
  • Sign in to reply
  • Hoangkhoipcb
    0 Hoangkhoipcb 4 days ago

    Hi BZ,
    You can refer to the code below.

    axlCmdRegister("find_height_symbol" 'find_height_symbol)
    (defun find_height_symbol ()
        (let ()
            convert_design_unit = axlMKSConvert(4 "MM" car(axlDBGetDesignUnits()))
            foreach(shape axlDBGetShapes("PACKAGE GEOMETRY/PLACE_BOUND_BOTTOM")
                sym = shape->parent
                if(sym != nil then
                    pro = car(setof(e axlDBGetProperties(shape) get_string(car(e)) =="PACKAGE_HEIGHT_MAX"))
                    if(pro != nil then
                        if(atof(cadr(pro)) > convert_design_unit then
                            axlHighlightObject(sym)
                        )
                    ) 
                )
            )
        )
    )

    BR
    HoangKhoi.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • BZ202408076026
    0 BZ202408076026 4 days ago in reply to Hoangkhoipcb

    Thank you Hoanghoi!

    I will verify if the code is workable in Cadence. 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • JCTEYSSIER0
    0 JCTEYSSIER0 4 days ago

    Why not just add a package keepout bottom side starting at 4mm heiht?

    You will get drc if bottom component is heigher

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • BZ202408076026
    0 BZ202408076026 3 days ago in reply to JCTEYSSIER0

    Good question. But we have a lot of components in our library. If we will add package keepout, it is very huge workload for us. also, lib team is not part of us. So we prefer to develop skill script to cover this check.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • JCTEYSSIER0
    0 JCTEYSSIER0 3 days ago in reply to BZ202408076026

    The keepout is not to be included in library but in the brd using the components.

    If component have a correct place boundary defined (with height) then the place keepout is to be defined at pcb (brd) level.

    Place boundary (so in package) represent solid volume. Two volumes cannot intersect

    Package keepout represents area where these volumes are prohibited.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject 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.

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

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