• 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. quickplace by schematic page number

Stats

  • Replies 5
  • Subscribers 17
  • Views 10448
  • Members are here 0
More Content

quickplace by schematic page number

tennywhy
tennywhy over 7 years ago

i want quickplace components by schematic page number at different locations , how can i implement this use skill ? could anyone help me ?

i have looked throught the manual but havent find out the functions

  • Cancel
  • Sign in to reply
Parents
  • eDave
    eDave over 7 years ago

    car(sym ->component ->functions) ->prop ->PHYS_PAGE

    Where sym is the symbol dbid

    Of course the preferred way to do this is to use Rooms.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • tennywhy
    tennywhy over 7 years ago in reply to eDave

    thanks sir , i have try it  and cant get work , the code as follow

        axlSetFindFilter(?enabled list("noall" "symbols")   ?onButtons list("noall" "symbols"))
        allSymbols = axlGetSelSet(axlAddSelectAll())
        axlClearSelSet()
        symb = car(allSymbols) ;for test
        printf("%L IS PAGE \n" car(symb->component->functions)->prop->PHYS_PAGE)
          ; actually the first symbol refdes is db9 and in page 6, the result is nil

    where goes wrong ? help me please

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • DavidJHutchins
    DavidJHutchins over 7 years ago in reply to tennywhy

    I think you should be looking at components instead of symbols, since some symbols will not have schematic information attached, please try the following:

    axlClearSelSet()

    (axlSetFindFilter ?enabled list("noall" "components" "invisible") ?onButtons list("noall" "components"))

    axlAddSelectAll()

    foreach(comp axlGetSelSet() axlMsgPut("redes %s page %s" comp->name car(comp->functions)->prop->PHYS_PAGE))

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • DavidJHutchins
    DavidJHutchins over 7 years ago in reply to tennywhy

    I think you should be looking at components instead of symbols, since some symbols will not have schematic information attached, please try the following:

    axlClearSelSet()

    (axlSetFindFilter ?enabled list("noall" "components" "invisible") ?onButtons list("noall" "components"))

    axlAddSelectAll()

    foreach(comp axlGetSelSet() axlMsgPut("redes %s page %s" comp->name car(comp->functions)->prop->PHYS_PAGE))

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • tennywhy
    tennywhy over 7 years ago in reply to DavidJHutchins

    thanks sir, i have tried your code , it's all right except the PHYS_PAGE attribute,  it seem as no PHYS_PAGE attribute , the code as below, give me some advice more please.

    defun( placeByPage ()
        let((pageTemp pageNumOfSymbol comp all_symbol)
        pageTemp='(caar(symbolEx) cdr(symbolEx)) ;place symbol from here to top
        axlClearSelSet()
        (axlSetFindFilter ?enabled list("noall" "components" "invisible")
            ?onButtons list("noall" "components"))
        all_symbol=axlGetSelSet(axlAddSelectAll())
        axlClearSelSet()
        foreach(comp all_symbol
            axlMsgPut(" page %L" car(comp->functions)->prop)   ; all right at here
            axlMsgPut(" page %L" car(comp->functions)->prop->PHYS_PAGE) ; is nil at here
            )
       ) )

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • tennywhy
    tennywhy over 7 years ago in reply to tennywhy

    does any other methods for place symbols to work zone by schematic page number? ,  or ,only scr macro to do this ?  Dave has suggested use rooms, but i havent the schematic file, it's difficult to do by that way.

    • 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