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

Change the cline or line to shape( Source Code)

  [复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-10-11 13:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
本帖最后由 bavol 于 2012-10-12 22:29 编辑

功能:将CLINE或者LINE转变为相应层面的SHAPE,之前如果有NET属性,也会同时保留。

1. 下载附件后,解压放入PCBENV目录下,在allegro.ilinit文件中添加一句
load("cline2shape.il")     ;请注意是否为英文引号及空格。

2.重开ALLEGRO,执行Command>cline2shape命令调用。

3.直接选择要进行转换的CLINE或者LINE,支持使用TempGroup进行选择。
等级不够的,可以直接留下邮箱,统一发送

cline2shape.zip

1.44 KB, 下载次数: 151, 下载积分: 贡献 -30 , 威望 -10

评分

参与人数 1贡献 +10 收起 理由
XYX365 + 10 很给力!

查看全部评分

该用户从未签到

来自 42#
发表于 2012-10-28 09:50 | 只看该作者
本帖最后由 XYX365 于 2012-10-28 09:51 编辑

新增Lines轉為静态shape
  1. procedure(LCB_cline_to_shape()
  2. let( ()
  3.         axlSetFindFilter(?enabled list("noall" "LINES" "clines") ?onButtons list("noall" "LINES" "clines"))
  4.         LCBpopup = axlUIPopupDefine( nil (list
  5.                     list("Done" 'LCB_Done)
  6.                     list("Undo" 'LCB_unDo)
  7.                     list("Cancel" 'LCB_Cancel)
  8.                     list("MENU_SEPARATOR" nil)
  9.                     list("Set Dynamic" "bDynamic = t")
  10.                     list("Set Statics" "bDynamic = nil")
  11.                     list("MENU_SEPARATOR" nil)
  12.                     list("EndCapType = OCTAGON" "sEndCapType = 'OCTAGON")
  13.                     list("EndCapType = ROUND" "sEndCapType = 'ROUND")
  14.                     list("EndCapType = SQUARE" "sEndCapType = 'SQUARE")
  15.             ))
  16.         axlUIPopupSet(LCBpopup)
  17.         LCBstartMark = axlDBTransactionStart()
  18.         notdone = t
  19.         bDynamic = t
  20.         sEndCapType = 'OCTAGON
  21.         while(notdone
  22.                 lclines = axlGetSelSet(axlSelect(?prompt "Select Clines to convert to a shape."))
  23.                 if(lclines then
  24.                      foreach(clinedbid lclines ;clinedbid = car(lclines)
  25.                         ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  26.                         net = clinedbid->net->name
  27.                         layer = clinedbid->layer
  28.                         ;******************
  29.                        unless(clinedbid->isEtch
  30.                                  bDynamic = nil
  31.                         )
  32.                         axlUIWPrint(layer "** now layer is layer. **")
  33.                         ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  34.                         polydbid = axlPolyFromDB(clinedbid ?endCapType sEndCapType)
  35.                         if(polydbid then
  36.                             axlDeleteObject(clinedbid)
  37.                             if(bDynamic then
  38.                               tNewLayer = strcat("BOUNDARY/" cadr(parseString(layer "/")))
  39.                               unless(axlDBCreateShape(car(polydbid) t tNewLayer net)
  40.                                 axlUIWPrint(nil "** Error. Failed to create Shape from Cline. **")
  41.                              ); endif
  42.                         else
  43.                              unless(axlDBCreateShape(car(polydbid) t Layer net)
  44.                                  axlUIWPrint(nil "** Error. Failed to create Shape from Cline. **")
  45.                              ); endif
  46.                         )
  47.                         if(cadr(polydbid) then
  48.                             if(bDynamic then
  49.                                 tNewLayer = strcat("BOUNDARY/" cadr(parseString(layer "/")))
  50.                                 axlDBCreateShape(cadr(polydbid) t tNewLayer net)
  51.                         else
  52.                                 axlDBCreateShape(cadr(polydbid) t layer net)
  53.                         )
  54.                 )
  55.                else
  56.                 axlUIWPrint(nil "** Error. Failed to create Polydbid from Cline. **")
  57.         ); endif
  58.   ); end foreach cline
  59.   ); endif
  60. ); end while
  61. axlDBTransactionCommit(LCBstartMark)
  62. )); let and procedure
复制代码

点评

支持!: 5.0
代码不完整,少了done\cancel%undo的定义  详情 回复 发表于 2023-6-5 17:00
能不能转换成为动态的shape?  详情 回复 发表于 2016-1-21 17:59
unless(axlDBCreateShape(car(polydbid) t Layer net) 这句中Layer要小写哦 layer  详情 回复 发表于 2015-9-11 13:23
支持!: 5
  发表于 2012-10-28 13:35
  • TA的每日心情
    开心
    2022-8-18 15:00
  • 签到天数: 1 天

    [LV.1]初来乍到

    推荐
    发表于 2015-9-11 14:26 | 只看该作者
    贴出来的那个代码调用不了,开头加axlCmdRegister("cline_to_shape" `LCB_cline_to_shape)调用。可以把线转为shape,但执行done ,cancel 等命令均说没有定义,但我看程序开头已经定义了的,不知道为什么不起作用。

    该用户从未签到

    推荐
     楼主| 发表于 2014-10-14 19:37 | 只看该作者
    jerry2118 发表于 2014-10-11 18:51
    我也正想找这样的的Skill,手机板单点接地很多,不好处理用能否把你改过的发给小弟一份?

    帖子中间楼层有源代码,自己copy

    该用户从未签到

    2#
     楼主| 发表于 2012-10-11 21:15 | 只看该作者
    这帖子也沉的太快了,自己顶一个

    该用户从未签到

    3#
     楼主| 发表于 2012-10-12 22:31 | 只看该作者
    bavol 发表于 2012-10-11 21:15
    这帖子也沉的太快了,自己顶一个

    就没人需要吗

    该用户从未签到

    4#
    发表于 2012-10-14 09:08 | 只看该作者
    谢谢分享!!

    该用户从未签到

    5#
    发表于 2012-10-14 16:43 | 只看该作者
    谢谢分享!!
  • TA的每日心情
    开心
    2025-2-8 15:59
  • 签到天数: 726 天

    [LV.9]以坛为家II

    6#
    发表于 2012-10-17 10:09 | 只看该作者
    yang.peggy@iac.com.tw
    樓主我有需要

    该用户从未签到

    7#
     楼主| 发表于 2012-10-17 21:59 | 只看该作者
    yang-2200 发表于 2012-10-17 10:09
    樓主我有需要

    请查收

    该用户从未签到

    8#
    发表于 2012-10-18 08:56 | 只看该作者
  • TA的每日心情
    开心
    2025-2-8 15:59
  • 签到天数: 726 天

    [LV.9]以坛为家II

    9#
    发表于 2012-10-18 09:33 | 只看该作者
    感謝樓主.收到了
    現在去試試..
  • TA的每日心情
    开心
    2025-2-8 15:59
  • 签到天数: 726 天

    [LV.9]以坛为家II

    10#
    发表于 2012-10-18 09:49 | 只看该作者
    樓主~~~~
    剛試了,但是E- Command not found: cline2shape
    可以請你把使用的方式用圖示嗎
  • TA的每日心情
    擦汗
    2024-6-18 15:05
  • 签到天数: 351 天

    [LV.8]以坛为家I

    11#
    发表于 2012-10-18 14:26 | 只看该作者
    谢谢分享!~和c2s的skill相同?

    该用户从未签到

    12#
     楼主| 发表于 2012-10-18 23:25 | 只看该作者
    careyhung 发表于 2012-10-18 14:26
    谢谢分享!~和c2s的skill相同?

    是的,这个命令可以自己改

    该用户从未签到

    13#
     楼主| 发表于 2012-10-18 23:26 | 只看该作者
    本帖最后由 bavol 于 2012-10-18 23:28 编辑
    yang-2200 发表于 2012-10-18 09:49
    樓主~~~~
    剛試了,但是E- Command not found: cline2shape
    可以請你把使用的方式用圖示嗎


    你告诉我,你的文件存放的位置,你先要确定 文件被正确载入了

    该用户从未签到

    14#
     楼主| 发表于 2012-10-18 23:26 | 只看该作者
    wolf343105 发表于 2012-10-18 08:56

    已发送,请查收

    该用户从未签到

    15#
    发表于 2012-10-19 01:01 | 只看该作者
    Сongratulations.
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-5-25 05:58 , Processed in 0.093750 second(s), 36 queries , Gzip On.

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

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

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