• 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. Clear silkscreen from pins in Allegro Package

Stats

  • State Suggested Answer
  • Replies 110
  • Answers 2
  • Subscribers 172
  • Views 93168
  • Members are here 0
More Content

Clear silkscreen from pins in Allegro Package

chads108
chads108 over 13 years ago

 Does anyone have some SKILL code that will clear silkscreen lines back x distance from pins, either as a group or individually?  I want to use this during footprint building.  Currently I have to use delete and cut to remove pieces of lines that run through pads.

  • Cancel
  • Sign in to reply
  • prasisvg
    0 prasisvg over 10 years ago

    Dear Dave,

    Sorry I did not know that the attachment were missing.

    As a matter of fact I have not followed your instructions properly that is why the Error Occurred. Now it is just working Fine and Smooth.

    Thanks For your response.

    I am not sure that this the correct thread to ask this question I believe this make sense. I have a task it is to create a Dotted outline line in bottom silk layer for through hole
    components (Reference for Soldering the leads ).

    Tried to use the Dotted lines but the tool did not let me to have it in silk layer(Subclass).

    Now I have written a code for reading the line,arc,circle segments from Top silk layer then draw them in Bottom silk layer. But I will have to cut those lines evenly.

    Please find the below code and help me to finish my task.

    CODE:

    foreach(line   get_lines_arc_circle
      when(line->layer == "PACKAGE GEOMETRY/SILKSCREEN_TOP"
      foreach(seg  line->segments         
      if((seg->objType=="arc") then
      radius = seg->radius
      if((radius>radi) then
      startEnd = seg->startEnd
      start    = nthelem(1 startEnd)
      end      = nthelem(2 startEnd)
      start.x  = nthelem(1 start)
      start.y  = nthelem(2 start)
      end.x    = nthelem(1 end)
      end.y    = nthelem(2 end)    
      mid = axlGeoArcCenterRadius(start.x:start.y end.x:end.y radius)
     (axlDBCreatePath
     (axlPathArcCenter
     (axlPathStart (list start.x:start.y)) 0.1524 end.x:end.y t mid) "PACKAGE GEOMETRY/SILKSCREEN_BOTTOM")              
    ))
     if((seg->isCircle) then
     radiu = seg->radius
     if((radiu>radi) then
     co=seg->xy    
     axlDBCreateCircle( list(co radiu), 0.1524, "PACKAGE GEOMETRY/SILKSCREEN_BOTTOM")    
    ))
     if(!(seg->isCircle) then
     if(!(seg->objType=="arc") then
    if(seg->objType=="line" then
     send = seg->startEnd      
     start = nthelem(1 send)
     end   = nthelem(2 send)
     start.x  = nthelem(1 start)
     start.y  = nthelem(2 start)
     end.x    = nthelem(1 end)
     end.y    = nthelem(2 end)
     po1=list(start.x start.y)
     po2=list(end.x end.y)
     po3=list(po1 po2)
     disx=axlDistance(start.x:start.y,end.x:end.y)
     midline=axlMidPointLine(list(start.x:start.y end.x:end.y))
     axlDBCreateLine(po3 0.1524 "PACKAGE GEOMETRY/SILKSCREEN_BOTTOM")
     )))))))


    Appreciate your response.

    Regards,
    Prasi

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • eDave
    0 eDave over 10 years ago

    It would have been better to start a new thread.

    Attached is some code that might help you.prasi.zip

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • prasisvg
    0 prasisvg over 10 years ago

    Dear Dave,

    Thank you very  much.

    Really Appreciate your response.

    Code is really cool and it is a good learning for me.

    Now I feel better to write a skill with some advanced math functions.

    Thanks and Regards,

    Prasi

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • gaydance
    0 gaydance over 9 years ago
    Hi Dave, I am using the version 16.6 and have loaded your code EDAVE_clearPinSilk.cxt. But when I want to run it I write "clear pin silk" and get the error "unbound variable - pin". Could you please help me to get it working. Thanks very much in advance
    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • eDave
    0 eDave over 9 years ago

    You should type that command in the command line not in a Skill window.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • 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