⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 find_dlines.il

📁 ALLEGRO SKILL SAMPLE CODE
💻 IL
📖 第 1 页 / 共 4 页
字号:
 fprintf(form "TLOC 0 0\n")
 fprintf(form "ENDTEXT\n")
 fprintf(form "\n")
 fprintf(form "TEXT \"\"\n")
 fprintf(form "TLOC 0 1\n")
 fprintf(form "ENDTEXT\n")
 fprintf(form "\n")
 fprintf(form "TEXT \"  This program will locate any Clines or Lines on the                \"\n")
 fprintf(form "TLOC 0 2\n")
 fprintf(form "ENDTEXT\n")
 fprintf(form "\n")
 fprintf(form "TEXT \"  Conductor Class/Subclass that do not have any associated           \"\n")
 fprintf(form "TLOC 0 3\n")
 fprintf(form "ENDTEXT\n")
 fprintf(form "\n")
 fprintf(form "TEXT \"  net name.  Select the Info button for more details.                \"\n")
 fprintf(form "TLOC 0 4\n")
 fprintf(form "ENDTEXT\n")
 fprintf(form "\n")
 fprintf(form "TEXT \"\"\n")
 fprintf(form "TLOC 0 5\n")
 fprintf(form "ENDTEXT\n")
 fprintf(form "\n")
 fprintf(form "TEXT \"\"\n")
 fprintf(form "TLOC 0 6\n")
 fprintf(form "ENDTEXT\n")
 fprintf(form "\n")
 fprintf(form "TEXT \"*********************************************************************\"\n")
 fprintf(form "TLOC 0 7\n")
 fprintf(form "ENDTEXT\n")
 fprintf(form "\n")
 fprintf(form "TEXT \"Dangling Clines\"\n")
 fprintf(form "TLOC 3 12\n")
 fprintf(form "ENDTEXT\n")
 fprintf(form "\n")
 fprintf(form "TEXT \"Dangling Lines\"\n")
 fprintf(form "TLOC 46 12\n")
 fprintf(form "ENDTEXT\n")
 fprintf(form "\n")
 fprintf(form "TEXT \"Found\"\n")
 fprintf(form "TLOC 1 26\n")
 fprintf(form "ENDTEXT\n")
 fprintf(form "\n")
 fprintf(form "TEXT \"Clines\"\n")
 fprintf(form "TLOC 14 26\n")
 fprintf(form "ENDTEXT\n")
 fprintf(form "\n")
 fprintf(form "TEXT \"Found\"\n")
 fprintf(form "TLOC 44 26\n")
 fprintf(form "ENDTEXT\n")
 fprintf(form "\n")
 fprintf(form "TEXT \"Lines\"\n")
 fprintf(form "TLOC 57 26\n")
 fprintf(form "ENDTEXT\n")
 fprintf(form "\n")
 fprintf(form "FIELD delete_all_clines\n")
 fprintf(form "FLOC 1 9\n")
 fprintf(form "MENUBUTTON \"Delete ALL Clines\" 19 3\n")
 fprintf(form "ENDFIELD\n")
 fprintf(form "\n")
 fprintf(form "FIELD delete_all_lines\n")
 fprintf(form "FLOC 44 9\n")
 fprintf(form "MENUBUTTON \"Delete ALL Lines\" 18 3\n")
 fprintf(form "ENDFIELD\n")
 fprintf(form "\n")
 fprintf(form "FIELD cline_list\n")
 fprintf(form "FLOC 1 14\n")
 fprintf(form "LIST \"\" 20 5\n")
 fprintf(form "ENDFIELD\n")
 fprintf(form "\n")
 fprintf(form "FIELD line_list\n")
 fprintf(form "FLOC 44 14\n")
 fprintf(form "LIST \"\" 20 5\n")
 fprintf(form "ENDFIELD\n")
 fprintf(form "\n")
 fprintf(form "FIELD delete_one\n")
 fprintf(form "FLOC 21 15\n")
 fprintf(form "MENUBUTTON \"Delete SELECTED X/Y\" 21 3\n")
 fprintf(form "ENDFIELD\n")
 fprintf(form "\n")
 fprintf(form "FIELD total_clines\n")
 fprintf(form "FLOC 7 26\n")
 fprintf(form "INFO_ONLY\n")
 fprintf(form "INTFILLIN 4 4\n")
 fprintf(form "ENDFIELD\n")
 fprintf(form "\n")
 fprintf(form "FIELD total_lines\n")
 fprintf(form "FLOC 50 26\n")
 fprintf(form "INFO_ONLY\n")
 fprintf(form "INTFILLIN 4 4\n")
 fprintf(form "ENDFIELD\n")
 fprintf(form "\n")
 fprintf(form "FIELD find_clines\n")
 fprintf(form "FLOC 1 29\n")
 fprintf(form "MENUBUTTON \"Find Dangling Clines\" 22 3\n")
 fprintf(form "ENDFIELD\n")
 fprintf(form "\n")
 fprintf(form "FIELD find_lines\n")
 fprintf(form "FLOC 44 29\n")
 fprintf(form "MENUBUTTON \"Find Dangling Lines\" 22 3\n")
 fprintf(form "ENDFIELD\n")
 fprintf(form "\n")
 fprintf(form "FIELD remove_drcs\n")
 fprintf(form "FLOC 11 33\n")
 fprintf(form "MENUBUTTON \"Remove DRCs\" 15 3\n")
 fprintf(form "ENDFIELD\n")
 fprintf(form "\n")
 fprintf(form "FIELD remove_hilite\n")
 fprintf(form "FLOC 36 33\n")
 fprintf(form "MENUBUTTON \"UnHilite Errors\" 17 3\n")
 fprintf(form "ENDFIELD\n")
 fprintf(form "\n")
 fprintf(form "FIELD done\n")
 fprintf(form "FLOC 2 37\n")
 fprintf(form "MENUBUTTON \"Done\" 10 3\n")
 fprintf(form "ENDFIELD\n")
 fprintf(form "\n")
 fprintf(form "FIELD pr_help\n")
 fprintf(form "FLOC 40 37\n")
 fprintf(form "MENUBUTTON \"Info\" 10 3\n")
 fprintf(form "ENDFIELD\n")
 fprintf(form "\n")
 fprintf(form "FIELD print\n")
 fprintf(form "FLOC 52 37\n")
 fprintf(form "MENUBUTTON \"Print\" 10 3\n")
 fprintf(form "POP \"PRINTP\"\n")
 fprintf(form "ENDFIELD\n")
 fprintf(form "\n")
 fprintf(form "ENDTILE\n")
 fprintf(form "\n")
 fprintf(form "ENDFORM\n")
 close(form)
 ); end defun _createForm

