EDA365电子论坛网

标题: 可以将outline变为antietch吗?antietch all&antietchpower? [打印本页]

作者: long235235    时间: 2010-7-19 19:50
标题: 可以将outline变为antietch吗?antietch all&antietchpower?
可以将outline变为antietch吗?antietch all&antietchpower?
每次板框outline变为antietch时都是手动编辑很麻烦,skill可以实现吗?
作者: lindawang117    时间: 2011-9-8 10:40
我也想知道

作者: gray    时间: 2011-9-8 11:01
skill可以实现,先取得outline的poly,再在Antietch对应层画line就可以了
作者: zychappy    时间: 2011-9-14 23:18
哪位大虾做一个现成的啊,感谢感谢……
作者: ghostmlj    时间: 2012-1-13 08:39
没人做啊
作者: 叫布什动我啊    时间: 2012-1-13 09:31
版主回家啦{:soso_e128:}
作者: shirdon    时间: 2012-1-16 19:02
; I can now be reached at the following address:

; E-Mail: shirdon1@163.com


;=======================================================================
defun(Outline_anti_CreatShape ()

        prog( (seg_list shape_path   )

                shape_line_all = axlDBGetShapes("BOARD GEOMETRY/OUTLINE")

                setof(nam shape_line_all
               
                        seg_list =nam ->segments
               
                        shape_path = Outline_anti_BuildShapePath(seg_list )
       
                )
       
        )
      
      shape_line_all=nil
)

;========================================================================
;create a path
defun(Outline_anti_BuildShapePath (segment_list)

        prog( ( return_path coord_number)
   
                coordinate_number = nil
   
                if(coordinate_number == nil then
     
                        foreach(seg segment_list
     
                                when(seg->objType == "line"
         
                                        if(coordinate_number == nil then
               
                                                coord = car(seg->startEnd)
                  
                                                return_path = axlPathStart( list(coord)  seg->width)
               
                                                return_path = axlPathLine( return_path seg->width nthelem( 2 (seg->startEnd)) )
               
                                                coordinate_number = t
         
                                        else
               
                                                return_path = axlPathLine(return_path seg->width nthelem( 2 (seg->startEnd)) )
                                               
                                        );endif

                                );endwhen
         
                                when(seg->objType == "arc"
       
                                        if(coordinate_number == nil then
               
                                                coord = car(seg->startEnd)
                 
                                                return_path = axlPathStart( list(coord)  seg->width)
               
                                                return_path = axlPathArcCenter( return_path  seg->width nth( 1 (seg->startEnd))
                              
                                                seg->isClockwise seg->xy)
               
                                                coordinate_number = t
           
                                        else
               
                                                return_path = axlPathArcCenter( return_path seg->width nth( 1 (seg->startEnd))
                                               
                                               seg->isClockwise seg->xy )
                                               
                                        );endif
                                );endwhen
                               
                                axlDBCreatePath( return_path, "Anti etch/ALL")

                                                               axlDBCreatePath( return_path, "Anti etch/Power")

                       
                        );endforeach
                       
                )
               
        )
       
)


axlCmdRegister( "ota" `Outline_anti_CreatShape)

自己再看看,可以按照自己的习惯修改合适你自己的代码!
红色粗体是copy到的目的层面

快捷命令“ota”,具体自己修改就好了

outline2anti.zip

767 Bytes, 下载次数: 23, 下载积分: 贡献 -30 , 威望 -10


作者: shirdon    时间: 2012-1-16 19:06
附件中不包含这个语句,axlDBCreatePath( return_path, "Anti etch/Power"),自己可以补加;
再在allegro.ilinit中添加语句load("outline2anti.il"),就好,顺便在此呼吁一下版主,尽量开源,帮助更多需要学习提高的一线战友们!

作者: glater    时间: 2012-1-18 16:31
这个确实很需要的!
作者: shirdon    时间: 2012-1-18 23:24
可以在这两句前面增加判断语句,路径是否存在,只有就不会重复复制
axlDBCreatePath( return_path, "Anti etch/ALL")

                                axlDBCreatePath( return_path, "Anti etch/Power")   
作者: zyshuaiyu    时间: 2012-8-9 00:06
可惜二级会员权限太低
作者: lh08101276    时间: 2012-8-9 01:26
感谢分享~!
作者: ronnyliu    时间: 2012-8-14 13:24
看看~~~~~~~~
作者: long235235    时间: 2015-1-15 11:29
几年后回到这里,发现宝藏了,感谢分享!  
经过实践现在全是手动画,比skill还方便。layout已经八年了。是不是走到头了。大家分析下layout的前途?光明嘛?
作者: molyzhang    时间: 2016-9-20 10:02
几年后回到这里,发现宝藏了,感谢分享!




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2