Cadence Skill 论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 50|回复: 6

dalTools最新版的menu源码学习

[复制链接]
发表于 6 天前 | 显示全部楼层 |阅读模式
  1. ;1.0_578 03-18-2025
  2. defun(dalMenuInsert (arg)
  3.         let(
  4.                 (m m1 offset admin menuFiles)
  5.                 admin = axlGetVariable("dts_admin")
  6.                 unless(offset = axlGetVariable("dts_menu_offset")
  7.                         if(axlVersion('version) < 17.2 then
  8.                                 offset = "100" ;Get the menu location. 100 is the rightmost while -1 is to the left of Help
  9.                         else
  10.                                 offset = "-1" ;17.2 currently crashes with the offset = 100 utilizing the new gui style inteRFace
  11.                         );end if
  12.                 );end unless
  13.                 m = axlUIMenuFind(nil readstring(offset) nil)
  14.                 m1 = axlUIMenuInsert(m 'popup "dalT&ools")
  15.                 axlUIMenuInsert(m1 'popup "File")
  16.                 axlUIMenuInsert(nil "Clip (Copy/Paste) " "dal clip")
  17.                 axlUIMenuInsert(nil "DXF " "dal dxf ")
  18.                 axlUIMenuInsert(nil "Fabmaster" "dal fabmaster")
  19.                 axlUIMenuInsert(nil "File manager..." "dal filemanager")
  20.                 axlUIMenuInsert(nil "Hyperlynx" "dal hyperlynx")
  21.                 axlUIMenuInsert(nil "ReadMe.txt" "dal readme")
  22.                 axlUIMenuInsert(nil "Seica" "dal seica")
  23.                 axlUIMenuInsert(nil "Shell (cmd)\205" "dal shell")
  24.                 axlUIMenuInsert(m1 'popup "Edit")
  25.                 axlUIMenuInsert(nil "Align" "dal align")
  26.                 axlUIMenuInsert(nil "Change/Copy" "dal change")
  27.                 axlUIMenuInsert(nil "Circle" "dal circle")
  28.                 axlUIMenuInsert(nil "Copy" "dal copy")
  29.                 axlUIMenuInsert(nil "Cut/Copy" "dal cut")
  30.                 axlUIMenuInsert(nil "Ipick" "dal ipick")
  31.                 axlUIMenuInsert(nil "Merge" "dal merge")
  32.                 axlUIMenuInsert(nil "Mirror" "dal mirror")
  33.                 axlUIMenuInsert(nil "Miter " "dal miter")
  34.                 axlUIMenuInsert(nil "Move" "dal move")
  35.                 axlUIMenuInsert(nil "Offset (Poly)" "dal offset")
  36.                 axlUIMenuInsert(nil "Prop" "dal prop")
  37.                 axlUIMenuInsert(nil "Shove" "dal shove")
  38.                 axlUIMenuInsert(nil "Split (Dimensions)" "dal split")
  39.                 axlUIMenuInsert(nil "Stretch" "dal stretch")
  40.                 axlUIMenuInsert(nil "Vertex (Trim/Extend)" "dal vertex")
  41.                 axlUIMenuInsert(nil "Width" "dal width")
  42.                 axlUIMenuInsert(nil "Zcopy" "dal zcopy")
  43.                 axlUIMenuInsert(m1 'popup "View")
  44.                 axlUIMenuInsert(nil "Images" "dal images")
  45.                 axlUIMenuInsert(m1 'popup "Add")
  46.                 axlUIMenuInsert(nil "Figure" "dal figure")
  47.                 axlUIMenuInsert(nil "Gnd ring" "dal gndring")
  48.                 axlUIMenuInsert(nil "Line/Shape" "dal line")
  49.                 axlUIMenuInsert(nil "Rectangle" "dal rectangle")
  50.                 axlUIMenuInsert(nil "Via array" "dal viaarray")
  51.                 axlUIMenuInsert(m1 'popup "Display")
  52.                 axlUIMenuInsert(nil "Highlight" "dal highlight")
  53.                 axlUIMenuInsert(nil "Layer" "dal layer")
  54.                 axlUIMenuInsert(nil "Measure" "dal measure")
  55.                 axlUIMenuInsert(m1 'popup "Setup")
  56.                 axlUIMenuInsert(nil "Extents (Resize)" "dal extents")
  57.                 axlUIMenuInsert(nil "Flex (Licensing)" "dal flex")
  58.                 axlUIMenuInsert(nil "LicenseInfo" "dal licenseinfo")
  59.                 axlUIMenuInsert(nil "Menu" "dal menu")
  60.                 axlUIMenuInsert(nil "Origin" "dal origin")
  61.                 when(!admin || admin == getLogin() axlUIMenuInsert(nil "Setup" "dal setup"))
  62.                 axlUIMenuInsert(m1 'popup "Shape")
  63.                 axlUIMenuInsert(nil "Check" "dal shapecheck")
  64.                 axlUIMenuInsert(nil "Modify" "dal shapemodify")
  65.                 axlUIMenuInsert(nil "Net (Change)" "dal shapenet")
  66.                 axlUIMenuInsert(nil "Priority" "dal shapepriority")
  67.                 axlUIMenuInsert(nil "Split (Planes by anti-etch)" "dal shapesplit")
  68.                 axlUIMenuInsert(m1 'popup "Logic")
  69.                 axlUIMenuInsert(nil "Diff pair" "dal diffpair")
  70.                 axlUIMenuInsert(nil "Net" "dal net")
  71.                 axlUIMenuInsert(nil "Net short" "dal netshort")
  72.                 axlUIMenuInsert(nil "Refdes rename" "dal refdesrename")
  73.                 axlUIMenuInsert(nil "Swap" "dal swap")
  74.                 axlUIMenuInsert(m1 'popup "Place")
  75.                 axlUIMenuInsert(nil "Grid" "dal grid")
  76.                 axlUIMenuInsert(nil "Place" "dal place")
  77.                 axlUIMenuInsert(m1 'popup "Route")
  78.                 axlUIMenuInsert(nil "Coax (Shield)" "dal coax")
  79.                 axlUIMenuInsert(nil "Spiral" "dal spiral")
  80.                 axlUIMenuInsert(nil "State" "dal state")
  81.                 axlUIMenuInsert(nil "Via Intersect" "dal viaintersect")
  82.                 axlUIMenuInsert(nil "ViaInsert" "dal viainsert")
  83.                 axlUIMenuInsert(m1 'popup "Checking")
  84.                 axlUIMenuInsert(nil "Browse" "dal browse")
  85.                 axlUIMenuInsert(nil "Check (DFM)" "dal check")
  86.                 axlUIMenuInsert(nil "Compare" "dal compare")
  87.                 axlUIMenuInsert(nil "Dangling line" "dal danglingline")
  88.                 axlUIMenuInsert(nil "Delay" "dal delay")
  89.                 axlUIMenuInsert(nil "Drc" "dal drc")
  90.                 axlUIMenuInsert(nil "DrcBrowser" "dal drcbrowser")
  91.                 axlUIMenuInsert(nil "Gnd Return Path" "dal gndreturn")
  92.                 axlUIMenuInsert(nil "Hole (DRC)" "dal hole")
  93.                 axlUIMenuInsert(nil "Nov (Net over voids)" "dal nov")
  94.                 axlUIMenuInsert(nil "Paste2Hole" "dal paste2hole")
  95.                 axlUIMenuInsert(nil "Review (Checklist)" "dal review")
  96.                 axlUIMenuInsert(nil "Xtalk" "dal xtalk")
  97.                 axlUIMenuInsert(m1 'popup "Manufacture")
  98.                 axlUIMenuInsert(nil "Backdrill" "dal backdrill")
  99.                 axlUIMenuInsert(nil "Detail" "dal detail")
  100.                 axlUIMenuInsert(nil "Out" "dal out")
  101.                 axlUIMenuInsert(nil "PinMask" "dal pinmask")
  102.                 axlUIMenuInsert(nil "Plot (PDF)" "dal plot")
  103.                 axlUIMenuInsert(nil "Stackup (Swap)" "dal stackup")
  104.                 axlUIMenuInsert(nil "Taper" "dal taper")
  105.                 axlUIMenuInsert(nil "Teardrop (Fillet)" "dal teardrop")
  106.                 axlUIMenuInsert(nil "Testpoint" "dal testpoint")
  107.                 axlUIMenuInsert(nil "Thieving" "dal thieving")
  108.                 axlUIMenuInsert(nil "ViaMask" "dal viamask")
  109.                 axlUIMenuInsert(m1 'popup "Tools")
  110.                 axlUIMenuInsert(nil "Derive Connect" "dal deriveconnect")
  111.                 axlUIMenuInsert(nil "Diary\205" "dal diary")
  112.                 axlUIMenuInsert(nil "Pin Change" "dal pinchange")
  113.                 axlUIMenuInsert(nil "Text" "dal text")
  114.                 axlUIMenuInsert(nil "Units" "dal units")
  115.                 axlUIMenuInsert(nil "Via Change" "dal viachange")
  116.                 axlUIMenuInsert(m1 'popup "Reports")
  117.                 axlUIMenuInsert(nil "Area" "dal area")
  118.                 axlUIMenuInsert(nil "Sym pin rpt" "dal sympinrpt")
  119.                 axlUIMenuInsert(m1 'popup "Library")
  120.                 axlUIMenuInsert(nil "Library" "dal library")
  121.                 axlUIMenuInsert(nil "padstack" "dal padstack")
  122.                 axlUIMenuInsert(m1 'popup "APD_SIP")
  123.                 axlUIMenuInsert(nil "FlipChipViaGen" "dal flipChipViaGen")
  124.                 axlUIMenuInsert(nil "dxf2mcm" "dal dxf2mcm")
  125.                 unless(axlGetVariable("DTS_MENU_CUSTOM")
  126.                         axlSetVariable("DTS_MENU_CUSTOM" strcat(axlGetVariable("DTS_ROOT") "/bin"))
  127.                 );end unless
  128.                 unless(axlGetVariable("DTS_NO_MENU_CUSTOM")
  129.                         if(menuFiles = setof(x getDirFiles(axlGetVariable("DTS_MENU_CUSTOM")) rexMatchp("^dalMenuInsert_.*.il[        DISCUZ_CODE_0        ]quot; x)) then
  130.                                 foreach(menuFile menuFiles
  131.                                         axlUIMenuInsert(m1 'separator)
  132.                                         load(strcat(axlGetVariable("DTS_MENU_CUSTOM") "/" menuFile))
  133.                                 );end foreach
  134.                         else
  135.                                 axlUIMenuInsert(m1 'popup dalAbout("custName"))
  136.                                 axlUIMenuInsert(nil "Click here for help on how to setup your own company customized menu" "dal About menuHelp")
  137.                         );end if
  138.                         axlUIMenuInsert(m1 'separator)
  139.                 );end unless
  140.                 axlUIMenuInsert(m1 'popup "[ENG+]")
  141.                         axlUIMenuInsert(nil "Layer" "dal layer")
  142.                         axlUIMenuInsert(nil "Place" "dal place")
  143.                         axlUIMenuInsert(nil "Browse" "dal browse")
  144.                         axlUIMenuInsert(nil "Highlight" "dal highlight")
  145.                         axlUIMenuInsert(nil "Delay" "dal delay")
  146.                         axlUIMenuInsert(nil "Library" "dal library")
  147.                         axlUIMenuInsert(nil "Compare" "dal compare")
  148.                 axlUIMenuInsert(m1 'separator)
  149.                 axlUIMenuInsert(m1 'popup "Help")
  150.                 axlUIMenuInsert(nil "About" "dal about")
  151.                 axlUIMenuInsert(nil "Problem report" "dal problemreport")
  152.                 axlUIMenuInsert(nil "Search" "dal search")
  153.                 axlUIMenuInsert(nil "www.dalTools.com" "dal web")
  154.                 axlUIMenuInsert(m1 'separator)
  155.         );end let
  156. );end defun
复制代码
这是dalMenuInsert.il
  1. ;Apr 11 12:19:43 2025 Released version.
  2. defun(dalMenuTreeItems () ;Number of possible nested levels is unlimited.
  3.         list(
  4.                 list(make_dalTreeItem(?string "File" ?id nil ?disabled nil)
  5.                         list(make_dalTreeItem(?string "Clip (Copy/Paste) " ?id nil ?cmd "dal clip" ?disabled nil ?description "Copies objects between two allegro editors." ?partnumber "24-900" ?revision "1" ?price "XL+"))
  6.                         list(make_dalTreeItem(?string "DXF " ?id nil ?cmd "dal dxf " ?disabled nil ?description "Converts an Autocad DXF input file into an Allegro database.  Often this command will successfully convert a .dxf file that the standard File->Import DXF (dfx2a) will not." ?partnumber "24-281" ?revision "1" ?price "L+"))
  7.                         list(make_dalTreeItem(?string "Fabmaster" ?id nil ?cmd "dal fabmaster" ?disabled nil ?description "Convienence command that extracts 4 files in the fabmaster format.  BRD.TXT, PAD.TXT, SYM.TXT and RTE.TXT." ?partnumber "24-139" ?revision "1" ?price "L+"))
  8.                         list(make_dalTreeItem(?string "File manager..." ?id nil ?cmd "dal filemanager" ?disabled nil ?description "Launches a file manager window in the current directory.  Simple and very useful." ?partnumber "24-186" ?revision "1" ?price "L+"))
  9.                         list(make_dalTreeItem(?string "Hyperlynx" ?id nil ?cmd "dal hyperlynx" ?disabled nil ?description "Convienence command that extracts the files for hyperlynx legacy software." ?partnumber "24-159" ?revision "1" ?price "L+"))
  10.                         list(make_dalTreeItem(?string "ReadMe.txt" ?id nil ?cmd "dal readme" ?disabled nil ?description "Attaches a internal readme.txt file with notes about the database or project." ?partnumber "24-195" ?revision "1" ?price "L+"))
  11.                         list(make_dalTreeItem(?string "Seica" ?id nil ?cmd "dal seica" ?disabled nil ?description "Convienence command that extracts a file in the seica flying test probe machine file format." ?partnumber "24-262" ?revision "1" ?price "L+"))
  12.                         list(make_dalTreeItem(?string "Shell (cmd)\205" ?id nil ?cmd "dal shell" ?disabled nil ?description "Opens a shell command window in the current directory." ?partnumber "24-183" ?revision "1" ?price "L+"))
  13.                 );end list
  14.                 list(make_dalTreeItem(?string "Edit" ?id nil ?disabled nil)
  15.                         list(make_dalTreeItem(?string "Align" ?id nil ?cmd "dal align" ?disabled nil ?description "Alignment tool for aligning symbols." ?partnumber "24-290" ?revision "1" ?price "L+"))
  16.                         list(make_dalTreeItem(?string "Change/Copy" ?id nil ?cmd "dal change" ?disabled nil ?description "Changes or copies lines, clines, shapes and text objects to any other layer even across layer classes. " ?partnumber "24-150" ?revision "1" ?price "L+"))
  17.                         list(make_dalTreeItem(?string "Circle" ?id nil ?cmd "dal circle" ?disabled nil ?description "Dynamically edits the diameter and width of circles and circular shapes." ?partnumber "24-155" ?revision "1" ?price "L+"))
  18.                         list(make_dalTreeItem(?string "Copy" ?id nil ?cmd "dal copy" ?disabled nil ?description "Copies objects with advanced object snapping.  For example, logic object snap point, center between two objects, pin and shape vertex, etc.  Can also copy line segments unlike standard Allegro." ?partnumber "24-156" ?revision "1" ?price "L+"))
  19.                         list(make_dalTreeItem(?string "Cut/Copy" ?id nil ?cmd "dal cut" ?disabled nil ?description "Cut clines, lines, arcs, vias, shapes and voids by path or box.  An additional feature enables copying a cut box area to another location." ?partnumber "24-153" ?revision "1" ?price "L+"))
  20.                         list(make_dalTreeItem(?string "Ipick" ?id nil ?cmd "dal ipick" ?disabled nil ?description "Moves selected database elements by grid increments using the arrow keys." ?partnumber "24-274" ?revision "1" ?price "L+"))
  21.                         list(make_dalTreeItem(?string "Merge" ?id nil ?cmd "dal merge" ?disabled nil ?description "Merges multiple line segments at intersections into a single line or shape.  For example this is useful for ProE IDF transfers where the board outline must be a single continuous line." ?partnumber "24-163" ?revision "1" ?price "L+"))
  22.                         list(make_dalTreeItem(?string "Mirror" ?id nil ?cmd "dal mirror" ?disabled nil ?description "Mirror selected placement and routing by layer and/or geometry.  Move placement and routing from the top to bottom or vice versa.  This is something the built in Allegro mirror command will not do." ?partnumber "24-160" ?revision "1" ?price "L+"))
  23.                         list(make_dalTreeItem(?string "Miter " ?id nil ?cmd "dal miter" ?disabled nil ?description "Adds a chamfer or radius between two clines, lines, shape or void segments.  Also includes an unmiter feature to remove miters." ?partnumber "24-171" ?revision "1" ?price "L+"))
  24.                         list(make_dalTreeItem(?string "Move" ?id nil ?cmd "dal move" ?disabled nil ?description "Move objects (With enhanced intelligent object snap for example shape or pin vertex's, center between two objects, etc).  Can also move line segments unlike standard Allegro." ?partnumber "24-157" ?revision "1" ?price "L+"))
  25.                         list(make_dalTreeItem(?string "Offset (Poly)" ?id nil ?cmd "dal offset" ?disabled nil ?description "Offsets lines and arcs by a specified distance." ?partnumber "24-275" ?revision "1" ?price "L+"))
  26.                         list(make_dalTreeItem(?string "Prop" ?id nil ?cmd "dal prop" ?disabled nil ?description "Add/Delete/Edit properties  (also removes or adds specttra fan out symbol attachment props)." ?partnumber "24-191" ?revision "1" ?price "L+"))
  27.                         list(make_dalTreeItem(?string "Shove" ?id nil ?cmd "dal shove" ?disabled nil ?description "Shove multiple clines around obstacles removing jogs and drc's.  Quickly sketch in routing with drc's and use shove to clean up drc's in a single step." ?partnumber "24-154" ?revision "1" ?price "L+"))
  28.                         list(make_dalTreeItem(?string "Split (Dimensions)" ?id nil ?cmd "dal split" ?disabled nil ?description "Splits 16.5 associative dimensions into lines and text so that they may be edited easier." ?partnumber "24-151" ?revision "1" ?price "L+"))
  29.                         list(make_dalTreeItem(?string "Stretch" ?id nil ?cmd "dal stretch" ?disabled nil ?description "Dynamically stretch clines,  lines, arcs, shapes and voids by window." ?partnumber "24-149" ?revision "1" ?price "L+"))
  30.                         list(make_dalTreeItem(?string "Vertex (Trim/Extend)" ?id nil ?cmd "dal vertex" ?disabled nil ?description "Extend or trim multiple clines, lines and arcs to an object intersection or axis." ?partnumber "24-158" ?revision "1" ?price "L+"))
  31.                         list(make_dalTreeItem(?string "Width" ?id nil ?cmd "dal width" ?disabled nil ?description "Intelligently changes line widths from a specified width to a specified width.  Also has advanced highlight, reporting and other features." ?partnumber "24-162" ?revision "1" ?price "L+"))
  32.                         list(make_dalTreeItem(?string "Zcopy" ?id nil ?cmd "dal zcopy" ?disabled nil ?description "Converts objects including clines, lines,  pins and vias to shapes on any layer with other advanced capabilities." ?partnumber "24-208" ?revision "1" ?price "L+"))
  33.                 );end list
  34.                 list(make_dalTreeItem(?string "View" ?id nil ?disabled nil)
  35.                         list(make_dalTreeItem(?string "Images" ?id nil ?cmd "dal images" ?disabled nil ?description "Save and restore ALL user preferred color settings, pallette and drawing options with a single click.  This is very useful when a design is shared with other designers." ?partnumber "24-165" ?revision "1" ?price "L+"))
  36.                 );end list
  37.                 list(make_dalTreeItem(?string "Add" ?id nil ?disabled nil)
  38.                         list(make_dalTreeItem(?string "Figure" ?id nil ?cmd "dal figure" ?disabled nil ?description "Adds and edits figures such as triangles, ovals, rectangles, etc.  Optionally adds text internally similar to drill chart features." ?partnumber "24-179" ?revision "1" ?price "L+"))
  39.                         list(make_dalTreeItem(?string "Gnd ring" ?id nil ?cmd "dal gndring" ?disabled nil ?description "Automatically creates a GND ring via and/or shape pattern around the inside of the board outline for EMI shielding purposes." ?partnumber "24-189" ?revision "1" ?price "XL+"))
  40.                         list(make_dalTreeItem(?string "Line/Shape" ?id nil ?cmd "dal line" ?disabled nil ?description "Add lines and shapes with unique enhanced object snap capabilies and reference point selections." ?partnumber "24-207" ?revision "1" ?price "L+"))
  41.                         list(make_dalTreeItem(?string "Rectangle" ?id nil ?cmd "dal rectangle" ?disabled nil ?description "Adds rectangles dynamically by width/height based on a center point selection." ?partnumber "24-277" ?revision "1" ?price "L+"))
  42.                         list(make_dalTreeItem(?string "Via array" ?id nil ?cmd "dal viaarray" ?disabled nil ?description "Automatically adds via arrays on specified layers." ?partnumber "24-998" ?revision "1" ?price "XL+"))
  43.                 );end list
  44.                 list(make_dalTreeItem(?string "Display" ?id nil ?disabled nil)
  45.                         list(make_dalTreeItem(?string "Highlight" ?id nil ?cmd "dal highlight" ?disabled nil ?description "Highlight  tool with advanced search capabilities." ?partnumber "24-180" ?revision "1" ?price "P+"))
  46.                         list(make_dalTreeItem(?string "Layer" ?id nil ?cmd "dal layer" ?disabled nil ?description "Replaces and greatly improves the standard layer visibility tab.  It has many more options to control the layer display with multiselect and built in associated layer control.  The built in alias feature makes switching layers quick and easy also." ?partnumber "24-190" ?revision "1" ?price "P+"))
  47.                         list(make_dalTreeItem(?string "Measure" ?id nil ?cmd "dal measure" ?disabled nil ?description "Enhanced show measure with shape/pin vertex snapping and dual units display option.  Especially useful when building library parts with dimensions at the end of pads etc." ?partnumber "24-181" ?revision "1" ?price "L+"))
  48.                 );end list
  49.                 list(make_dalTreeItem(?string "Setup" ?id nil ?disabled nil)
  50.                         list(make_dalTreeItem(?string "Extents (Resize)" ?id nil ?cmd "dal extents" ?disabled nil ?description "Calculates and reduces the drawing extents based on used area." ?partnumber "24-209" ?revision "1" ?price "L+"))
  51.                         list(make_dalTreeItem(?string "Flex (Licensing)" ?id nil ?cmd "dal flex" ?disabled nil ?description "Flexera licensing utilities." ?partnumber "24-292" ?revision "1" ?price "L+"))
  52.                         list(make_dalTreeItem(?string "LicenseInfo" ?id nil ?cmd "dal licenseinfo" ?disabled nil ?description "Reports the dalTools license information and status." ?partnumber "24-229" ?revision "1" ?price "L+"))
  53.                         list(make_dalTreeItem(?string "Menu" ?id nil ?cmd "dal menu" ?disabled nil ?description "dalTools command selection alternative menu GUI." ?partnumber "24-182" ?revision "1" ?price "P+"))
  54.                         list(make_dalTreeItem(?string "Origin" ?id nil ?cmd "dal origin" ?disabled nil ?description "Moves the database origin to a new location with advanced object snapping capabilities.  For example, center between objects, center of bounding box objects, etc.  Useful for centering objects about the origin in the symbol editor." ?partnumber "24-271" ?revision "1" ?price "L+"))
  55.                         list(make_dalTreeItem(?string "Setup" ?id nil ?cmd "dal setup" ?disabled nil ?description "dalTools setup and environment control settings." ?partnumber "24-185" ?revision "1" ?price "L+"))
  56.                 );end list
  57.                 list(make_dalTreeItem(?string "Shape" ?id nil ?disabled nil)
  58.                         list(make_dalTreeItem(?string "Check" ?id nil ?cmd "dal shapecheck" ?disabled nil ?description "Multi feature shape check utility." ?partnumber "24-284" ?revision "1" ?price "L+"))
  59.                         list(make_dalTreeItem(?string "Modify" ?id nil ?cmd "dal shapemodify" ?disabled nil ?description "Multi feature shape utility that allows the voiding of any type object from static or dynamic shapes.  Also allows the resizing of existing shapes and/or voids.   Converts etch and non-etch shapes/voids to lines.  Performs OR, AND, ANDNOT and XOR shape operations." ?partnumber "24-249" ?revision "1" ?price "L+"))
  60.                         list(make_dalTreeItem(?string "Net (Change)" ?id nil ?cmd "dal shapenet" ?disabled nil ?description "Quickly changes the net name of etch shapes with a single click.  Especially useful when assigning multiple shape nets after split plane create." ?partnumber "24-196" ?revision "1" ?price "L+"))
  61.                         list(make_dalTreeItem(?string "Priority" ?id nil ?cmd "dal shapepriority" ?disabled nil ?description "Displays and sets shape voiding priorities." ?partnumber "24-161" ?revision "1" ?price "L+"))
  62.                         list(make_dalTreeItem(?string "Split (Planes by anti-etch)" ?id nil ?cmd "dal shapesplit" ?disabled nil ?description "Automatically splits planes by anti etch and reassigns net names." ?partnumber "24-205" ?revision "1" ?price "XL+"))
  63.                 );end list
  64.                 list(make_dalTreeItem(?string "Logic" ?id nil ?disabled nil)
  65.                         list(make_dalTreeItem(?string "Diff pair" ?id nil ?cmd "dal diffpair" ?disabled nil ?description "Comprehensive differential pair tool.  Aids in quickly assigning diff pair properties and removing diff pair drcs." ?partnumber "24-201" ?revision "1" ?price "XL+"))
  66.                         list(make_dalTreeItem(?string "Net" ?id nil ?cmd "dal net" ?disabled nil ?description "Allows for on the fly creation, deletion and editing of net connections in the PCB editor." ?partnumber "24-273" ?revision "1" ?price "XL+"))
  67.                         list(make_dalTreeItem(?string "Net short" ?id nil ?cmd "dal netshort" ?disabled nil ?description "Adds multiple net_short properties for sense lines automatically and generates a fabrication drawing note." ?partnumber "24-235" ?revision "1" ?price "XL+"))
  68.                         list(make_dalTreeItem(?string "Refdes rename" ?id nil ?cmd "dal refdesrename" ?disabled nil ?description "Renames reference designators per an xy board grid pattern.  This utility adds more features and improves the standard cadence Logic->Rename Refdes command." ?partnumber "24-199" ?revision "1" ?price "L+"))
  69.                         list(make_dalTreeItem(?string "Swap" ?id nil ?cmd "dal swap" ?disabled nil ?description "Swaps pins based on routed cline locations instead of pin locations.  Useful when uncrossing routed bussed nets at opposite ends.  Also can swap the xy locatioin of any two objects." ?partnumber "24-197" ?revision "1" ?price "XL+"))
  70.                 );end list
  71.                 list(make_dalTreeItem(?string "Place" ?id nil ?disabled nil)
  72.                         list(make_dalTreeItem(?string "Grid" ?id nil ?cmd "dal grid" ?disabled nil ?description "Highlight off grid symbols with option to move them to a user specified grid.  Also allows for quick and easy grid size changes." ?partnumber "24-233" ?revision "1" ?price "XL+"))
  73.                         list(make_dalTreeItem(?string "Place" ?id nil ?cmd "dal place" ?disabled nil ?description "Comprehensive symbol placement tool.  Place by schematic page xy location, replace by configurable order, highlight by page,  quick and easy placement replication etc.  Supports HDL, Capture and Dx Designer PDF schematics.  Powerful patent pending technology!" ?partnumber "24-203" ?revision "1" ?price "P+"))
  74.                 );end list
  75.                 list(make_dalTreeItem(?string "Route" ?id nil ?disabled nil)
  76.                         list(make_dalTreeItem(?string "Coax (Shield)" ?id nil ?cmd "dal coax" ?disabled nil ?description "Interactively create and edit coaxial traces." ?partnumber "24-168" ?revision "1" ?price "XL+"))
  77.                         list(make_dalTreeItem(?string "Spiral" ?id nil ?cmd "dal spiral" ?disabled nil ?description "Creates planar transformer spirals." ?partnumber "24-287" ?revision "1" ?price "XL+"))
  78.                         list(make_dalTreeItem(?string "State" ?id nil ?cmd "dal state" ?disabled nil ?description "Saves and restores ratsnest/highlight and fixed states for quick recall.  Useful for easily saving and restoring place and route strategy graphics." ?partnumber "24-175" ?revision "1" ?price "L+"))
  79.                         list(make_dalTreeItem(?string "Via Intersect" ?id nil ?cmd "dal viaintersect" ?disabled nil ?description "Adds vias at multiple cline intersections.  Rapidly connect horizontal and vertical clines on different layers with vias at intersections.  Dramatically increases routing productivity when routing large buses." ?partnumber "24-164" ?revision "1" ?price "XL+"))
  80.                         list(make_dalTreeItem(?string "ViaInsert" ?id nil ?cmd "dal viainsert" ?disabled nil ?description "Inserts vias based on a text input xy file." ?partnumber "24-270 " ?revision "1" ?price "XL+"))
  81.                 );end list
  82.                 list(make_dalTreeItem(?string "Checking" ?id nil ?disabled nil)
  83.                         list(make_dalTreeItem(?string "Browse" ?id nil ?cmd "dal browse" ?disabled nil ?description "Comprehensive symbol and net browser tool.  Allows the Electrical Engineer to browse, check and mark up the database with any needed modifications." ?partnumber "24-241" ?revision "1" ?price "P+"))
  84.                         list(make_dalTreeItem(?string "Check (DFM)" ?id nil ?cmd "dal check" ?disabled nil ?description "Comprehensive design validation tool that finds and reports problems.   Performs 'Valor' type DFM (Design For Manufacture) checks." ?partnumber "24-218" ?revision "1" ?price "XL+"))
  85.                         list(make_dalTreeItem(?string "Compare" ?id nil ?cmd "dal compare" ?disabled nil ?description "Compares and displays ALL graphic and symbol changes between two boards.  This application quickly and easily displays the differences between the two board revisions based on artwork film layers.   dalTools has a patent pending on the process and technology of displaying only the differences on a change layer for quick and easy identification of where the changes occurred.  In addition, all refdes, xy, rotation, part number, etc. changes are displayed in a report file.  This is very useful to determine exactly what changed between board revisions or to track PCB design progress.  One example would be to quickly see if anything changed on the paste mask layers in order to determine if a new stencil order is required.  Another is testpoint changes for ICT fixtures." ?partnumber "24-269" ?revision "1" ?price "P+"))
  86.                         list(make_dalTreeItem(?string "Dangling line" ?id nil ?cmd "dal danglingline" ?disabled nil ?description "Facilitates the quick and easy identification and  removal of dangling lines and vias.  Also will highlight odd angles and 90 degree etch bends." ?partnumber "24-225" ?revision "1" ?price "L+"))
  87.                         list(make_dalTreeItem(?string "Delay" ?id nil ?cmd "dal delay" ?disabled nil ?description "Speeds match length routing and DRC resolution of delay rules by an order of magnitude.  Includes color coded net lengths and graph data displays." ?partnumber "24-231" ?revision "1" ?price "P+"))
  88.                         list(make_dalTreeItem(?string "Drc" ?id nil ?cmd "dal drc" ?disabled nil ?description "3D, 2D and copper to copper DRC clearance checker for high voltage (hi pot) requirements between layers." ?partnumber "24-134" ?revision "1" ?price "XL+"))
  89.                         list(make_dalTreeItem(?string "DrcBrowser" ?id nil ?cmd "dal drcbrowser" ?disabled nil ?description "Facilitates the quick and easy identification and removal of DRC's." ?partnumber "24-214" ?revision "1" ?price "XL+"))
  90.                         list(make_dalTreeItem(?string "Gnd Return Path" ?id nil ?cmd "dal gndreturn" ?disabled nil ?description "Identifies high speed signals that do not have a nearby GND return path when transitioning between different GND planes through the stackup." ?partnumber "24-286" ?revision "1" ?price "XL+"))
  91.                         list(make_dalTreeItem(?string "Hole (DRC)" ?id nil ?cmd "dal hole" ?disabled nil ?description "Hole to hole clearance checker.  Checks edge to edge hole clearances between staggered and stacked vias supporting all types of vias." ?partnumber "24-188" ?revision "1" ?price "XL+"))
  92.                         list(make_dalTreeItem(?string "Nov (Net over voids)" ?id nil ?cmd "dal nov" ?disabled nil ?description "Identifies locations on nets where the signal overlaps voids (Impedance return path interuption areas)" ?partnumber "24-135" ?revision "1" ?price "XL+"))
  93.                         list(make_dalTreeItem(?string "Paste2Hole" ?id nil ?cmd "dal paste2hole" ?disabled nil ?description "Checks pastemask clearances to drilled holes and slot openings." ?partnumber "24-133" ?revision "1" ?price "XL+"))
  94.                         list(make_dalTreeItem(?string "Review (Checklist)" ?id nil ?cmd "dal review" ?disabled nil ?description "Pre fabrication database checklist and review tool." ?partnumber "24-289" ?revision "1" ?price "XL+"))
  95.                         list(make_dalTreeItem(?string "Xtalk" ?id nil ?cmd "dal xtalk" ?disabled nil ?description "Xtalk tool.  Aids in assigning xtalk properties and finding specific cline segments that are causing xtalk noise drc's.  " ?partnumber "24-215" ?revision "1" ?price "XL+"))
  96.                 );end list
  97.                 list(make_dalTreeItem(?string "Manufacture" ?id nil ?disabled nil)
  98.                         list(make_dalTreeItem(?string "Backdrill" ?id nil ?cmd "dal backdrill" ?disabled nil ?description "Adds needed functionality to the standard Cadence Backdrill process.  The main purpose is to automatically add route keepouts and optionally modify padstack features in the secondary non plated backdrill areas." ?partnumber "24-279" ?revision "1" ?price "XL+"))
  99.                         list(make_dalTreeItem(?string "Detail" ?id nil ?cmd "dal detail" ?disabled nil ?description "Copy any object between any class and subclass.  Create details on another layer.    Includes optional scaling, rotation and mirror support.  Useful for fabrication and assembly drawing details among others.  Much faster than creating and loading plot files." ?partnumber "24-220" ?revision "1" ?price "L+"))
  100.                         list(make_dalTreeItem(?string "Out" ?id nil ?cmd "dal out" ?disabled nil ?description "Completely automates the process of generating ALL manufacturing outputs.  Greatly speeds the regeneration of outputs after the intial setup.  Set and forget functionality because complete re-runs only require a single mouse click!" ?partnumber "24-217" ?revision "1" ?price "L+"))
  101.                         list(make_dalTreeItem(?string "PinMask" ?id nil ?cmd "dal pinmask" ?disabled nil ?description "Modifies pin soldermask openings." ?partnumber "24-137" ?revision "1" ?price "XL+"))
  102.                         list(make_dalTreeItem(?string "Plot (PDF)" ?id nil ?cmd "dal plot" ?disabled nil ?description "Comprehensive batch PDF plotting tool.  Quickly plot all film records, multi sheet fab and assembly documentation drawings with a single mouse click." ?partnumber "24-268" ?revision "1" ?price "L+"))
  103.                         list(make_dalTreeItem(?string "Stackup (Swap)" ?id nil ?cmd "dal stackup" ?disabled nil ?description "Facilitates the quick and easy swapping of entire layers in the stackup." ?partnumber "24-219" ?revision "1" ?price "XL+"))
  104.                         list(make_dalTreeItem(?string "Taper" ?id nil ?cmd "dal taper" ?disabled nil ?description "Creates smooth (taper) transitions between different lines width junctions.  This improves the reliability of connections on rigid or flex circuits." ?partnumber "24-285" ?revision "1" ?price "XL+"))
  105.                         list(make_dalTreeItem(?string "Teardrop (Fillet)" ?id nil ?cmd "dal teardrop" ?disabled nil ?description "Creates shape-based teardrops also known as fillets at trace-to-pad intersections.  This ensures that the hole will not create a possible open at this point." ?partnumber "24-282" ?revision "1" ?price "XL+"))
  106.                         list(make_dalTreeItem(?string "Testpoint" ?id nil ?cmd "dal testpoint" ?disabled nil ?description "Provides additional useful and effective tools for managing testpoints." ?partnumber "24-224" ?revision "1" ?price "XL+"))
  107.                         list(make_dalTreeItem(?string "Thieving" ?id nil ?cmd "dal thieving" ?disabled nil ?description "This utility creates custom manufacturing etch 'thieving' patterns on specified layers with enhanced parameters." ?partnumber "24-136" ?revision "1" ?price "XL+"))
  108.                         list(make_dalTreeItem(?string "ViaMask" ?id nil ?cmd "dal viamask" ?disabled nil ?description "Modifies via soldermask openings or adds mask caps to vias close to solderpaste pads.  Greatly enhances manuacturabilty by preventing opens and shorts cause by solder paste issues." ?partnumber "24-240" ?revision "1" ?price "XL+"))
  109.                 );end list
  110.                 list(make_dalTreeItem(?string "Tools" ?id nil ?disabled nil)
  111.                         list(make_dalTreeItem(?string "Derive Connect" ?id nil ?cmd "dal deriveconnect" ?disabled nil ?description "Connects off center connections between clines/lines and pads/vias." ?partnumber "24-283" ?revision "1" ?price "XL+"))
  112.                         list(make_dalTreeItem(?string "Diary\205" ?id nil ?cmd "dal diary" ?disabled nil ?description "Enhanced database diary note editor." ?partnumber "24-999" ?revision "1" ?price "L+"))
  113.                         list(make_dalTreeItem(?string "Pin Change" ?id nil ?cmd "dal pinchange" ?disabled nil ?description "Intelligent, fast and easy pin padstack changer by window or selection.  For example, helps with backdrill requirements for padstack modifications." ?partnumber "24-278" ?revision "1" ?price "L+"))
  114.                         list(make_dalTreeItem(?string "Text" ?id nil ?cmd "dal text" ?disabled nil ?description "Dramatically increases productivity and quality when creating silkscreen and assembly documentation. Provides a comprehensive text editing tool within the Allegro editor.   Supports dynamic text size changes and custom variables for title block control, etc.  Has features for custom pin number naming control." ?partnumber "24-236" ?revision "1" ?price "L+"))
  115.                         list(make_dalTreeItem(?string "Units" ?id nil ?cmd "dal units" ?disabled nil ?description "Integrated units converter for mils and millimeters.  Useful when adding lines or moving objects for example by sending ipick commands to the console window.  Also does addition, subtraction, multiplication and division." ?partnumber "24-260" ?revision "1" ?price "L+"))
  116.                         list(make_dalTreeItem(?string "Via Change" ?id nil ?cmd "dal viachange" ?disabled nil ?description "Intelligent, fast and easy  via padstack changer by window or selection.  Also has via netname change feature, reports, etc." ?partnumber "24-227" ?revision "1" ?price "L+"))
  117.                 );end list
  118.                 list(make_dalTreeItem(?string "Reports" ?id nil ?disabled nil)
  119.                         list(make_dalTreeItem(?string "Area" ?id nil ?cmd "dal area" ?disabled nil ?description "Adds up the square unit area of all the place bounds top and bottom and shows the recommended board size needed." ?partnumber "24-147" ?revision "1" ?price "L+"))
  120.                         list(make_dalTreeItem(?string "Sym pin rpt" ?id nil ?cmd "dal sympinrpt" ?disabled nil ?description "Makes a report of the pin names and number in a symbol." ?partnumber "24-243" ?revision "1" ?price "L+"))
  121.                 );end list
  122.                 list(make_dalTreeItem(?string "Library" ?id nil ?disabled nil)
  123.                         list(make_dalTreeItem(?string "Library" ?id nil ?cmd "dal library" ?disabled nil ?description "Comprehensive library change and management tool.  Single click library symbol modification and refresh functions.  Place all parts from library and library reports.  Detailed symbol compare between .brd and .dra's.  Search by drill size, number of pins, package height range, etc." ?partnumber "24-242" ?revision "1" ?price "P+"))
  124.                         list(make_dalTreeItem(?string "Padstack" ?id nil ?cmd "dal padstack" ?disabled nil ?description "Automatically creates padstacks with rounded or chamfered shape corners." ?partnumber "24-000" ?revision "1" ?price "P+"))
  125.                 );end list
  126.                 list(make_dalTreeItem(?string "APD_SIP" ?id nil ?disabled nil)
  127.                         list(make_dalTreeItem(?string "FlipChipViaGen" ?id nil ?cmd "dal flipChipViaGen" ?disabled nil ?description "Copies via structure to power and ground bumps under die and makes connections from top of substrate thru core and down through BGA." ?partnumber "24-170" ?revision "1" ?price "L+"))
  128.                         list(make_dalTreeItem(?string "dxf2mcm" ?id nil ?cmd "dal dxf2mcm" ?disabled nil ?description "Utility to convert Autocad DXF input graphics to an intelligent APD .mcm database.  This database is then used by other die to package signal integrity software." ?partnumber "24-232" ?revision "1" ?price "L+"))
  129.                 );end list
  130.                 list(make_dalTreeItem(?string "Help" ?id nil ?disabled nil)
  131.                         list(make_dalTreeItem(?string "About" ?id nil ?cmd "dal about" ?disabled nil ?description "Displays dalTools date and revision information." ?partnumber "24-259" ?revision "1" ?price "L+"))
  132.                         list(make_dalTreeItem(?string "Problem report" ?id nil ?cmd "dal problemreport" ?disabled nil ?description "Submit a problem report (web)." ?partnumber "24-251" ?revision "1" ?price "L+"))
  133.                         list(make_dalTreeItem(?string "Search" ?id nil ?cmd "dal search" ?disabled nil ?description "Search dalTools products by name or description." ?partnumber "24-280" ?revision "1" ?price "P+"))
  134.                         list(make_dalTreeItem(?string "www.dalTools.com" ?id nil ?cmd "dal web" ?disabled nil ?description "Open the dalTools web site home page." ?partnumber "24-248" ?revision "1" ?price "L+"))
  135.                 );end list
  136.         );end list
  137. );end defun
复制代码
这是dalMenuInsert.il

两个文件做的国外这个dalTool工具的menu代码。此源码可以学习下。

下面是配置init信息
  1. ;START dalTools section.  (Copy/Paste and then modify this text for correct path locations in your local or site allegro.ilinit file)
  2. ;For [Local] (This computer only) use: $localenv/allegro.ilinit
  3. ;For [Site]  (Company wide)       use: $cds_site/pcb/skill/allegro.ilinit

  4. axlSetVariable("dts_root" "C:/Cadence/dalTools/DTS_1.0")
  5. ;This is the path to the dalTools installation.  Notice: Use / instead of \ in the path!  Ex: "C:/Cadence/dalTools/DTS_1.0"
  6. axlSetVariable("dts_lic_file" "C:/Cadence/dalTools/DTS_1.0/license/license.dat")
  7. ;Ex: "27000@localhost" for FlexNet type.  The OS variable DALTOOLS_LICENSE_FILE may be set also.
  8. ;Note: If FlexNet is not finding the license server, set the OS system variable: DALTOOLS_LICENSE_FILE to: port@server  
  9. ;That will help FlexNet find the server on the network.

  10. axlSetVariable("dts_ignore_dts.env" t)
  11. ;Do not remove or change this line.  Needed in case of previous legacy local dts_site/dts.env install settings.
  12. axlReadOnlyVariable("dts_ignore_dts.env" t)
  13. ;This set the read-only state of the variable for system admin site config control.  
  14. ;When set it cannot be changed in the local site allegro.ilinit file.

  15. ;The next 2 lines are optional:  (Lines beginning with a ; are comments/disabled.)
  16. ;axlSetVariable("dts_nohold_license" t) ;This optionally disables the setting in the dal flex command that holds the dalTools license when Allegro exits.
  17. ;axlSetVariable("dts_menu_off" t) ;If set, disables the dalTools menu at the top right of the screen. (Not recommended)

  18. ;The next line is mandatory and starts dalTools when Allegro starts:
  19. load(strcat(axlGetVariable("dts_root") "/bin/dal") "dalTools") dal("start")
  20. ;Do not change this line.  This is the line that starts/enables dalTools.   
  21. ;Updated: 03-16-2020
  22. ;END dalTools section.
复制代码

  1. 配置文件删除注释、
  2. axlSetVariable("dts_root" "C:/Cadence/dalTools/DTS_1.0")
  3. axlSetVariable("dts_lic_file" "C:/Cadence/dalTools/DTS_1.0/license/license.dat")
  4. axlSetVariable("dts_ignore_dts.env" t)
  5. axlReadOnlyVariable("dts_ignore_dts.env" t)
  6. load(strcat(axlGetVariable("dts_root") "/bin/dal") "dalTools") dal("start")
复制代码
可以看到他的il文件除了menu源码文件用的il后缀,其他文件是没有后缀的。这种方式比较新


1111.png

dalTools.part3.rar

1.21 MB, 下载次数: 1, 下载积分: 贡献 1

dalTools.part2.rar

2 MB, 下载次数: 1, 下载积分: 贡献 1

dalTools.part1.rar

2 MB, 下载次数: 1, 下载积分: 贡献 1

dal旧.zip

38.11 KB, 下载次数: 0, 下载积分: 贡献 1

 楼主| 发表于 6 天前 | 显示全部楼层
没有密码,只有menu的源码。https://www.daltools.com/products.html网站也可以下载
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|网站地图|Cadence Skill 论坛 ( 蜀ICP备13024417号 )

GMT+8, 2025-4-22 05:21 , Processed in 0.293624 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表