• 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. Skill for removing voids?

Stats

  • Replies 6
  • Subscribers 160
  • Views 15272
  • Members are here 0
More Content

Skill for removing voids?

Olli
Olli over 8 years ago

Has anyone written a skill script to remove shape voids in a design? 

I can't figure out how to select the voids on a regular macro but it should be possible in SKILL.

  • Sign in to reply
  • Cancel
  • Olli
    Olli over 8 years ago

    This is my best effort with regards to a regular script. "Drag_start" and "drag_stop" are not documented and I've noticed that changing the numbers tends to make the script fail. Originally that comes from macro recorder of course. 

    The script kills (most) voids for whatever shape is under the cursor at the time. 

    Allegro script
    # start time: Wed Sep 28 11:27:52 2016
    # Version: 17.2-2016 S005 (v17-2-50AQ) Windows SPB 64-bit Edition
    version 17.2

    #setwindow pcb
    trapsize 599
    shapeedit
    shape void delete
    pick_to_grid -cursor

    # Macro file: coordinates are relative to pick on replay.

    #pick_origin
    drag_start rel grid -112.155 86.513
    drag_stop rel 235.813 -148.821
    pick rel grid 0 0
    #prepopup rel 0.000 0.000
    done
    #shapeedit

    # stop time: Wed Sep 28 11:28:26 2016

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

    here is some simple skill code that should delete all the voids in a design:

    procedure(delete_voids()
        let((o_shape)
            (axlClearSelSet)
            (axlSetFindFilter ?enabled list("noall" "voids" "INVISIBLE") ?onButtons list("noall" "voids"))
            axlAddSelectAll()
            foreach(void axlGetSelSet()
                (o_shape = axlDBOpenShape(void->parent nil))
                axlShapeDeleteVoids(void)
                axlDBCreateCloseShape(o_shape)
            )
        )
    )
    axlCmdRegister("delete_voids" 'delete_voids ?cmdType "general")

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Olli
    Olli over 8 years ago
    This crashes 17.2 S015 when I run it. Does this have requirements i.e. need to be in specific mode or something?
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • DavidJHutchins
    DavidJHutchins over 8 years ago

    it runs without any issues for me in 16.6 and 17.2 S018

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Olli
    Olli over 8 years ago
    That's how it sometimes is. Thanks anyways, I went back to S015 because they broke step models in 3D viewer..
    • 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