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

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

?? ipc_356.il

?? ALLEGRO SKILL SAMPLE CODE
?? IL
?? 第 1 頁 / 共 2 頁
字號(hào):
;                    ---------------------------

; This routine extracts a netlist in IPC-D-356 format from an
; Allegro database.

; The program has the following features:

;	* Adds date/time stamp to file header
;	* Adds board filename to file header
;	* Converts output to correct units regardless of database units
;	* Shortens netnames over 14 characters long to suit IPC format

; The IPC-D-356 format only allows for netnames up to 14 characters
; long. Because netnames in Allegro can often exceed this length, 
; the routine renames them to the form: 'NNAME#####'. A conversion
; list is displayed showing new and old netnames which can be saved
; and/or printed for reference if required. It is also included at
; the end of the netlist file. Netnames 14 characters long or less
; are left unchaged.

; If there is a specific padstack which is always used for a 
; tooling hole, TOOL_PAD on the following line should be replaced
; with the padstack name. The .pad extension should not be included.
; The inverted commas should be left, and the name should be upper
; case. If there is no specific tooling pad, leave the following 
; line untouched.

tooling_pad = "TOOL_PAD"

; No 'mid-point' data is included in the output.

; If the origin for the netlist data is required to be the same as
; the origin for gerber data, be sure to alter the board origin to
; match the gerber origin before generating the netlist.

; For a large board, the netlist can take a couple of minutes to
; create, so be prepared to wait a while! A running count of the
; number of test records generated is given.

; The output filename is the current database filename with the 
; extension '.ipc'

; To run the program type "ipc_356" on the Allegro command line.

; -----------------------------------------------------------------

; Tested on Allegro 11.5

; Written by:

; Pete Court
; PCB Design Engineer
; Fujitsu Telecommunications Europe Limited
; Solihull Parkway
; Birmingham Business Park
; Birmingham
; B37 7YU
; UK

; E-Mail: pc@ftel.co.uk
 
