• 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. Half filled shape in vias

Stats

  • Replies 16
  • Subscribers 162
  • Views 18125
  • Members are here 0
More Content

Half filled shape in vias

vimaldevlpr
vimaldevlpr over 5 years ago

Hi, 

Is any way to find the location half filled shape in via using skill. if it possible can anyone please share me the code or guide me how to do it.

Like this Red color via 

  • Sign in to reply
  • Cancel
Parents
  • Parames
    Parames 1 month ago

    Hi all, 


    I have tried this code and its not showing any error, but i have the error that half shape connected in same net via. can someone help me to figure out issue?

    Thanks,

    parameswaran 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • DavidJHutchins
    DavidJHutchins 1 month ago in reply to Parames

    I updated the code by correcting a few issues to make skill lint happy, added a meter so you can see the progress thru the shapes,

    added the 'ErrorTypes' of 'Coverage' for the original & added 'NoConnect' for same-net vias not connected to the shape...

    the attached zip file contains the alatest skill code...svc.zip

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Parames
    Parames 1 month ago in reply to DavidJHutchins

    Hi David,

     This code checks overall shape in my design, but if its multi-layer project it takes too much of time, can you please get the code for layer-by-layer shape check.

    Thanks.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • DavidJHutchins
    DavidJHutchins 1 month ago in reply to Parames

    I added a command line option to allow you to specify which layer to process, below are examples from the journal file:

    \i (00:06:15) skill 'load "svc.il"'
       (00:06:15) function svc redefined
       (00:06:15) t
    \i (00:06:18) svc botom
    \t (00:06:18) Layer botom not found
    \i (00:06:18) generaledit
    \i (00:06:38) svc bottom
    \i (00:06:39) setwindow text
    \i (00:06:39) stick
    \i (00:06:39) setwindow pcb
    \i (00:06:39) generaledit
    \i (00:06:55) setwindow text
    \i (00:06:55) close

    the updated code is in the attached zip file

    1385.svc.zip

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • DavidJHutchins
    DavidJHutchins 1 month ago in reply to Parames

    I added a command line option to allow you to specify which layer to process, below are examples from the journal file:

    \i (00:06:15) skill 'load "svc.il"'
       (00:06:15) function svc redefined
       (00:06:15) t
    \i (00:06:18) svc botom
    \t (00:06:18) Layer botom not found
    \i (00:06:18) generaledit
    \i (00:06:38) svc bottom
    \i (00:06:39) setwindow text
    \i (00:06:39) stick
    \i (00:06:39) setwindow pcb
    \i (00:06:39) generaledit
    \i (00:06:55) setwindow text
    \i (00:06:55) close

    the updated code is in the attached zip file

    1385.svc.zip

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • Parames
    Parames 26 days ago in reply to DavidJHutchins

    Hi David, 

    thanks for the support. i have one more change from this code, i try to fix that but i got error.
    "My requirement is need to find if shape is not covering the drill only", if shape not fully cover the pad i don't have any issue in that. can you please help me to fix.

    Thanks.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • DavidJHutchins
    DavidJHutchins 25 days ago in reply to Parames

    I added an optional Drill command line switch to change from the pad size to the drill size:

    C:\Users\David1\Documents>diff svc.il~ svc.il
    1c1
    < procedure(svc(@optional (Layer ""))
    ---
    > procedure(svc(@optional (Layer "") (Drill nil))
    61c61,65
    <                         (via_poly = car((axlPolyFromDB via ?layer (shape->layer) ?padType "REGULAR")))
    ---
    >                         if(Drill then
    >                             (via_poly = car(axlPolyFromDrillHole(via)))
    >                         else
    >                             (via_poly = car((axlPolyFromDB via ?layer (shape->layer) ?padType "REGULAR")))
    >                         )

    C:\Users\David1\Documents>

    In my test-case design running the following command found 194 issues:

    \i (00:01:51) svc top

    While the following command found 1 issue:

    \i (00:02:07) svc top t

    The skill code is in the attached zip file

    4035.svc.zip

    • 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