Home > Community > Forums > PCB SKILL > dangling lines

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 dangling lines 

Last post Mon, Jan 21 2008 9:47 AM by archive. 7 replies.
Started by archive 21 Jan 2008 09:47 AM. Topic has 7 replies and 2948 views
Page 1 of 1 (8 items)
Sort Posts:
  • Mon, Jan 21 2008 9:47 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    dangling lines Reply

    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
    • Post Points: 0
  • Tue, Jan 22 2008 6:19 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: dangling lines Reply

    OK, Due to the big amount of answers, I have to change the way to proceed... ;-)

    I need another tip:
    How to simulate a user click in a Form field list with the code?
    When I click on the "delete" button, I want the selected item to be deleted, the next to be selected.

    It works, but I have to click on the selected item again to get the code running.

    How to make that the axlFormListSelect( dl_form "dl_list" l_index + 1) automatically runs the code of the form_action?

    l_index=dl_form->curValueInt
    axlFormSetActiveField( dl_form "dl_list")
    axlFormListSelect( dl_form "dl_list" l_index + 1)
    axlFormListDeleteItem( dl_form "dl_list" l_index)


    Originally posted in cdnusers.org by willbi
    • Post Points: 0
  • Tue, Jan 22 2008 1:07 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: dangling lines Reply

    Try using axlSingleSelectBox. Set the bbox size very small.


    Originally posted in cdnusers.org by Dave Elder
    • Post Points: 0
  • Tue, Jan 22 2008 1:56 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: dangling lines Reply

    Not having the dangling_lines15_5 code in front of me I can only guess, but it sounds like it finds stub clines not stub clinesegs. Looping through a list of clinesegs coupled with a testing of results of axlDBGetConnect plus an optional testing on length should get you what you want.

    HTH,

    Chris Walters
    local Cadence guru
    ()


    Originally posted in cdnusers.org by kerchunk
    • Post Points: 0
  • Wed, Jan 23 2008 2:26 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: dangling lines Reply

    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
    • Post Points: 0
  • Wed, Jan 23 2008 6:07 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: dangling lines Reply

    I found a workaround with an axlShell command... but if someone has the solution, I'd like it.
    itemVal=axlFormListGetItem( dl_form "dl_list" dl_form->curValueInt + 1)
    axlFormListDeleteItem( dl_form "dl_list" dl_form->curValueInt)
    axlShell(sprintf(nil "setwindow form.dl_form;FORM dl_form dl_list '%s'" itemVal))


    Originally posted in cdnusers.org by willbi
    • Post Points: 0
  • Wed, Jan 23 2008 7:10 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: dangling lines Reply

    I would try axlFormGetField to get the current selected item in a list control.


    Originally posted in cdnusers.org by fxf
    • Post Points: 0
  • Wed, Jan 23 2008 7:28 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: dangling lines Reply

    I tried this but unsucessfully.... I tried with the index (curValueInt) or the string (curValue).

    Then I used axlFormListSelect with one or the other.
    The only thing it does is to put the item in blue (selected) but a dl_form->>?? still shows that curValue and curValueInt are those of the previous selected item...


    Originally posted in cdnusers.org by willbi
    • Post Points: 0
Page 1 of 1 (8 items)
Sort Posts:
Started by archive at 21 Jan 2008 09:47 AM. Topic has 7 replies.