; -----------------------------------------------------------------
; Version 2: Now gives pad sizes of circular SMD pads as well as 
;            rectangular ones.
;            Header information modified.
; -----------------------------------------------------------------
; Version 3: Now gives a running count of how many test records
;            have been generated.
; -----------------------------------------------------------------
; Version 4: Now gives pad rotation in columns 68-71
; -----------------------------------------------------------------
; Version 5: Now gives actual padstack dimensions instead of
;            absolute dimensions of padstack in artwork. Works
;            in conjunction with rotation 
; -----------------------------------------------------------------
; Version 6: fixed minor bug that causes routine to crash when
;            encountering an exploded pin
; -----------------------------------------------------------------
; Version 7: corrected the variable that was causing an improper 
;            rotation value. (tested with version 13.6)
;            Ron Guthrie, Cadence Design Systems Feb. 2001
; -----------------------------------------------------------------
; Version 8: Modified the Testpoint Access section (c40_41) to report 
;            the proper layer for testpoint access. Previously it 
;            would report 02 for access layer greater than 01
;            Ron Guthrie, Cadence Design Systems Mar. 26, 2001
; -----------------------------------------------------------------
; Version 9: Modified drill and rotation sections to use a unique 
;	     for the string format of the value. Also changed code
;	     so original value from database is not modified since 
;	     they may be used later in program.  Removed "through" 
;	     variable since it is equivalent to "drill>0".
;	     Ron Dallas, Teradyne Aug 27, 2001
;		Tested with Allegro v13.6 and v14.0. Ron Guthrie, Cadence. 9/10/01
;
; Version 9.1:Ammended Rotation to output Radians for SI units - Bob Doe Cadence 3-Apr-02
;
; -----------------------------------------------------------------
;
(defun ipc_356 ()

printf("\n%s\n" , "IPC-D-356 netlister (Version 9.1)")
printf("%s\n" , "A netlist in IPC-D-356 format is being created. Please wait....")
drain(poport)

; Find the number of layers in the board	- version 8 
; --------------------------------------
 layer_count= axlGetParam("paramLayerGroup:etch")->nChildren
 if( layer_count<10 then
     sprintf(secondary "0%1d" layer_count)     /* fill out to two columns */
 else
     sprintf(secondary "%2d" layer_count)      /* just convert to a string */
 );end if

; selects pins and vias
; ---------------------

drain()
axlClearSelSet()
vis_list = axlVisibleGet()
axlVisibleDesign(nil)
axlVisibleLayer("PIN/TOP" t)
axlVisibleLayer("PIN/BOTTOM" t)
axlVisibleLayer("PIN/SOLDERMASK_TOP" t)
axlVisibleLayer("PIN/SOLDERMASK_BOTTOM" t)
axlVisibleLayer("VIA CLASS/TOP" t)
axlVisibleLayer("VIA CLASS/BOTTOM" t)
axlVisibleLayer("MANUFACTURING/NCDRILL_FIGURE" t)
axlSetFindFilter(?enabled list("noall" "pins" "vias")
        ?onButtons list("noall" "pins" "vias"))
axlAddSelectAll()
pin_list = axlGetSelSet()
axlClearSelSet()
axlVisibleSet(vis_list)

; sets constant fields
; --------------------

c1 = "3"
c3 = "7"
c18_20 = "   "
c27 = "-"
c32 = " "
c39 = "A"
c42 = "X"
c50 = "Y"
c68_71 = "    "
c72 = " "
c73 = "S"
c75_80 = "      "
null_string = "              "
zero_string = "000000"
long_net_table = makeTable("long_net_table" nil)
shortened_net_list = ()
long_net_number = 10000
count = 0
count2 = 100

; gets board name and opens output file
; -------------------------------------

boardname = axlCurrentDesign()
out_name = strcat(boardname ".ipc")
outport = outfile(out_name)

; starts file header
; ------------------

fprintf(outport , "%s%s%s\n", "P  JOB   ",  boardname,  ".brd")

; creates conversion factors for different db units
; -------------------------------------------------
; BD 3-Apr-02 : added angle_factor
;
units = axlDBGetDesignUnits()
units = car(units)
cond(
	(equal(units "mils") (conv_factor = 10)
	fprintf(outport , "%s\n", "P  UNITS CUST ") (angle_factor = 1.0)
	) ; end of equal
	(equal(units "inches") (conv_factor = 10000) (angle_factor = 1.0)
	fprintf(outport , "%s\n", "P  UNITS CUST ")
	) ; end of equal
	(equal(units "microns") (conv_factor = 1)
	fprintf(outport , "%s\n", "P  UNITS SI ") (angle_factor = 1.74532925)
	) ; end of equal
	(equal(units "millimeters") (conv_factor = 1000) (angle_factor = 1.74532925)
	fprintf(outport , "%s\n", "P  UNITS SI ")
	) ; end of equal
	(equal(units "centimeters") (conv_factor = 10000) (angle_factor = 1.74532925)
	fprintf(outport , "%s\n", "P  UNITS SI ")
	) ; end of equal
) ; end of cond

fprintf(outport , "%s\n%s\n%s%s\n%s\n", "P  DIM   N", "C  ",  "C  ",  getCurrentTime(), "C  " )
fprintf(outport , "%s\n%s\n", "C  IPC-D-356 Netlist From Allegro" "C  ")

; gets information from pad
; --------------------------

foreach(pin_db pin_list

	count=count+1
	if( eq(count 100) then
	  printf("\n%n%s\n" , count2, " Test Records Generated.")
	  drain(poport)
	  count=0
	  count2=count2+100
	) ; end of if

	number = pin_db->number
	xy = pin_db->xy
	layer = pin_db->startEnd

        net_db = pin_db->net 
	pad_type = pin_db->objType
        net_name = net_db->name

	symbol_db = pin_db->parent
	refdes = symbol_db->refdes
	rotation = pin_db->rotation             /* added version 4 */

	padstack_db = pin_db->definition
	drill = padstack_db->drillDiameter
;	if( drill>0 then    /* "through" variable deleted - version 9 */
;	  through = t
;	else
;	  through = nil
;	) ; end of if
	pad_name = padstack_db->name
	plating = axlDBGetDrillPlating(pad_name)

	; checks if surface mount/through hole/tooling hole
	; -------------------------------------------------
    ; Note: does not handle blind/buried vias  /*added comment - version 9 */
	if( drill>0 then   /* change test to use "drill" - verion 9 */
	  c2 = "1"         /* through hole */
	else
	  c2 = "2"         /* SMT */
	) ; end of if
	if( equal(pad_name tooling_pad) then
	  c2 = "6"
	) ; end of if

	; get x:y of rectangular pads
	; ---------------------------

	top_pad_db = axlDBGetPad(padstack_db "etch/top" "regular")        /* changed version 5 */
	bottom_pad_db = axlDBGetPad(padstack_db "etch/bottom" "regular")  /* changed version 5 */
	c58 = " "
	c59_62 = "    "
	c63 = " "
	c64_67 = "    "
	c68_71 = "    "                                         /* resets rotation - version 5 */

	top_pad_shape = top_pad_db-> figureName
	if( nequal(top_pad_shape "NULL") then
	  if( equal(c2 "2") then
	    c58 = "X"
	    c63 = "Y"
    	    boundary = top_pad_db->bBox
    	    llx = caar(boundary)
    	    urx = caadr(boundary)
    	    ury = cadadr(boundary)
    	    lly = cadar(boundary)
    	    x_top_dim = urx-llx
    	    y_top_dim = ury-lly
		
	    x_top_dim = round(x_top_dim*conv_factor)
	    sprintf(c59_62 "%n" x_top_dim)
	    x_top_dim_length = strlen(c59_62)
	    if( nequal( x_top_dim_length 4) then
	      if( x_top_dim_length<4 then
		c59_62 = strcat( substring(zero_string 1 (4-x_top_dim_length)) c59_62)
	      else
		c59_62 = " ERR  "
	      ) ; end of if
	    ) ; end of if

	    y_top_dim = round(y_top_dim*conv_factor) 
	    sprintf(c64_67 "%n" y_top_dim) 
	    y_top_dim_length = strlen(c64_67)
	    if( nequal( y_top_dim_length 4) then 
	      if( y_top_dim_length<4 then 
		c64_67 = strcat( substring(zero_string 1 (4-y_top_dim_length)) c64_67)
	      else
		c64_67 = " ERR  "
	      ) ; end of if
	    ) ; end of if
            if( rotation>0 then            /* calculates rotation - version 5 */
; BD 3-Apr-02 : Use angle_factor in calculation
            rotation = rotation * angle_factor	/* convert to radians as required */
 	      sprintf(rotstr "%4.0f" (rotation+1000) )  /* use different variables for values of different type - version 6 */
	      rotstr   = substring(rotstr 2 4)          /* save as string - V9 */
	      c68_71 = strcat( "R" rotstr )   /* change rotstr to rotation - version 7 */
					      /* back to rotstr - version 9 */
	    else
	      c68_71 = "    "
	    ) ; end of if
 
	  ) ; end of if

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性猛交xxxx乱大交退制版 | 91精品国产综合久久久久久久| 午夜精品久久久久久久蜜桃app| 久久精品夜色噜噜亚洲a∨| 欧洲精品一区二区三区在线观看| 国产美女视频一区| 日韩精品一区二区三区在线播放| 成人av在线资源网站| 麻豆91免费看| 亚洲综合免费观看高清在线观看| 久久亚洲精华国产精华液 | 久久精品一区二区三区不卡 | 极品瑜伽女神91| 亚洲一区影音先锋| 国产精品电影一区二区| 久久先锋影音av鲁色资源网| 欧美日韩国产综合一区二区三区| 成人黄色软件下载| 国产成人小视频| 久久99久久精品| 日韩中文欧美在线| 伊人开心综合网| 国产精品成人午夜| 国产午夜亚洲精品羞羞网站| 欧美r级在线观看| 91精品国产aⅴ一区二区| 欧美日韩免费电影| 欧美艳星brazzers| 色国产综合视频| 91视频一区二区三区| 大胆亚洲人体视频| 岛国精品一区二区| 丁香啪啪综合成人亚洲小说| 黄色日韩三级电影| 国内精品视频666| 黄色成人免费在线| 国产乱理伦片在线观看夜一区| 奇米色一区二区三区四区| 日韩精品免费专区| 午夜伊人狠狠久久| 肉色丝袜一区二区| 日韩国产欧美三级| 日本中文一区二区三区| 看片网站欧美日韩| 国内精品伊人久久久久av一坑| 久久精品免费观看| 激情综合网av| 成人综合在线观看| 国产成人aaa| 99国产精品久久久久久久久久| www.久久久久久久久| 一本一本久久a久久精品综合麻豆| 成人黄页毛片网站| 91国偷自产一区二区三区观看 | 色美美综合视频| 欧美三级在线视频| 欧美大片免费久久精品三p| 欧美xxxxx牲另类人与| 久久久精品综合| 国产精品久久久久久久久免费桃花 | 欧美美女网站色| 日韩精品资源二区在线| 久久久久久影视| 亚洲欧美综合网| 天天做天天摸天天爽国产一区| 六月婷婷色综合| 成人激情免费视频| 9191成人精品久久| 久久久.com| 夜夜夜精品看看| 久久99这里只有精品| caoporen国产精品视频| 欧美日韩在线播放| 国产视频一区在线观看| 亚洲乱码中文字幕| 精一区二区三区| 97久久久精品综合88久久| 69成人精品免费视频| 久久精品一区二区三区不卡 | 中文字幕一区二区三区av| 亚洲一区二区三区四区五区黄| 蜜臀av国产精品久久久久| 成人一区在线观看| 欧美美女黄视频| 欧美激情中文字幕| 日韩精品亚洲一区| 91在线国内视频| 欧美大肚乱孕交hd孕妇| 一区二区三区在线免费| 狠狠色丁香久久婷婷综| 欧美亚洲国产一区在线观看网站| xf在线a精品一区二区视频网站| 亚洲视频一区二区免费在线观看 | 国产精品白丝jk黑袜喷水| 欧美综合色免费| 欧美国产精品一区二区三区| 日日夜夜一区二区| 色综合久久中文字幕| 久久久不卡网国产精品二区| 午夜私人影院久久久久| 97精品久久久久中文字幕| 精品国产麻豆免费人成网站| 亚洲一区二区三区免费视频| 成人一区二区三区| 日韩精品自拍偷拍| 日日骚欧美日韩| 欧美性色黄大片手机版| 最新国产の精品合集bt伙计| 一区二区三区四区中文字幕| 成人午夜精品在线| 欧美日韩一区二区不卡| 国产精品人成在线观看免费| 麻豆成人91精品二区三区| 欧美性淫爽ww久久久久无| 中文一区二区完整视频在线观看| 日产国产高清一区二区三区| 91久久线看在观草草青青| 国产精品久久夜| 国产一区二区电影| 26uuu成人网一区二区三区| 日韩av不卡一区二区| 欧美日韩亚洲不卡| 亚洲午夜久久久| 色综合中文字幕国产| 国产精品每日更新| 国产成人亚洲综合a∨婷婷| 日韩情涩欧美日韩视频| 日韩福利视频网| 欧美高清精品3d| 日韩精品一二三| 欧美精品v日韩精品v韩国精品v| 亚洲一区二区精品视频| 在线免费观看成人短视频| 亚洲激情自拍视频| 欧美性受极品xxxx喷水| 亚洲国产精品人人做人人爽| 色成年激情久久综合| 亚洲国产日韩一区二区| 欧美在线小视频| 亚洲午夜久久久久久久久电影网| 欧美日韩日日摸| 日韩综合小视频| 日韩欧美国产系列| 国内外成人在线| 国产欧美日韩视频在线观看| 成人美女在线视频| 成人欧美一区二区三区黑人麻豆 | 奇米精品一区二区三区在线观看一| 亚洲风情在线资源站| av在线这里只有精品| 国产精品毛片大码女人| 成人福利电影精品一区二区在线观看| 国产精品网友自拍| 一本大道av一区二区在线播放 | 欧美一区日韩一区| 青青草国产成人av片免费| 精品国产一区a| 国产成人av福利| 一区二区三区在线观看动漫| 欧美日韩一级二级三级| 毛片av一区二区| 国产精品三级av| 亚洲一区二区三区美女| 在线观看日韩毛片| 日韩福利电影在线| 国产偷国产偷精品高清尤物| 色综合久久综合网欧美综合网| 日韩精品一二区| 欧美激情中文字幕| 欧洲日韩一区二区三区| 黑人巨大精品欧美一区| 亚洲天堂中文字幕| 777午夜精品免费视频| 国产成人免费视频网站| 夜夜精品浪潮av一区二区三区| 欧美成人三级电影在线| 99精品视频一区二区三区| 日欧美一区二区| 国产精品青草久久| 91精品国产一区二区三区香蕉| 国产在线视视频有精品| 亚洲精品成人悠悠色影视| 日韩欧美的一区| 欧洲色大大久久| 国产成人精品免费| 日韩电影在线一区| 国产精品久久三| 91精品国产综合久久久久久漫画 | 中文字幕一区二区三区在线播放 | 欧美日韩另类国产亚洲欧美一级| 黄色资源网久久资源365| 亚洲综合视频在线观看| 久久久www免费人成精品| 欧美美女直播网站| www.欧美日韩| 国产剧情一区在线| 视频一区二区国产| 亚洲欧美成人一区二区三区| 欧美精品一区男女天堂| 欧美日韩大陆一区二区|