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

幫忙 换层颜色的SKILL

[复制链接]
  • TA的每日心情
    慵懒
    2019-11-18 15:01
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
     楼主| 发表于 2025-4-29 16:45 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

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

    x
    有高手能幫我一段源碼嗎?
    ("Ref Des/Silkscreen_top") 換成#1 紅色
    ("Ref Des/Silkscreen_Bottom")換成#1 紅色

    ("Board geometry/Cs24_Silk_Bot")換成#1 紅色
    ("Board geometry/Cs24_Silk_Top")換成#1 紅色

  • TA的每日心情
    奋斗
    2025-4-27 15:26
  • 签到天数: 81 天

    [LV.6]常住居民II

    推荐
    发表于 2025-4-30 09:28 | 只看该作者

  • TA的每日心情
    慵懒
    2019-11-18 15:01
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
     楼主| 发表于 2025-4-29 17:10 | 只看该作者
    有高手會嗎?
  • TA的每日心情
    奋斗
    2025-4-27 15:26
  • 签到天数: 81 天

    [LV.6]常住居民II

    4#
    发表于 2025-4-29 17:45 | 只看该作者

  • TA的每日心情
    慵懒
    2019-11-18 15:01
  • 签到天数: 1 天

    [LV.1]初来乍到

    5#
     楼主| 发表于 2025-4-29 17:55 | 只看该作者
    我沒有要保留舊的~我要直接覆蓋顏色!
  • TA的每日心情
    慵懒
    2019-11-18 15:01
  • 签到天数: 1 天

    [LV.1]初来乍到

    6#
     楼主| 发表于 2025-4-29 17:57 | 只看该作者
    這個新增換色功能要寫在現有的SKILL下面 還需要加上什麼呢?才能一次到好?
  • TA的每日心情
    开心
    2023-6-12 15:40
  • 签到天数: 1 天

    [LV.1]初来乍到

    7#
    发表于 2025-4-29 18:10 | 只看该作者
    procedure(setLayerColors()
      let((layerList colorList)
        layerList = list("TOP" "BOTTOM" "GND" "POWER")
        colorList = list(axlColor(255 0 0) axlColor(0 0 255) axlColor(100 100 100) axlColor(200 200 200))
        foreach(layer layerList color colorList
          axlColorSet(layer color)
        )
      )
    )

    点评

    大佬 ;; set_layer_colors.il ;; 命令: set_colors axlCmdRegister("set_colors" 'setLayerColors) procedure(setLayerColors() let((layerList colorList) layerList = list("TOP" "BOTTOM  详情 回复 发表于 2025-4-30 09:17
  • TA的每日心情
    慵懒
    2019-11-18 15:01
  • 签到天数: 1 天

    [LV.1]初来乍到

    8#
     楼主| 发表于 2025-4-29 18:14 | 只看该作者
    失敗

    procedure(changeSilkColor()
        let((oldColor layerObj)
            ;; 1. 备份原始颜色设置(可选)
            oldColor = axlColorGet(55)  ;; 获取索引55的当前颜色值
            
            ;; 2. 将颜色索引55设置为红色 (RGB: 255 0 0)
            axlColorSet(55 '(255 0 0))  ;; 注意:使用单引号和括号
            
            ;; 3. 获取图层对象
            layerObj = axlLayerGet("REF DES/SILKSCREEN_TOP")
            
            when(layerObj
                ;; 4. 修改图层颜色索引
                layerObj->color = 55
                
                ;; 5. 应用设置
                axlSetParam(layerObj)
                
                ;; 6. 刷新显示
                axlVisibleUpdate(nil)
                axlUIWPrint(nil "SILKSCREEN_TOP 图层颜色已修改为红色(索引55)")
            else
                axlUIWPrint(nil "错误:找不到 REF DES/SILKSCREEN_TOP 图层!")
            )
        )
    )

    ;; 自动执行(可选)
    changeSilkColor()

    点评

    w_w
    axlUIWPrint这个里面不能有中文,中文需要转码 还有你失败,得把失败时,command栏得报错信息发出来,大佬才能帮你呀  详情 回复 发表于 2025-4-29 19:07
  • TA的每日心情

    2021-1-21 15:57
  • 签到天数: 121 天

    [LV.7]常住居民III

    9#
    发表于 2025-4-29 19:07 | 只看该作者
    Pkron 发表于 2025-4-29 18:14
    失敗

    procedure(changeSilkColor()

    axlUIWPrint这个里面不能有中文,中文需要转码
    还有你失败,得把失败时,command栏得报错信息发出来,大佬才能帮你呀

    该用户从未签到

    10#
    发表于 2025-4-30 08:49 | 只看该作者
    大神,赞一个!
  • TA的每日心情
    慵懒
    2019-11-18 15:01
  • 签到天数: 1 天

    [LV.1]初来乍到

    11#
     楼主| 发表于 2025-4-30 09:17 | 只看该作者
    mnfvbnk 发表于 2025-4-29 18:10
    procedure(setLayerColors()
      let((layerList colorList)
        layerList = list("TOP" "BOTTOM" "GND" " ...

    大佬

    ;; set_layer_colors.il
    ;; 命令: set_colors

    axlCmdRegister("set_colors" 'setLayerColors)

    procedure(setLayerColors()
        let((layerList colorList)
            layerList = list("TOP" "BOTTOM" "GND" "POWER")
            colorList = list(axlColor(255 0 0) axlColor(0 0 255) axlColor(100 100 100) axlColor(200 200 200))
            foreach(layer layerList color colorList
                axlColorSet(layer color)
            )
            printf("层颜色设置完成!\n")
        )
    )

    *Error* eval: undefined function - axlColor出現這樣問題

  • TA的每日心情
    慵懒
    2019-11-18 15:01
  • 签到天数: 1 天

    [LV.1]初来乍到

    12#
     楼主| 发表于 2025-4-30 09:19 | 只看该作者
    另外TOP BOT GND POWER  TOP 我改成 Ref Des/Silkscreen_top 也行嗎? 我主要是白漆層要換成固定顏色
  • TA的每日心情
    慵懒
    2019-11-18 15:01
  • 签到天数: 1 天

    [LV.1]初来乍到

    13#
     楼主| 发表于 2025-4-30 09:49 | 只看该作者
    本帖最后由 Pkron 于 2025-4-30 10:29 编辑

    procedure(changeSilkColor()
        let((oldColor layers layerObj foundLayers)

            axlColorSet(55 '(255 0 0))


            layers = list(
                "REF DES/SILKSCREEN_TOP"
            )

            foundLayers = nil
            foreach(layer layers
                when(layerObj = axlLayerGet(layer)
                    layerObj->color = 55
                    axlSetParam(layerObj)
                    foundLayers = cons(layer foundLayers)
                )
            )


            when(foundLayers
                axlVisibleUpdate(t)
                printf("Changed %d layers to red: %L\n"
                       length(foundLayers)
                       reverse(foundLayers))
            )
        )
    )

    請問我要增加一個顏色灰色 在"REF DES/SILKSCREEN_BOT" 又怎麼新增呢?
  • TA的每日心情
    擦汗
    2024-9-16 15:15
  • 签到天数: 13 天

    [LV.3]偶尔看看II

    14#
    发表于 2025-5-1 15:05 | 只看该作者
                    axlColorSet(56 '(192 192 192))
            layers = list(
                "REF DES/SILKSCREEN_BOTTOM"
            )
            foundLayers = nil
            foreach(layer layers
                when(layerObj = axlLayerGet(layer)
                    layerObj->color = 56
                    axlSetParam(layerObj)
                    foundLayers = cons(layer foundLayers)
                )
            )
            when(foundLayers
                axlVisibleUpdate(t)
                printf("Changed %d layers to Gray: %L\n"
                       length(foundLayers)
                       reverse(foundLayers))
            )
  • TA的每日心情
    慵懒
    2019-11-18 15:01
  • 签到天数: 1 天

    [LV.1]初来乍到

    15#
     楼主| 发表于 2025-5-6 09:44 | 只看该作者
    成功了
    請問我還有auto gerber的問題也可以求助嗎?

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

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

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

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

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