• 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. report file

Stats

  • State Suggested Answer
  • Replies 8
  • Answers 1
  • Subscribers 159
  • Views 2105
  • Members are here 0
More Content

report file

masamasa
masamasa 4 months ago

hello:

 

some report files have the xy locations which have a link to the exact location.

 

for instance i can click the xy coordinates highlighted in blue and automatically i am pointed into the location.

 

however, some other report files do not have a locational link.

  

for instance, there are xy coordinates on the report file without a link to the location as shown below.

 

is there a way to list up the xy coordinates with a link to the locations on all report files?

 

regards

masa

  • Sign in to reply
  • Cancel
  • Hoangkhoipcb
    0 Hoangkhoipcb 3 months ago

    Hi Masa,

    You can refer this code.

    axlCmdRegister("rpt2log" 'rpt2log)
    (defun rpt2log ()
        rpt_path = axlDMFileBrowse(nil nil )
        if(rpt_path != nil && index(rpt_path ".htm") then
            println(rpt_path)
            header = nil
            content = nil
            inPort = infile(rpt_path)
            Out_File = outfile("./rpt2log.log" "w")
            while(gets(nextline inPort)
                if(length(parseString(nextline)) >=1 then
                    nextline1 = car(parseString(nextline, "\n"))
                    if( nextline1 != ""  then
                        str_line = car(parseString(nextline1, "\n"))
                        if(index(str_line "<tr>") then
                            tmp_list = nil
                        else
                            if(index(str_line "</tr>") then
                                if(length(unique(tmp_list)) >1  then
                                    content = cons(tmp_list content)
                                )
                                tmp_list = nil
                            else
                                if(index(str_line "<td") && index(str_line "</td>") then
                                    pstr = cadr(parseString(str_line ">"))
                                    pstr = car(parseString(pstr "<"))
                                    if(pstr =="&nbsp;" then
                                        tmp_list = cons(" " tmp_list)
                                    else
                                        tmp_list = cons( pstr tmp_list)
                                    )
                                    if(index(str_line "<td><b>") then
                                        pstr = caddr(parseString(str_line ">"))
                                        pstr = car(parseString(pstr "<"))
                                        header = cons(pstr header)
                                    )
                                )
                            )
                        )  
                    )
                );end if
            );end while
            close(inPort)
            if(header != nil then
                header =  reverse(header)
                col_short = list("PIN_X" "PIN_NUMBER" "PIN_Y")
                foreach(item header
                    if(member(item col_short) then
                        fprintf(Out_File "%-12s" item)
                    else
                        fprintf(Out_File "%-30s" item)
                    )
                )
                fprintf(Out_File "\n")
                foreach(item content
                    col = 0
                    foreach(str reverse(item)
                        if(member(nth(col header) col_short) then
                            if(nth(col header) == "PIN_X" then
                                fprintf(Out_File "(%s " str)
                            else
                                if(nth(col header) == "PIN_Y" then
                                    fprintf(Out_File "%s) %-10s" str " ")
                                else
                                    fprintf(Out_File "%-12s" str)
                                )
                            )
                           
                        else
                            fprintf(Out_File "%-30s" str)
                        )
                        col++
                    )
                        fprintf(Out_File "\n")
                )
            )
            close(Out_File)
        )
    )
    Regards,
    HoangKhoi
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • DavidJHutchins
    0 DavidJHutchins 3 months ago in reply to Hoangkhoipcb

    I updated my code to fail if the file type is not "rpt" & to not process the files that are already written in the 'new' format

    example messages:

    ERROR: file type html not supported with this tool

    Warning: file Net_Single_Pin_and_No_Pin.rpt is already in the new format

    3857.rpt_update.zip

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • Hoangkhoipcb
    0 Hoangkhoipcb 3 months ago in reply to DavidJHutchins

    Thank you for your clear support.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • 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