亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? etch_cross_plane.il

?? Allegro常用skill
?? IL
字號:
;load("etch_cross_plane.il")
;Revision:1.0
;Writen: WG2005
;date:2009-12-26
;功能查找走線跨平面
;可實現(xiàn)走線跨分割有兩種方法,其一:判斷線段某點是否在銅皮上。其二:判斷線段的box內(nèi)銅皮個數(shù)是否不等于1。走線如在平面上,他的box內(nèi)銅皮個數(shù)應該是1,利用這個進行判斷。
;本程序詳細講解利用第一種方法實現(xiàn)走線跨分割的查找。

axlCmdRegister("ecp" 'create_etch_cross_form ) ;定義執(zhí)行此程序命令的名字為“ecp”

(defun create_etch_cross_form () ;創(chuàng)建面板

    FORMFILE = outfile("./c_e_c.form")  ;輸出面板
    
    fprintf( FORMFILE "FILE_TYPE=FORM_DEFN VERSION=2\n")         ;面板固定格式
    fprintf( FORMFILE "FORM\n")                                  ;面板固定格式
    fprintf( FORMFILE "FIXED\n")                                 ;面板固定格式
    fprintf( FORMFILE "PORT 55 30\n")                        ;定義面板可視大小
    fprintf( FORMFILE "HEADER \"Check Etch Cross Plane\"\n") ;顯示面板標題
    fprintf( FORMFILE "\n")     
    fprintf( FORMFILE "TILE\n")                            ;面板固定格式
    
    fprintf( FORMFILE "TEXT \"Select Etch Layer:\"blue_a \n") ;面板顯示文字“Select Etch Layer” 并定義顯示的顏色 如果去掉blue_a顯示的是傳統(tǒng)黑色
    fprintf( FORMFILE "TLOC  2 1\n")                          ;文字在面板上顯示的X和Y坐標
    fprintf( FORMFILE "ENDTEXT\n\n")                          ;結(jié)束此段文字語句
    
    fprintf( FORMFILE "FIELD etch_list\n")         ;顯示Etch Layer 名字表格 此“etch_list”將在后面程序中調(diào)用
    fprintf( FORMFILE "FLOC 2 3\n")                ;表格在面板上顯示的X和Y坐標  
    fprintf( FORMFILE "LIST \"\" 20 8\n")          ;表格在面板上顯示寬度和長度范圍 
    fprintf( FORMFILE "ENDFIELD\n\n")              ;結(jié)束此段表格語句 
    
    fprintf( FORMFILE "TEXT \"Select Plane Layer:\"blue_b \n") ;顯示文字“Select Plane Layer”
    fprintf( FORMFILE "TLOC  28 1\n")             ;內(nèi)容同上,下如有內(nèi)容意義同樣不在描述
    fprintf( FORMFILE "ENDTEXT\n\n")  
    
    fprintf( FORMFILE "FIELD Plane_list\n")       ;顯示Plane Layer 名字表格  
    fprintf( FORMFILE "FLOC 28 3\n")
    fprintf( FORMFILE "LIST \"\" 20 8\n")
    fprintf( FORMFILE "ENDFIELD\n\n")    
        
   fprintf( FORMFILE "GROUP \"Display Select Layer\"  \n")  ;顯示一個框 標題為Display Select Layer
   fprintf( FORMFILE "GLOC 2 20\n")            ;顯示框的X和Y坐標
   fprintf( FORMFILE "GSIZE 45 8\n")          ;顯示框的寬度和長度范圍  
   fprintf(  FORMFILE "ENDGROUP\n")  
   
   fprintf( FORMFILE "TEXT \"Etch Layer ->:\"blue_c \n") ;顯示文字“Etch Layer ->:”
   fprintf( FORMFILE "TLOC  4 22\n")             
   fprintf( FORMFILE "ENDTEXT\n\n")  
    
    fprintf(FORMFILE "TEXT\n")        ;顯示選中的ETCH 層名字
    fprintf(FORMFILE "TLOC 15 22\n")
    fprintf(FORMFILE "INFO s_e_layer 30\n")  
    fprintf(FORMFILE "FSIZE 30 2\n")  
    fprintf(FORMFILE "ENDTEXT\n")   
    
   fprintf( FORMFILE "TEXT \"Plane Layer ->:\"blue_d \n") ;顯示文字“Plane Layer ->:”
   fprintf( FORMFILE "TLOC  4 25\n")             
   fprintf( FORMFILE "ENDTEXT\n\n") 
    
    fprintf(FORMFILE "TEXT\n")       ;顯示選中的Plane 層名字
    fprintf(FORMFILE "TLOC 15 25\n")
    fprintf(FORMFILE "INFO s_p_layey 30\n")  
    fprintf(FORMFILE "FSIZE 30 2\n")  
    fprintf(FORMFILE "ENDTEXT\n")   
    
    
    
    fprintf( FORMFILE "FIELD sel_check\n")         ;Check按鈕
    fprintf( FORMFILE "FLOC 10 32\n")
    fprintf( FORMFILE "MENUBUTTON \"Check\" 9 3\n")  ;顯示Check 并定義按鈕的長度和寬度
    fprintf( FORMFILE "ENDFIELD\n")
    
    fprintf( FORMFILE "FIELD exit\n")      ;退出按鈕
    fprintf( FORMFILE "FLOC 32 32\n")
    fprintf( FORMFILE "MENUBUTTON \"Exit\" 9 3\n")  ;顯示Exit
    fprintf( FORMFILE "ENDFIELD\n")
    
    fprintf( FORMFILE "\n")
    fprintf( FORMFILE "ENDTILE\n") ;結(jié)束TILE
    fprintf( FORMFILE "\n")
    fprintf( FORMFILE "ENDFORM\n")  ;結(jié)束FORM
    close( FORMFILE)                ;關(guān)閉FORMFILE
    form = (axlFormCreate (gensym) "c_e_c.form" `("E" "OUTER") `c_etch_Callback t)   ;創(chuàng)建窗口 并將程序帶到下面c_etch_Callback中
    axlFormDisplay( form)       ;顯示窗口
    
    select_layername()      ;調(diào)用下面提取PCB板層的名字程序
    
    axlFormColorize( form "blue_a" 'text 'blue) ;定義面板顯示的文字用藍色 根據(jù)個人習慣可以更改
    axlFormColorize( form "blue_b" 'text 'blue) 
    axlFormColorize( form "blue_c" 'text 'blue)
    axlFormColorize( form "blue_d" 'text 'blue)
    
    axlFormColorize( form "s_e_layer" 'text 'red)   ;定義面板選中的ETCH層用紅色顯示 
    axlFormColorize( form "s_p_layey" 'text 'red)   ;定義面板選中的PALNE層用紅色顯示     
    
    etchlist = "ETCH/TOP"      ;定義初始走線層為ETCH/TOP
    planelist = "ETCH/BOTTOM"  ;定義初始走線層為ETCH/BOTTOM         
    
    axlUIWPrint(form "Writen : WG2005      Revision : REV2.0     date : 2009-12-26") ;在面板窗體的下面顯示一些信息
    
    deleteFile( "c_e_c.form")     ;刪除面板文件
    
);defun


(defun c_etch_Callback (form)  ;連接上面指定的程序form = (axlFormCreate (gensym) "c_e_c.form" `("E" "OUTER") `c_anti_Callback t) 的“c_anti_Callback”
(prog ()        
   case( form->curField   ; C語言中也提到case用法,意義大致相同 中文不好表達意義,個人理想選擇相匹配的執(zhí)行     
              ("etch_list"       ;定義面板"etch_list"需要執(zhí)行什么命令
                etchlist = form->curValue                            
                axlFormSetField( form "s_e_layer" etchlist)   ;如果選中etch_list里面一個層將顯示到上面定義的s_e_layer中
                axlVisibleDesign(nil)           ;關(guān)閉所有層顯示
                axlVisibleLayer( planelist t )  ;顯示選中Plane層面
                axlVisibleLayer( etchlist t )   ;顯示選中Etch層面
                axlVisibleUpdate(t)             ;刷新顯示層                      
               t)     
              
              
               ("Plane_list"    ;定義面板"Plane_list"需要執(zhí)行什么命令
                planelist = form->curValue                 
                axlFormSetField( form "s_p_layey" planelist)    ;如果選中planelist里面一個層將顯示到上面定義的s_p_layey中
                axlVisibleDesign(nil)           ;關(guān)閉所有層顯示            
                axlVisibleLayer( planelist t )  ;顯示選中Plane層面
                axlVisibleLayer( etchlist t )   ;顯示選中Etch層面
               axlVisibleUpdate(t)                 ;刷新顯示層                 
                t) ;括號內(nèi)大致意思是:Plane層名字 顯示到上面定義的Plane_list中,如果選中etch_list一個層名將顯示上面定義的s_p_layey中
                    
                
                ("sel_check"       ;面板Check對應的按鈕命令
                  e_c_plane()      ;調(diào)用Check Cline 跨平面主程序                            
                t)             
                
                                       
              ("exit"              ;面板exit對應的按鈕命令     
                  axlFormClose( form)    ;關(guān)閉面板窗口             
               t)
          
          
    );case
);prog
);defun

;下面程序?qū)⒌玫綄用?
defun( select_layername ()  ;上面鏈接名字
prog( ()  
    etchparam = axlGetParam("paramLayerGroup:ETCH")     
    l_layers = etchparam->groupMembers   ;得到層名     如 ("TOP" "GND02" "POWER03" "BOTTOM")
    
    etchlist = nil   ;定義list為nil
    planelist = nil
    
    foreach(nlayer l_layers         ;將層的名字逐個循環(huán),待后面進行判斷是平面層還是走線層
      layerlista = strcat("ETCH/" nlayer )   ;由于上面得到的層名字是("TOP" "GND02" "POWER03" "BOTTOM") 所以通過strcat將"ETCH/"插入layerlista中變成   ("ETCH/TOP" "ETCH/GND02" "ETCH/POWER03" "ETCH/BOTTOM")
      
      when(axlDBGetLayerType(layerlista)=="PLANE"     ;利用when語法判斷如果得到的層是PLANE屬性的將層名字放到planelist中,必須在此程序前定義planelist = nil
        planelist = cons(layerlista planelist)        ;cons( item list ),將單個元素插入到列表的最前面成為列表的一個元素;
        );end when 結(jié)束when PLANE判斷
        
      when(axlDBGetLayerType(layerlista)=="CONDUCTOR"     ;判斷如果得到的層是CONDUCTOR屬性的將層名字放到etchlist中,必須在此程序前定義etchlist = nil
       etchlist = cons(layerlista etchlist)
        ) ;end when 結(jié)束when CONDUCTOR判斷      
      );foreach  結(jié)束foreach判斷

      etchlist = reverse(etchlist)     ;reverse 將層名字反向排序,便于習慣看法,如果不加reverse也可以的,只是顯示效果是("ETCH/BOTTOM" "ETCH/TOP")
      planelist = reverse(planelist)   ;顯示效果是("ETCH/GND02" "ETCH/POWER03")
      
      axlFormSetField( form "etch_list" etchlist)       ;最終在面板窗口etch_list欄里面顯示所有走線層名字
      axlFormSetField( form "Plane_list" planelist)     ;在面板窗口Plane_list欄里面顯示所有平面層名字 
          
  );prog
);defun


