• 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 616
  • 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
Parents
  • 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
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
Children
  • 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
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