• 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. dangling lines

Stats

  • Replies 7
  • Subscribers 158
  • Views 15920
  • Members are here 0
More Content

dangling lines

archive
archive over 17 years ago

Hello All.

I am trying to improve the dangling_lines15_5.il routine.
I have a BRD with quite a lot of these dangle.
I want to be able to delete these segs.
So when I am in the list of items (in the form), I added a Delete button.

But, this routine does not select the right seg. Sometimes it selects the good clines instead of the dangling line.
By clicking again in the list on the same seg, I pass through segs. But sometimes it does not select at all the faulty seg.
As the seg to be deleted as a "off-grid" coordinate, is there a way to "axlSingleSelect-something" with a snap, to be sure to select the wanted object?

Dangline lines are often segs within 0.1mils or 0.01mils value... Thanks.


Originally posted in cdnusers.org by willbi
  • Sign in to reply
  • Cancel
Parents
  • archive
    archive over 17 years ago

    Dave: The select box, as small as it is, selects all clines close to it:
    FUNCTION
    Find all objects that intersect with the input box and meet the find
    filter criteria.
    The problem is with very small clines (close to 0.1mils long or 0.01)
    I succeeded to extract only the one I want, by parsing selected clines->segments and analyzing startEnd. If it meets the one of the report, I select it. So now it works.
    report line: Dangling line on "VCC_IN_1" TOP from *(5507.00 3995.87) to (5506.89 3995.76)
    list1 list2
    foreach(cline selbox
    segs=cline->segments
    firstSeg=nth(0 segs)
    clineStart=car(firstSeg->startEnd)
    lastSeg=nth(length(segs)-1 segs)
    clineEnd=cadr(lastSeg->startEnd)
    list1=list(xs1 ys1)
    list2=list(xs2 ys2)
    if(list(list1 list2) == list(clineStart clineEnd) then dbid_list=append1(dbid_list cline))
    );foreach

    Then, now I still have a problem with the form list.

    How can I do to select the next item in the list and make the same effects as if I was clicking manually in the list.
    Actually, the "axlFormListSelect( dl_form "dl_list" dl_form->curValueInt + 1)" code select graphically the next item (it is greyed), but the if I run "dl_form->curValueInt" in skill mode, I am still on the previous one (equal to 0, no zoom to dbid is applied)....
    If I manually click on the selected item, then dl_form->curValueInt is equal to 1 and the zoom is on the next dbid).


    Originally posted in cdnusers.org by willbi
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • archive
    archive over 17 years ago

    Dave: The select box, as small as it is, selects all clines close to it:
    FUNCTION
    Find all objects that intersect with the input box and meet the find
    filter criteria.
    The problem is with very small clines (close to 0.1mils long or 0.01)
    I succeeded to extract only the one I want, by parsing selected clines->segments and analyzing startEnd. If it meets the one of the report, I select it. So now it works.
    report line: Dangling line on "VCC_IN_1" TOP from *(5507.00 3995.87) to (5506.89 3995.76)
    list1 list2
    foreach(cline selbox
    segs=cline->segments
    firstSeg=nth(0 segs)
    clineStart=car(firstSeg->startEnd)
    lastSeg=nth(length(segs)-1 segs)
    clineEnd=cadr(lastSeg->startEnd)
    list1=list(xs1 ys1)
    list2=list(xs2 ys2)
    if(list(list1 list2) == list(clineStart clineEnd) then dbid_list=append1(dbid_list cline))
    );foreach

    Then, now I still have a problem with the form list.

    How can I do to select the next item in the list and make the same effects as if I was clicking manually in the list.
    Actually, the "axlFormListSelect( dl_form "dl_list" dl_form->curValueInt + 1)" code select graphically the next item (it is greyed), but the if I run "dl_form->curValueInt" in skill mode, I am still on the previous one (equal to 0, no zoom to dbid is applied)....
    If I manually click on the selected item, then dl_form->curValueInt is equal to 1 and the zoom is on the next dbid).


    Originally posted in cdnusers.org by willbi
    • 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