;########################################################################
;#                                                                      #
;#                Function _helpButton                                  #
;#                                                                      #
;########################################################################
(defun _helpButton ()
 helpfile = "find_dlines.info"
 info = outfile(helpfile "w")
 fprintf(info "########################################################################\n")
 fprintf(info "#                                                                      #\n")
 fprintf(info "#                Header Section                                        #\n")
 fprintf(info "#                                                                      #\n")
 fprintf(info "########################################################################\n")
 fprintf(info "     \n")
 fprintf(info " Date Created: December 22, 1995\n")
 fprintf(info " Tested with Allegro Release:  11.0 - 9502\n")
 fprintf(info " Name of this file: find_dlines.il\n")
 fprintf(info " Written by Larry Bowman (bowman@cadence.com)\n")
 fprintf(info "\n")
 fprintf(info "\n")
 fprintf(info " 1-5-96 Added option of leaving traces hilighted.\n")
 fprintf(info "        added to comment section\n")
 fprintf(info "        changed 'ars' references to 'skill'\n")
 fprintf(info "\n")
 fprintf(info " 1-8-96 Corrected problem with registering command name\n")
 fprintf(info "\n")
 fprintf(info "-----------------------------------------------------------------------------\n")
 fprintf(info "|      Revision: May 10, 1996                                               |\n")
 fprintf(info "|            By: Larry Bowman - Cadence Technical Services                  |\n")
 fprintf(info "|         email: bowman@cadence.com                                         |\n")
 fprintf(info "|     Telephone: 512-349-1109                                               |\n")
 fprintf(info "| Modifications: Modified this program to have a form driven interface.     |\n")
 fprintf(info "|                The form will display all the dangling clines and          |\n")
 fprintf(info "|                dangling lines.  From the form, the user may select        |\n")
 fprintf(info "|                any of the dangling clines or dangling lines by their      |\n")
 fprintf(info "|                XY locations and the program will dehilite the other       |\n")
 fprintf(info "|                dangling (C)lines and hilite the one selected and zoom     |\n")
 fprintf(info "|                into the problem (C)line.  The user may delete the         |\n")
 fprintf(info "|                dangling (C)line individually or the entire list at one    |\n")
 fprintf(info "|                time.  Users need to be aware that some designers may      |\n")
 fprintf(info "|                put lines on the Etch Class when adding company logos      |\n")
 fprintf(info "|                or other information and these items will be considered    |\n")
 fprintf(info "|                \"dangling\" lines.  Basically, any (C)line without a net    |\n")
 fprintf(info "|                name on the ETCH class is, by definition, a dangling       |\n")
 fprintf(info "|                (C)line.                                                   |\n")
 fprintf(info "|                                                                           |\n")
 fprintf(info "|                When an item is selected from the list, a \"Show Element\"   |\n")
 fprintf(info "|                window will appear with the data as if the Show Element    |\n")
 fprintf(info "|                command was executed on the selected item.                 |\n")
 fprintf(info "|                                                                           |\n")
 fprintf(info "|                If the Show Element window does NOT appear or the data     |\n")
 fprintf(info "|                in the Show Element window does NOT update, then it is     |\n")
 fprintf(info "|                likely that this selection is on a CONDUCTOR subclass that |\n")
 fprintf(info "|                is invisibile.  To see this data, turn on the visibility   |\n")
 fprintf(info "|                from the Display->Color/Visibility menu selection.         |\n")
 fprintf(info "|                                                                           |\n")
 fprintf(info "|                The command was changed from \"find dang\" to \"find_dang\"    |\n")
 fprintf(info "|                as a work around for a bug in BoardQuest.                  |\n")
 fprintf(info "|                                                                           |\n")
 fprintf(info "-----------------------------------------------------------------------------\n")
 fprintf(info "|                                                                           |\n")
 fprintf(info "| 7-6-98  Made the following changes to be compatible with Allegro 12.x and |\n")
 fprintf(info "|         Allegro 13.x .                                                    |\n")
 fprintf(info "|         1.  Changed the argument to axlDBCreateExternalDRC from           |\n")
 fprintf(info "|             \"drc error/\" to \"drc error class/\".                           |\n")
 fprintf(info "|         2.  Corrected problem with X/Y locations not being                |\n")
 fprintf(info "|             displayed in the list boxes.                                  |\n")
 fprintf(info "|                                                                           |\n")
 fprintf(info "-----------------------------------------------------------------------------\n")
 fprintf(info "\n")
 fprintf(info "########################################################################\n")
 fprintf(info "#                                                                      #\n")
 fprintf(info "#                Comment Section                                       #\n")
 fprintf(info "#                                                                      #\n")
 fprintf(info "########################################################################\n")
 fprintf(info "\n")
 fprintf(info " This program will check an APD design for any \"dangling\"\n")
 fprintf(info " cline segments, mark all the \"dangling\" Cline segments with a\n")
 fprintf(info " user definded DRC marker and hilite all dangling Clines found.\n")
 fprintf(info "\n")
 fprintf(info " If the user selects NOT to delete the \"dangling\" cline, then these\n")
 fprintf(info " \"dangling\" cline segments will remain with a user defined DRC marker.\n")
 fprintf(info " To remove these user defined DRC markers, issue the command:\n")
 fprintf(info "     APD>  rmdrcs\n")
 fprintf(info " Or select the \"Remove DRCs\" button from the \"Find Dangling Clines\n")
 fprintf(info " and Dangling Lines\" form.\n")
 fprintf(info "\n")
 fprintf(info " Any stand alone vias or clines with net names that are dangling,\n")
 fprintf(info " (Actully called 'hanging' traces) may be removed with the APD gloss\n")
 fprintf(info " program.\n")
 fprintf(info "\n")
 fprintf(info " A \"dangling\" cline is any cline in the design that does not have a net\n")
 fprintf(info " name associated with it.\n")
 fprintf(info "\n")
 fprintf(info " The APD summary report (-v sum) reports both hanging AND dangling in\n")
 fprintf(info " the dangling_lines.log.\n")
 fprintf(info "\n")
 fprintf(info " This program will also find any line segments in the design that\n")
 fprintf(info " are on the CLASS->ETCH layers and perform the same way as mentioned\n")
 fprintf(info " above for cline segments.\n")
 fprintf(info "\n")
 fprintf(info "\n")
 fprintf(info " This APD Skill program may be loaded automatically\n")
 fprintf(info " when APD is invoked by creating an apd.ilinit\n")
 fprintf(info " file in the user's pcbenv directory (i.e., ~/pcbenv/apd.ilinit).\n")
 fprintf(info "\n")
 fprintf(info " The apd.ilinit file could look like the following:\n")
 fprintf(info "\n")
 fprintf(info "----------- Start of apd.ilinit file -----------------------------\n")
 fprintf(info "setSkillPath(\". ~/scripts/SKILL.sav /cds/9502/ibm/tools/pcb/etc/skill\")\n")
 fprintf(info "load(\"find_dlines.il\")\n")
 fprintf(info "----------- End of apd.ilinit file --------------------------------\n")
 fprintf(info "\n")
 fprintf(info " Where this file, find_dlines.il, is located in one of the directory paths\n")
 fprintf(info " as defined by the setSkillPath function.\n")
 fprintf(info "\n")
 fprintf(info " Note:  If you ever change the APD Skill path with the setSkillPath\n")
 fprintf(info "        function as noted above, ALWAYS be sure to include the period(.),\n")
 fprintf(info "        which is the current working directory, as part of the search path\n")
 fprintf(info "        definition.  There are some APD commands that expect to see the\n")
 fprintf(info "        current working directory as part of the search path and will fail\n")
 fprintf(info "        if it is not part of the search path.\n")
 fprintf(info "\n")
 fprintf(info "        Also, most of the Skill functions that do file access will use the\n")
 fprintf(info "        setSkillPath value as the directory paths to perform their file\n")
 fprintf(info "        reads and writes.\n")
 fprintf(info "\n")
 fprintf(info " The command to type in the APD editor to invoke this program is:\n")
 fprintf(info "    APD>  find_dang\n")
 fprintf(info "\n")
 fprintf(info " There is also a command that will remove the DRC bow ties.  This comand is:\n")
 fprintf(info "    APD>  rmdrcs\n")
 fprintf(info "\n")
 fprintf(info "\n")
 fprintf(info "###################### End Of Comment Section ##########################\n")
 fprintf(info "\n")
 fprintf(info "\n")
 fprintf(info "\n")
 close(info)
 axlUIViewFileCreate(helpfile "Find Dang Information" t)
); end defun _helpButton

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -