找回密码
 注册
查看: 1088|回复: 11
打印 上一主题 下一主题

请问有没有allegro自动布线的skill

[复制链接]

该用户从未签到

跳转到指定楼层
1#
 楼主| 发表于 2023-12-15 16:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
大家好,请问有没有allegro自动布线的skill,针对一些短线的连接。。。

该用户从未签到

推荐
发表于 2023-12-17 21:44 | 只看该作者
执行了 没什么反应

“来自电巢APP”

点评

果然没什么反应  详情 回复 发表于 2024-6-29 22:34
  • TA的每日心情
    开心
    2024-3-26 15:26
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    3#
    发表于 2023-12-16 20:04 | 只看该作者
    自带的不是可以?

    点评

    會用才叫"香". 也不會來問了.(有些allegro License 破解是沒打開那功能.老吳好像也在今年初才放.)  发表于 2023-12-18 12:43
  • TA的每日心情
    慵懒
    2025-5-18 15:26
  • 签到天数: 113 天

    [LV.6]常住居民II

    4#
    发表于 2023-12-17 10:35 | 只看该作者
    1. axlCmdRegister("Cline_Link" 'Cline_Link ?cmdType "interactive")

    2. procedure( Cline_Link()
    3. let((selbox mark mypopup sels file port segs cline0 cline1 linex startxy0 startxy1 tt tt0 line0xy line1xy)
    4.         mark = axlDBTransactionStart()
    5.         mypopup = axlUIPopupDefine(nil
    6.                 list(
    7.                         list("Done" "axlDBTransactionCommit(mark) axlUIPopupSet(nil) axlFinishEnterFun()")
    8.             list("Oops" "axlDBTransactionOops(mark)")
    9.             list("Cancel" "axlDBTransactionRollback(mark) axlUIPopupSet(nil) axlCancelEnterFun()")
    10.                 )
    11.         )
    12.         axlSetFindFilter(?enabled '("NOALL" "ratsnests") ?onButtons '("all"))
    13.         axlClearSelSet()
    14.         axlUIPopupSet(mypopup)
    15.         while(selbox = axlEnterBox(?prompts list(">>\307\353\312\344\310\353\265\332\322\273\270\366\265\343" ">>\307\353\312\344\310\353\265\332\266\376\270\366\265\343"))
    16.                 axlUIPopupSet(mypopup)
    17.                 axlDBTransactionMark(mark)
    18.           axlSingleSelectBox(selbox)
    19.           sels = axlGetSelSet()
    20.                 axlClearSelSet()
    21.                 foreach(n0 sels
    22.                         file = car(axlShowObjectToFile(n0))
    23.                         port = infile(file)
    24.                         while(gets(line port)
    25.                                 when(rexMatchp("end points:+" lowerCase(line))
    26.                                         gets(line port)
    27.                                         tt = member("xy" parseString(line " ()\t\n"))
    28.                                         line0xy = list(atof(cadr(tt)) atof(nth(2 tt)))
    29.                                         if(member("xy" cdr(tt)) then
    30.                                                 line1xy = list(atof(nth(4 tt)) atof(nth(5 tt)))
    31.                                         else
    32.                                                 gets(line port)
    33.                                                 tt = member("xy" parseString(line " ()\t\n"))
    34.                                                 line1xy = list(atof(cadr(tt)) atof(nth(2 tt)))
    35.                                         )
    36.                                 )
    37.                         )
    38.                         close(port)
    39.                         deleteFile(file)
    40.                         segs = '()
    41.                         foreach(n1 n0->net->branches~>children
    42.                                 foreach(n2 setof(x0 n1 ((x0->objType == "path" && x0->segments != nil) || x0->objType == "via" || x0->objType == "pin"))
    43.                                         when(n2->segments
    44.                                                 segs = append(n2->segments segs)
    45.                                         )
    46.                                         when(n2->objType == "via" || n2->objType == "pin"
    47.                                                 segs = cons(n2 segs)
    48.                                         )
    49.                                 )
    50.                         )
    51.                         cline0 = car(setof(x0 segs (member(line0xy x0->startEnd) != nil)))
    52.                         via0 = car(setof(x0 segs (line0xy == x0->xy && x0->objType == "via")))
    53.                         pin0 = car(setof(x0 segs (line0xy == x0->xy && x0->objType == "pin")))
    54.                         cline1 = car(setof(x0 segs (member(line1xy x0->startEnd) != nil)))
    55.                         via1 = car(setof(x0 segs (line1xy == x0->xy && x0->objType == "via")))
    56.                         pin1 = car(setof(x0 segs (line1xy == x0->xy && x0->objType == "pin")))
    57.                         when(cline0 && cline1
    58.                                 if(axlLineSlope(cline0->startEnd) != axlLineSlope(cline1->startEnd) then
    59.                                   linex = axl_ol_ol2(cline0->startEnd cline1->startEnd)
    60.                                         startxy0 = car(remd(line0xy cline0->startEnd))
    61.                                         startxy1 = car(remd(line1xy cline1->startEnd))
    62.                                         while(car(linex) != cadr(linex)
    63.                                                 tt = list(startxy0 axlMUniVector(startxy0 car(linex) axlDistance(startxy0 car(linex))+nth(2 linex)))
    64.                                                 tt0 = list(startxy1 axlMUniVector(startxy1 cadr(linex) axlDistance(startxy1 cadr(linex))+nth(2 linex)))
    65.                                                 linex = axl_ol_ol2(tt tt0)
    66.                                         )
    67.                                        
    68.                                         tt = ncons(nil)
    69.                                         tt->width = cline0->width
    70.                                         tt->layer = cline0->layer
    71.                                         tt->netname = cline0->net->name
    72.                                         tt0 = ncons(nil)
    73.                                         tt0->width = cline1->width
    74.                                         tt0->layer = cline1->layer
    75.                                         tt0->netname = cline1->net->name
    76.                                         axlDeleteObject(cline0)
    77.                                         axlDeleteObject(cline1)
    78.                                         axlDBCreateLine(list(car(linex) startxy0) tt->width tt->layer tt->netname)
    79.                                         axlDBCreateLine(list(car(linex) startxy1) tt0->width tt0->layer tt0->netname)
    80.                                         when(via0
    81.                                                 axlChangeNet(via0 tt->netname)
    82.                                         )
    83.                                         when(via1
    84.                                                 axlChangeNet(via1 tt->netname)
    85.                                         )
    86.                                         unless(car(linex) == via0->xy || car(linex) == via1->xy
    87.                                                 when((tt->layer != tt0->layer)
    88.                                                         axlDBCreateVia(car(axlCnsGetViaList("")) car(linex) tt->netname)
    89.                                                 )
    90.                                         )
    91.                                 else
    92.                                         linex = axl_ol_ol2(cline0->startEnd cline1->startEnd)
    93.                                         when(axlLineSlope(cline0->startEnd) == axlLineSlope(list(car(linex) cadr(linex)))
    94.                                                 axlDBCreateLine(list(car(linex) cadr(linex)) cline0->width cline0->layer cline0->net->name)
    95.                                                 unless(car(linex) == via0->xy || car(linex) == via1->xy
    96.                                                         when(cline0->layer != cline1->layer
    97.                                                                 axlDBCreateVia(car(axlCnsGetViaList("")) cadr(linex) cline0->net->name)
    98.                                                         )
    99.                                                 )
    100.                                         )
    101.                                 )
    102.                         )
    103. ;                        when(cline0 && pin1 || cline1 && pin0
    104. ;                                println(axlLineSlope(list(line0xy line1xy)))
    105. ;                                println(axlLineSlope(cline1->startEnd))
    106. ;                                println(pin0)
    107. ;                        )
    108.                 )
    109.         )
    110.         axlDBRefreshId(nil)
    111.         axlDBTransactionCommit(mark)
    112.         axlUIPopupSet(nil)
    113. )
    114. )
    复制代码

    点评

    記得跟大家說要顯示"屬線"(鼠線或飛線), 必須點到"屬線", 才能使用. (我是沒下載, 但看過類似的.), 由axlSetFindFilter(?enabled '("NOALL" "ratsnests") ?onButtons '("all")) 看出.   发表于 2023-12-18 12:40

    该用户从未签到

    5#
    发表于 2023-12-18 09:45 | 只看该作者
    请大佬说明使用方法,没有反应

    点评

    执行命令后点飞线  详情 回复 发表于 2023-12-18 13:08
  • TA的每日心情
    慵懒
    2025-5-18 15:26
  • 签到天数: 113 天

    [LV.6]常住居民II

    6#
    发表于 2023-12-18 13:08 | 只看该作者
    chengyingwudi 发表于 2023-12-18 09:45
    请大佬说明使用方法,没有反应

    执行命令后点飞线
  • TA的每日心情
    无聊
    2025-5-16 15:22
  • 签到天数: 34 天

    [LV.5]常住居民I

    8#
    发表于 2024-4-19 10:33 | 只看该作者
    我17.4
    load "Cline_Link.il"後
    跳到command下 ˋ執行Cline_Link 會出現 >> 亂碼
    就算點了鼠線也沒作用,請問跟語言或版本有關係嗎?

  • TA的每日心情
    擦汗
    2024-5-15 15:49
  • 签到天数: 314 天

    [LV.8]以坛为家I

    9#
    发表于 2024-6-29 22:28 | 只看该作者
    66666666666666
  • TA的每日心情
    擦汗
    2024-5-15 15:49
  • 签到天数: 314 天

    [LV.8]以坛为家I

    10#
    发表于 2024-6-29 22:34 | 只看该作者
    ccwwbb2013 发表于 2023-12-17 21:44
    执行了 没什么反应

    果然没什么反应
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-5-23 13:24 , Processed in 0.109375 second(s), 25 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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