找回密码
 注册
关于网站域名变更的通知
查看: 1074|回复: 16
打印 上一主题 下一主题

修改线距的Skill

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-4-14 08:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
想开发一个skill “通过框选Clines,弹出修改窗口,输入指定线距后线距Air Gap直接改变”
请各位大佬能否提供一下思路????????


“来自电巢APP”

  • TA的每日心情
    开心
    2022-5-6 15:29
  • 签到天数: 34 天

    [LV.5]常住居民I

    推荐
    发表于 2022-4-22 13:54 | 只看该作者
    本帖最后由 leilei4908 于 2022-4-22 14:13 编辑
    db-_- 发表于 2022-4-22 11:01
    强!有空根据这个思路试试。

    理论上是平行线平推
    定一个基准线,第一根线的中心是起点,中垂线方向,距离基准线 t_airgap 的 坐标是终点(平移 t_airgap - airgap)
           或者也可以根据 axlAirGap 提供的起、始点坐标和 airgap,根据 t_airgap:airgap 这个比例去换算终点的坐标(貌似这个更容易实现)                发现一个问题,airgap显示的是四位小数,坐标显示的是两位(精度2),但实际上都是六位小数,用两位小数的坐标去换算,会有一定的误差
    下一根线的基准线,就是上一根线




    点评

    想法真不错~你那边实现了没?还是现在停留在理论上?  详情 回复 发表于 2022-4-24 09:14
  • TA的每日心情
    开心
    2022-5-6 15:29
  • 签到天数: 34 天

    [LV.5]常住居民I

    推荐
    发表于 2022-4-22 08:54 | 只看该作者
    db-_- 发表于 2022-4-21 09:38
    先修改规则,然后用axlShell("slide") 加cline se坐标 推挤每一段cline seg吗?

    axlShell("setwindow pcb")
            axlShell("slide")
            axlShell(sprintf(nil,"pick grid %f %f",x,y))
            axlShell(sprintf(nil,"ipick %f %f",car(pxy)*1.0,cadr(pxy)*1.0))
            axlShell("done")
    x y 是 clineseg 的 中点
    pxy 是 clineseg 要移动的相对位置
    这是计算出来的数值

    点评

    强!有空根据这个思路试试。  详情 回复 发表于 2022-4-22 11:01
    学习到了,感谢  详情 回复 发表于 2022-4-22 09:15
  • TA的每日心情
    奋斗
    2025-7-7 15:38
  • 签到天数: 83 天

    [LV.6]常住居民II

    推荐
    发表于 2022-4-14 09:16 | 只看该作者
    整体思路:针对每个cline seg,重新计算修改间距后的坐标,重新绘制clineseg。

    算坐标应该是最大的计算量了。

    如果是纯直线,还是比较好算的。如果涉及到arc,计算会很麻烦。

    如果还有T点、超短的cline seg,就更难处理了。

    此外,还要考虑cline首尾的处理,可能涉及到交点计算。
    还有对于一条cline包含多段不同线宽或者不同间距,也需要判断并处理。

    点评

    获取当前airgap,利用 slide 指令,计算 所需的偏移量 应该比重新绘制要方便  详情 回复 发表于 2022-4-21 08:48
    麻烦再问一下,如果是只调整一段Cline(一小段一小段)的线距,会不会稍微容易一些?如果不用坐标计算还有没有别的定位间距方法?   详情 回复 发表于 2022-4-14 10:55
    哇哦,我受教了,感谢大佬解惑  详情 回复 发表于 2022-4-14 10:17

    该用户从未签到

    5#
     楼主| 发表于 2022-4-14 10:17 | 只看该作者
    db-_- 发表于 2022-04-14 09:16:12
    整体思路:针对每个cline seg,重新计算修改间距后的坐标,重新绘制clineseg。

    算坐标应该是最大的计算量了。

    如果是纯直线,还是比较好算的。如果涉及到arc,计算会很麻烦。

    如果还有T点、超短的cline seg,就更难处理了。

    此外,还要考虑cline首尾的处理,可能涉及到交点计算。
    还有对于一条cline包含多段不同线宽或者不同间距,也需要判断并处理。


    哇哦,我受教了,感谢大佬解惑

    “来自电巢APP”

    该用户从未签到

    6#
     楼主| 发表于 2022-4-14 10:55 | 只看该作者
    db-_- 发表于 2022-04-14 09:16:12
    整体思路:针对每个cline seg,重新计算修改间距后的坐标,重新绘制clineseg。

    算坐标应该是最大的计算量了。

    如果是纯直线,还是比较好算的。如果涉及到arc,计算会很麻烦。

    如果还有T点、超短的cline seg,就更难处理了。

    此外,还要考虑cline首尾的处理,可能涉及到交点计算。
    还有对于一条cline包含多段不同线宽或者不同间距,也需要判断并处理。


    麻烦再问一下,如果是只调整一段Cline(一小段一小段)的线距,会不会稍微容易一些?如果不用坐标计算还有没有别的定位间距方法?


    “来自电巢APP”

  • TA的每日心情
    奋斗
    2025-7-7 15:38
  • 签到天数: 83 天

    [LV.6]常住居民II

    7#
    发表于 2022-4-14 11:07 | 只看该作者
    我真是个小天才 发表于 2022-04-14 10:55:53
    [quote]db-_- 发表于 2022-04-14 09:16:12
    整体思路:针对每个cline seg,重新计算修改间距后的坐标,重新绘制clineseg。

    算坐标应该是最大的计算量了。

    如果是纯直线,还是比较好算的。如果涉及到arc,计算会很麻烦。

    如果还有T点、超短的cline seg,就更难处理了。

    此外,还要考虑cline首尾的处理,可能涉及到交点计算。
    还有对于一条cline包含多段不同线宽或者不同间距,也需要判断并处理。


    麻烦再问一下,如果是只调整一段Cline(一小段一小段)的线距,会不会稍微容易一些?如果不用坐标计算还有没有别的定位间距方法?


    [/quote]

    我只知道计算坐标,删了重新画,这一种方法。其他方法没见过。

    “来自电巢APP”

    该用户从未签到

    8#
     楼主| 发表于 2022-4-14 11:22 | 只看该作者
    db-_- 发表于 2022-04-14 11:07:04
    [quote]我真是个小天才 发表于 2022-04-14 10:55:53
    [quote]db-_- 发表于 2022-04-14 09:16:12
    整体思路:针对每个cline seg,重新计算修改间距后的坐标,重新绘制clineseg。

    算坐标应该是最大的计算量了。

    如果是纯直线,还是比较好算的。如果涉及到arc,计算会很麻烦。

    如果还有T点、超短的cline seg,就更难处理了。

    此外,还要考虑cline首尾的处理,可能涉及到交点计算。
    还有对于一条cline包含多段不同线宽或者不同间距,也需要判断并处理。


    麻烦再问一下,如果是只调整一段Cline(一小段一小段)的线距,会不会稍微容易一些?如果不用坐标计算还有没有别的定位间距方法?


    [/quote]

    我只知道计算坐标,删了重新画,这一种方法。其他方法没见过。

    [/quote]

    哦哦,好滴,感谢

    “来自电巢APP”

  • TA的每日心情
    开心
    2022-5-6 15:29
  • 签到天数: 34 天

    [LV.5]常住居民I

    10#
    发表于 2022-4-21 08:48 | 只看该作者
    db-_- 发表于 2022-4-14 09:16
    整体思路:针对每个cline seg,重新计算修改间距后的坐标,重新绘制clineseg。

    算坐标应该是最大的计算 ...

    获取当前airgap,利用 slide 指令,计算 所需的偏移量
    应该比重新绘制要方便

    点评

    先修改规则,然后用axlShell("slide") 加cline se坐标 推挤每一段cline seg吗?  详情 回复 发表于 2022-4-21 09:38
  • TA的每日心情
    奋斗
    2025-7-7 15:38
  • 签到天数: 83 天

    [LV.6]常住居民II

    11#
    发表于 2022-4-21 09:38 | 只看该作者
    leilei4908 发表于 2022-4-21 08:48
    获取当前airgap,利用 slide 指令,计算 所需的偏移量
    应该比重新绘制要方便

    先修改规则,然后用axlShell("slide") 加cline se坐标 推挤每一段cline seg吗?

    点评

    axlShell("setwindow pcb") axlShell("slide") axlShell(sprintf(nil,"pick grid %f %f",x,y)) axlShell(sprintf(nil,"ipick %f %f",car(pxy)*1.0,cadr(pxy)*1.0)) axlShell("done") x y 是 clineseg 的 中  详情 回复 发表于 2022-4-22 08:54

    该用户从未签到

    12#
     楼主| 发表于 2022-4-22 09:15 | 只看该作者
    leilei4908 发表于 2022-4-22 08:54
    axlShell("setwindow pcb")
            axlShell("slide")
            axlShell(sprintf(nil,"pick grid %f %f",x,y))

    学习到了,感谢

    该用户从未签到

    13#
    发表于 2022-4-22 09:17 | 只看该作者
    期待功力大成
  • TA的每日心情
    奋斗
    2025-7-7 15:38
  • 签到天数: 83 天

    [LV.6]常住居民II

    14#
    发表于 2022-4-22 11:01 | 只看该作者
    leilei4908 发表于 2022-4-22 08:54
    axlShell("setwindow pcb")
            axlShell("slide")
            axlShell(sprintf(nil,"pick grid %f %f",x,y))

    强!有空根据这个思路试试。

    点评

    理论上是平行线平推定一个基准线,第一根线的中心是起点,中垂线方向,距离基准线 t_airgap 的 坐标是终点(平移 t_airgap - airgap) 或者也可以根据 axlAirGap 提供的起、始点坐标和 airgap,根据 t_airgap  详情 回复 发表于 2022-4-22 13:54
  • TA的每日心情
    奋斗
    2025-7-7 15:38
  • 签到天数: 83 天

    [LV.6]常住居民II

    15#
    发表于 2022-4-24 09:14 | 只看该作者
    leilei4908 发表于 2022-4-22 13:54
    理论上是平行线平推
    定一个基准线,第一根线的中心是起点,中垂线方向,距离基准线 t_airgap 的 坐标是 ...

    想法真不错~你那边实现了没?还是现在停留在理论上?
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-7-10 17:38 , Processed in 0.156250 second(s), 34 queries , Gzip On.

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

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

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