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

检查走线跨平面Skill源码共享,附中文详细讲解每个步骤。

    [复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-12-28 16:05 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
本帖最后由 紫菁 于 2017-9-25 17:32 编辑

源程序见附件。
load("etch_cross_plane.il")
命令:ecp
使用方法:首先在程序里面选择某一电器层,然后选择某一平面层,点击“Check”按钮就可以进行跨平面的检查,检查结果会高亮显示跨平面的走线
程序中几乎每段都用了中文进行详细讲解,对不会skill编程或初学Skill编程的相信能给您带来一些帮助。望您早日成为Skill编程一员。通过程序的源码,您可以进行试改、修改,对成功的可以进行分享,本人绝对不说您抄袭思路。
程序会涉及到的函数或命令大致有以下:
axlFormCreate()
axlFormColorize()
axlUIWPrint()
axlFormSetField()
axlVisibleDesign()
axlVisibleUpdate()
axlDBGetLayerType()
axlFormClose()
axlGetParam()
axlSetFindFilter()
axlAddSelectAll()
axlGetSelSet()
axlClearSelSet()
axlHighlightObject()
axlDehighlightObject()
axlGeoPointInShape()
deleteFile()
defun()
prog()
case()
foreach()
when()
strcat()
cons()
reverse()
car()
cadr()
由于某些函数或命令在程序不能进行太多详细讲解
如果您觉得我的努力能给您带来一点点的兴趣,哪怕就那么一点,请别忘记帮忙顶下,多谢!
游客,如果您要查看本帖隐藏内容请回复

cross.jpg (77.86 KB, 下载次数: 25)

cross.jpg

Skill.jpg (78.84 KB, 下载次数: 79)

Skill.jpg

评分

参与人数 3贡献 +14 收起 理由
numbdemon + 6 感谢分享
deargds + 6
y175813652 + 2 感谢分享

查看全部评分

该用户从未签到

推荐
发表于 2019-5-15 16:45 | 只看该作者
使用polygon操作会不会更准确?

该用户从未签到

推荐
发表于 2017-6-21 14:35 | 只看该作者
;可实现走线跨分割有两种方法,其一:判断线段某点是否在铜皮上。其二:判断线段的box内铜皮个数是否不等于1。走线如在平面上,他的box内铜皮个数应该是1,利用这个进行判断。
这个检查方法思路有问题,1.两个点都在同一个铜皮上但中间有一部份被切割了,这种情况下查不出来。2.用铜皮个数判定有没有跨切割也有问题,因为bBOX是方的,有可能会多选到其它的铜皮。

该用户从未签到

推荐
发表于 2016-12-22 10:49 来自手机 | 只看该作者
只检查了起点和终点,会有很大可能漏判的,但是如果增加点的话,跑的时间又可能增长。楼主能否介绍下第二种方法呢?

该用户从未签到

5#
发表于 2009-12-30 08:46 | 只看该作者
顶上去

该用户从未签到

6#
 楼主| 发表于 2009-12-30 13:06 | 只看该作者
呵呵!

该用户从未签到

7#
发表于 2009-12-30 14:20 | 只看该作者
这个太实在了,正需要这种东西来学习学习,一定要顶

该用户从未签到

8#
发表于 2009-12-30 14:39 | 只看该作者
谢谢 wg2005 !
正需要!!呵呵...

该用户从未签到

9#
 楼主| 发表于 2009-12-30 17:20 | 只看该作者
哈哈没什么

该用户从未签到

10#
发表于 2009-12-30 21:32 | 只看该作者

该用户从未签到

11#
发表于 2009-12-31 09:04 | 只看该作者
楼主用的什么编辑器,有skill语法高亮的配置文件吗?

该用户从未签到

12#
 楼主| 发表于 2009-12-31 09:38 | 只看该作者
Skill二次开发网有Skill语法高亮配置文件

该用户从未签到

13#
发表于 2009-12-31 10:48 | 只看该作者
好~~~~~~~~~~~~~~

该用户从未签到

14#
发表于 2009-12-31 10:56 | 只看该作者

该用户从未签到

15#
发表于 2009-12-31 13:10 | 只看该作者
wg2005
我给你发了一个消息,关于这个skill我加了一个unselect的功能,但是没有成功,那段代码麻烦帮我看看,谢谢楼!

该用户从未签到

16#
发表于 2009-12-31 13:37 | 只看该作者
正在验证,先顶后下

该用户从未签到

17#
 楼主| 发表于 2009-12-31 15:43 | 只看该作者
wg2005
我给你发了一个消息,关于这个skill我加了一个unselect的功能,但是没有成功,那段代码麻烦帮我看看 ...
meterfalls 发表于 2009-12-31 13:10



我未收到你的消息哦!
你是说unselect还是unless?
下面是unless简单举例
unless(
           layer == "ETCH/TOP"
         ....


该用户从未签到

18#
发表于 2009-12-31 17:09 | 只看该作者
我想加一个unselect的功能,因为你的程序检查完后不能去高亮,你帮我看看下面的代码。
(defun unselect_object ()
(let (allsel)
    axlSetFindFilter(?enabled '(noall clinesegs clines) ?onButtons '(noall clinesegs clines))
   ; axlSetFindFilter(?enabled '(all) ?onButtons '(all))
    allsel = axlGetSelSet(axlAddSelectAll())
    axlClearSelSet()
    axlSetFindFilter(?enabled '(noall symbols) ?onButtons '(noall symbols))
    allsel = axlGetSelSet(axlAddSelectAll())
    axlClearSelSet()
))
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-5 00:38 , Processed in 0.140625 second(s), 30 queries , Gzip On.

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

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

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