;執(zhí)行走線跨平面主程序
(defun e_c_plane ()
(prog ()
  
  axlSetFindFilter(?enabled '(noall clinesegs) ?onButtons '(noall clinesegs))  ;定義Find面板中 clinesegs 勾選上,對clinesegs進行操作  
  
  clines_a = axlGetSelSet(axlAddSelectAll())  ;指定clines_a = “獲得選擇對象”
  
  axlSetFindFilter(?enabled '(noall shapes) ?onButtons '(noall shapes))  ;定義Find面板中 Shape 
  
  shape_a = axlGetSelSet(axlAddSelectAll())  ;指定shape_a = “獲得選擇對象”
  
  axlClearSelSet() ;清除所選擇的對象 養(yǎng)成良好習慣 避免誤操作
  
  axlHighlightObject(clines_a) ;高亮所有走線 程序用了反高亮法
   
   foreach( Cline clines_a  ;逐個循環(huán)判斷每段走線   
   
     Clinc_xy = Cline->startEnd  ;獲得每段Cline的起始和終點坐標 如得到 Clinc_xy =("2009.12 2010.26" "2010.10 2010.26") 
         
     c_xy_a = car(Clinc_xy)   ;獲得每段Cline起始坐標 如c_xy_a = ("2009.12 2010.26") 
          
     c_xy_b = cadr(Clinc_xy)  ;獲得每段Cline的終點坐標 如c_xy_b = ("2010.10 2010.26")     
       
       foreach( shape shape_a  ;逐個循環(huán)每塊銅皮  
             
          if(axlGeoPointInShape( c_xy_b shape)  && axlGeoPointInShape( c_xy_a shape)   ;判斷shape上面得到的起始和終點坐標是否有走線 
          
               then  ;如果上面的假設成立 將執(zhí)行下面命令
               
                 axlDehighlightObject(Cline)      ;如果上面的假設成立 將執(zhí)行去亮所有走線  ;那么剩下高亮的部分就是跨分割的走線
                   
             );end if(axlGeoPointInShape( c_xy_b shape)  結(jié)束if的判斷
             
           );end foreach( Shape shape_a      結(jié)束foreac的循環(huán)
 
          );end foreach( Cline clines_a
);prog  
);defun ;程序結(jié)束 上面的解釋可能不是佷完全,如果能給您帶來一點點的幫助,記住幫忙頂一下,多謝!


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品亚洲aⅴ乱码一区二区三区| 在线观看亚洲一区| 成人h动漫精品一区二区| 欧美午夜片在线看| 欧美激情在线一区二区三区| 日韩影院免费视频| 成人黄页毛片网站| 欧美大度的电影原声| 亚洲综合区在线| 成人av网站在线| 精品三级在线观看| 日本aⅴ亚洲精品中文乱码| 一本大道综合伊人精品热热| 久久九九99视频| 精品在线播放免费| 欧美精品aⅴ在线视频| 亚洲女厕所小便bbb| 成人h动漫精品一区二区| 久久久久久毛片| 久久国产精品无码网站| 91麻豆精品国产综合久久久久久| 伊人色综合久久天天| 丰满白嫩尤物一区二区| 2020国产成人综合网| 另类人妖一区二区av| 欧美一二三区在线观看| 视频一区欧美精品| 91精品欧美综合在线观看最新| 亚洲精品写真福利| 97久久超碰国产精品| 国产精品久久久久7777按摩| 成人午夜电影小说| 中文字幕 久热精品 视频在线| 国产乱淫av一区二区三区| 欧美精品一区二区三| 国产麻豆日韩欧美久久| 欧美激情综合五月色丁香| 成人黄色777网| 最新国产精品久久精品| 99精品视频在线免费观看| 亚洲欧洲成人自拍| 色视频成人在线观看免| 亚洲国产中文字幕| 欧美一级淫片007| 国产最新精品精品你懂的| 久久精品人人做人人爽97| 成人爱爱电影网址| 亚洲免费视频中文字幕| 色婷婷一区二区| 亚洲成a天堂v人片| 精品日本一线二线三线不卡| 韩国成人在线视频| 亚洲青青青在线视频| 欧美视频一区二区三区在线观看| 视频在线观看一区| 国产亚洲女人久久久久毛片| 99在线精品免费| 亚洲mv大片欧洲mv大片精品| 日韩美女在线视频| av动漫一区二区| 亚洲成人av资源| 国产三级欧美三级| 欧美在线|欧美| 国产精品亚洲人在线观看| 亚洲色欲色欲www在线观看| 69p69国产精品| 国产91色综合久久免费分享| 亚洲一区免费观看| 精品国产污网站| 91视频在线看| 精品在线一区二区三区| 亚洲精品国产成人久久av盗摄| 日韩视频免费直播| 色婷婷综合久久久中文字幕| 久久97超碰色| 亚洲国产精品久久人人爱蜜臀| 久久久久久一级片| 欧美日韩在线不卡| 99久久精品一区二区| 久久丁香综合五月国产三级网站| 亚洲欧美日韩国产手机在线| 日韩免费看的电影| 在线亚洲免费视频| 成人黄色电影在线 | 中文字幕一区在线观看| 欧美在线视频日韩| 成人中文字幕合集| 美女视频一区二区三区| 亚洲三级电影网站| 国产精品三级av| 欧美刺激脚交jootjob| 91久久精品日日躁夜夜躁欧美| 国产又粗又猛又爽又黄91精品| 亚洲成人黄色影院| 亚洲已满18点击进入久久| 中文字幕亚洲成人| 国产性天天综合网| 欧美r级电影在线观看| 欧美日本乱大交xxxxx| 91福利在线免费观看| 97成人超碰视| 91女人视频在线观看| 国产精品亚洲午夜一区二区三区 | 欧美乱妇20p| 在线免费av一区| 色综合亚洲欧洲| av午夜精品一区二区三区| 成人久久视频在线观看| 粉嫩嫩av羞羞动漫久久久| 国产在线观看免费一区| 激情av综合网| 国产一区二区三区综合| 经典三级一区二区| 国内精品不卡在线| 国产黄色精品网站| 国产999精品久久久久久| 成人丝袜18视频在线观看| 粉嫩av一区二区三区| 成人ar影院免费观看视频| av日韩在线网站| 色乱码一区二区三区88| 欧美色大人视频| 欧美一级久久久| 日韩一区二区三区免费看| 日韩午夜av电影| 久久精品一区四区| 国产精品入口麻豆原神| 国产精品久久久久久久蜜臀 | 日本欧美在线观看| 蜜桃视频在线一区| 国产一区亚洲一区| 99精品欧美一区二区三区小说| 一本到高清视频免费精品| 欧美日韩国产在线播放网站| 在线播放国产精品二区一二区四区| 91精品欧美综合在线观看最新| 精品成人佐山爱一区二区| 国产日产亚洲精品系列| 亚洲码国产岛国毛片在线| 亚洲大片精品永久免费| 麻豆91在线播放| 成人av在线资源网| 欧美日韩一卡二卡三卡 | 欧美一区二区女人| 久久久夜色精品亚洲| 亚洲日本va午夜在线电影| 日本不卡1234视频| 99视频一区二区| 91精品国产91久久久久久一区二区| 久久亚洲精华国产精华液| 亚洲精品视频观看| 国内精品在线播放| 欧美性猛交一区二区三区精品| 日韩欧美亚洲另类制服综合在线| 国产精品久久久久aaaa樱花| 日本美女一区二区三区视频| 成人一区二区三区中文字幕| 欧美日韩午夜在线| 欧美国产1区2区| 麻豆国产欧美一区二区三区| av动漫一区二区| www激情久久| 日韩不卡在线观看日韩不卡视频| 成人免费黄色在线| 日韩一区二区三区四区五区六区 | 欧美aaaaa成人免费观看视频| 成人一级片在线观看| 欧美一区二区三区视频在线观看| 欧美国产禁国产网站cc| 美女视频第一区二区三区免费观看网站| 成人久久18免费网站麻豆| 日韩限制级电影在线观看| 亚洲制服欧美中文字幕中文字幕| 国产二区国产一区在线观看| 欧美精品v国产精品v日韩精品| 中文字幕视频一区| 成人性视频免费网站| 欧美大片日本大片免费观看| 婷婷国产在线综合| 色综合久久88色综合天天6| 久久久不卡网国产精品一区| 日本成人在线网站| 欧美日高清视频| 亚洲一区二区在线视频| 99国内精品久久| 国产精品久久久爽爽爽麻豆色哟哟 | 蜜桃av噜噜一区二区三区小说| 欧美午夜不卡视频| 一二三四社区欧美黄| 91福利精品视频| 亚洲免费观看高清| 北条麻妃一区二区三区| 国产欧美日韩在线看| 国产一区亚洲一区| 国产亚洲精品bt天堂精选| 国产一区二区不卡| 欧美国产一区视频在线观看| 国产成人免费视频网站| 日本一区二区三区dvd视频在线| 精品一区二区日韩|