• 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. starting with skill

Stats

  • Replies 4
  • Subscribers 158
  • Views 13296
  • Members are here 0
More Content

starting with skill

archive
archive over 20 years ago

Hi,

Id like to attempt a skill program that takes the ref des. in Allegro and auto matically rotates them either 0 or 90 degrees. I dont have any experience with SKILL but I was looking thru the functions and did not see anything that would help. What is the best way to get started? I looked at the Cadence samples but these are all mathematical computation type of routines. Where would I find a routine that manipulates an Allegro database?

Thanks,

mw


Originally posted in cdnusers.org by mscm95
  • Sign in to reply
  • Cancel
  • archive
    archive over 20 years ago

    please see cadence doc


    Originally posted in cdnusers.org by microhelp
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • archive
    archive over 20 years ago

    I hope this helps out for some...
    http://www.amkor.com/products/notes_papers/Cadence_Paper1003.pdf


    Originally posted in cdnusers.org by mdrei
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • archive
    archive over 20 years ago

    All,
    Moody's paper is also published on this community site under PCB Design/Technical Resources/SKILL. URL is http://www.cadence.com/community/allegro/Resources/resources_PCB/skill/tpamkor_skillcustomization.pdf


    Originally posted in cdnusers.org by Moderator
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • archive
    archive over 20 years ago

    This is quite tricky.
    You have to select all text on the appropriate layes, i.e:

    axlClearSelSet()
    axlSetFindFilter( ?enabled (list "noall" "invisible" "text") ?onButtons (list "text"))
    text_list = axlGetSelSet( axlAddSelectAll())
    axlCloseFindFilter()

    this gives all kind of text in the list text_list.
    Now iterate (use foreach) every element and check if it's on the appropriate layer i.e.:

    foreach( text_db text_list
    cond(
    (text_db->layer == "REF DES/ASSEMBLY_TOP"
    do_something( text_db)
    )
    );end-cond
    );end-foreach

    in do_something() you have to remenber the parent id, the old text and then you delete te old text and create a new one with the right parent..

    axlDBCreateText(
    old_dbid->text
    old_dbid->xy
    new_orientation
    old_dbid->layer
    old_dbid->parent)

    axlDeleteObject( old_dbid)

    That's it.
    Tobias


    Originally posted in cdnusers.org by tschirmer
    • 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