• 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. Staggered circle shape array in a circular ring range

Stats

  • Replies 5
  • Subscribers 159
  • Views 15078
  • Members are here 0
More Content

Staggered circle shape array in a circular ring range

Jason Hsu
Jason Hsu over 6 years ago

Hi,

  I have one arithmetic question for staggered circle shape in a circular ring range. The radius of the circle shape is 7mil,center to center is 22mil. I want to add a staggered array in a area. But How to judge the staggered array lies in the range of circular ring?How to delete the circle shape out of the circular ring?The bBox only operate on rectangle,Anybody have a good method or sample code?Any help is appreciate,thanks in advance.

Best Regards

Jason

  • Cancel
  • Sign in to reply
  • eDave
    eDave over 6 years ago

    It's difficult to understand your question. Maybe post an image.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Jason Hsu
    Jason Hsu over 6 years ago in reply to eDave

    Hi Dave,

        Thank you very much for your quickly reply. My question is the following picture.

        I want to add many circle shape on one layer in the range of donuts. These circle shape is 7 mil radius, center to center is 22 mil. The donut's inner diameter & outside diameter is R1 & R2. I can add these circle as an staggered array, but how to delete the circle shape lies in R1 & outside R2? The bBox area only operate for rectangle as I known. For the pin 1~8, because they are small area, I can treat them as small rectangle. Delete the circle shape in the small area. I don't know if my expression is clear, but if do you have any method or sample code for me? Please help me, thanks a lot.

    Regards,

    Jason

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • eDave
    eDave over 6 years ago in reply to Jason Hsu

    Ok. Now it makes sense.

    Create two polygons:

    1/ with the inside diameter (R1) plus 7mils (using axlPolyExpand if necessary)

    2/ with the outside diameter (R2) less 7mils (using axlPolyExpand if necessary)

    Now use axlGeoPointInShape using the centre of each array circle to see if each circle is inside R2 and outside R1.

    You could also use axlPolyOperation commands but this would be much slower.

    I hope this helps.

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

    Of course it would be even easier to do this mathematically. Given that you know the donut's dimensions, a circle will fall fully inside the donut if its distance from the centre of the donut is between R1 - 7 and R2 + 7

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Jason Hsu
    Jason Hsu over 6 years ago in reply to eDave

    Thank you, Dave. I will try it later. I always can learn many ting from you. Thanks again.

    • 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