• 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. Getting Cline Seg list and Cline Seg data, and saving user...

Stats

  • Replies 6
  • Subscribers 159
  • Views 5520
  • Members are here 0
More Content

Getting Cline Seg list and Cline Seg data, and saving user data/settings

EvanShultz
EvanShultz over 15 years ago

Hi all, I have a 3 part question.

 

Getting Cline Segs:

I am interested in selecting Cline Segs, and I don't know of any better way than using the Allegro select functions as axlDBGetDesign()->?doesn't show Cline Segs. Is there a better way to create a list of all Cline Seg dbids than to turn on all etch layers and use axlAddSelectAll() after setting the Find Filter to only Cline Segs?

 

Saving environment settings:

Assuming not, I want to save the Find Filter settings since I will need to (possibly) change it to enable Cline Segs. However, I am getting "nil" instead of a meaningful list when I use axlGetFindFilter(nil) or axlGetFindFilter(t). I run the function when sitting in EE mode with several boxes checked. Why wouldn't I get a list returned to me?

I found a (possibly internal Cadence) function Dave put at www.cadence.com/.../18504.aspx. This also retuns nil. Why? (BTW, it's used in Larry Bowman's Allegro SKILL programs).

I then tried the function that Craig wrote about in the same post. That seems to work, but what is retuned is "axluidata:<number>". How do I use this?

 

When I'm done, even if I don't restore the Find Filter, it never changes. If I set enabled and onButtons to list("noall" "clinesegs"), the Find Filter is no different than before I run my program. But if I comment out the line where I change the Find Filter no Cline Segs are found. So I know the program is setting the Find Filter, at least while it if running, but the Find tab isn't changing.

 

Finding Cline Seg angle:

Checking the properties of a Cline Seg (dbid->??) doesn't show the info in the "Delta-xy" or "Normalize angle" fields from the Show Element form of an "odd" Cline Seg. I am assuming this means this information is calculated when the Show Element form is created. Is there a way to directly extract this info from a Cline Seg? Getting the angle from Allegro is almost certainly better than the (seemingly) overly complicated program I've written which doesn't even quite work perfectly yet...

 

By the way, it appears to me that Allegro's "Normalize angle" is finding the angle within 2pi (0 to 360 degrees) , and then subtracting 0.5pi if the seg is in quadrant II, subtracting pi if the angle is in quadrant III, etc. So the "Normalize angle" is always between 0 and 90 degrees. Does anyone know for sure if this is Allegro's method? If so, I'm sure I can modify my code to report that Allegro's giving me if I can't get the angle directly. I haven't gotten it all figured out yet so any tips, for instance this same code in another language, would be helpful.

 

Thanks in advance!

  • Sign in to reply
  • Cancel
Parents
  • EvanShultz
    EvanShultz over 15 years ago

     Hi fxffxf and Craig,

     Thanks for the suggestions and help!

     Here are my thoughts on the various methods for gathering Cline Segs:

    1. axlSelect - it precludes the ability to create an Allegro report since it requires interaction with the database

     2. axlDBGetDesign()->nets and traverse the branches - can create reports, but this method also captures Cline Segs that are spokes for a shape. Is there a way to filter out spokes from "real" Cline Segs? If so, this looks like the way to go for me.

    3. one of the other methods will work better for me in this situation, but thanks for pointing it out.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • EvanShultz
    EvanShultz over 15 years ago

     Hi fxffxf and Craig,

     Thanks for the suggestions and help!

     Here are my thoughts on the various methods for gathering Cline Segs:

    1. axlSelect - it precludes the ability to create an Allegro report since it requires interaction with the database

     2. axlDBGetDesign()->nets and traverse the branches - can create reports, but this method also captures Cline Segs that are spokes for a shape. Is there a way to filter out spokes from "real" Cline Segs? If so, this looks like the way to go for me.

    3. one of the other methods will work better for me in this situation, but thanks for pointing it out.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
No Data
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