• 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. Custom IC SKILL
  3. Pcell symbol with curved shapes using dbCreateArc faili...

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 143
  • Views 4750
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Pcell symbol with curved shapes using dbCreateArc failing

rglenf
rglenf over 1 year ago

Hello,

I am trying to create a pcell symbol with small curved shapes.  When using dbCreateArc, I am constantly getting - *WARNING* (DB-270000): dbCreateArcByBBox: The arc bounding box incorrectly intersects the ellipse bounding box.  I cannot seem to find any information on how to correct this.

Sample code:

cv = geGetEditCellView()
lineLayer = '("device" "drawing")
arc1 = dbCreateArc(cv lineLayer list(0.08125:0.1375 0.13125:0.1875) list(0.08125:0.1375 0.1125:0.1875))

Any suggestions?

-Glen

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago

    Glen,

    The issue is that arcs are (I believe) limited to a maximum of 180 degrees, and this would result in a longer arc than 180 degrees. The error message (which comes from OpenAccess) doesn't make this terribly clear; I've requested that the documentation is improved to make the 180 degree limit clear and also to mention what might trigger this error message.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • rglenf
    rglenf over 1 year ago in reply to Andrew Beckett

    Andrew,

    Thanks for the reply.  I discovered that the ellipse bbox and the arc bbox can only overlap on 1 or 2 edges.  My call was overlapping on 3.  This is consistent with your comment about a maximum 180 degree.  I'd say that is more like just under 180 degree as 180 would require 3 edge overlap.  Once I pulled back the arc bbox to only overlap 2 sides, it worked.  

    Thanks for your response.

    -Glen

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to rglenf

    Hi Glen,

    Actually, you can have a 3 edge overlap if it ends up being a narrow region of one end of the ellipse box (I tried this). For example - the white box is the ellipse box, the yellow is the arc box:

    There are a few other failure modes that can result in the error message (for example, a zero-area rectangle for the arc box), but the main one appears to be due to the angle constraint.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • rglenf
    rglenf over 1 year ago in reply to Andrew Beckett

    Andrew,

    Interesting.  I re-entered my original command, which failed.  I then reduced the x(UR) of the arc bbox until it worked.  

    Original: dbCreateArc(cv lineLayer list(0.08125:0.1375 0.13125:0.1875) list(0.08125:0.1375 0.1125:0.1875))

    Worked: dbCreateArc(cv lineLayer list(0.08125:0.1375 0.13125:0.1875) list(0.08125:0.1375 0.1093:0.1875))

    It seems the 0.1125 is just over half of the x of the ellipse bbox.  Half would be (0.08125:0 + 0.13125) / 2 = 0.10625, within the working range of the arc bbox.

    Thanks for the insight.

    Regards,

    Glen

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

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