• 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. obtaining the list and properties of components in a brd...

Stats

  • Replies 7
  • Subscribers 160
  • Views 16513
  • Members are here 0
More Content

obtaining the list and properties of components in a brd file

Wale
Wale over 10 years ago

Any one out there has an existing SKILL script that list components properties by its Ref Des, Pkg Symbol, Device type, xy coordinates, and also call out properties attached to component instance..

Thanks 

WALE

  • Sign in to reply
  • Cancel
  • Ejlersen
    Ejlersen over 10 years ago

    Hi

    Thats a rather comprehensive questions, 

    To get you kickstarted you could look at the following pseudocode

    Create file with

    myfile = axlDMOpenFile("ALLEGRO_TEXT" "myfilename" "w")

    To obtain all components you could use

    complist = axlDBGetDesign()->components

    Then run through each component using

    foreach(compid complist

    refdes = compid->name

    compx=nth(0 compid->symbol->xy)

    compy=nth(1 compid->symbol->xy)

    fprintf(myfile "%s\t%f\t%f\n" refdes compx compy)

    then run through all properties, if there are any you get them through compid->prop

    )

    and remeber to use axlDMClose when finished writing to the file

    Best regards

    Ole

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Wale
    Wale over 10 years ago
    Thanks Ole.... Its a good start for me .. it really helped ..
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Wale
    Wale over 10 years ago
    Hi Ole, Now I want to retrieve the part number from the compponent property... do you know what function to use to call this property from the components list i generated? Thanks .. Wale
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Ejlersen
    Ejlersen over 10 years ago

    Hi Wale

    When you have the list you can simply use

    compid->compdef->prop->PART_NUMBER

    Best regards

    Ole

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Wale
    Wale over 10 years ago
    Thanks Ole... it was helpful.... Another thing please.... i am trying to attach the part number (comp_ipn) of this component to a user defined attribute "ASI_MODEL" using axlDBAddProp () function... i get a "not a floating point number error.... is there a way around this? The goal is to attach the partnumber t o ASI_MODEL ............................................................................................................................................................................. foreach(item comp_dbid
    comp_refdes = item->name
    comp_symbol = item->symbol->name
    comp_xy = item->symbol->xy
    comp_ipn = item->compdef->prop->PART_NUMBER



    comp_prop = axlDBGetProperties(item '("user" "allegro"))

    if(car(comp_prop) != "ASI_MODEL"
    comp_prop = axlDBAddProp(item '("ASI_Model", comp_ipn))


    )
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • 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