EDA365电子工程师网

标题: 自动走10度线的skill 分享 [打印本页]

作者: melissa113    时间: 2010-8-9 09:54
标题: 自动走10度线的skill 分享
  1. axlCmdRegister("tune" 'tune)



  2. procedure(tune();set main function
  3. (defun axlMyCancel ()
  4. axlClearDynamics()
  5. axlCancelEnterFun()
  6. axlUIPopupSet(nil))
  7. (defun axlMyDone ()
  8. axlClearDynamics()
  9. axlFinishEnterFun()
  10. axlUIPopupSet(nil))
  11. mypopup = axlUIPopupDefine( nil (list (list "MyCancel" 'axlMyCancel) (list "MyDone" 'axlMyDone)))
  12. axlUIPopupSet( mypopup)

  13. axlSetFindFilter(?enabled list( "noall" "clinesegs") ?onButtons list("noall" "clinesegs"))
  14. axlClearSelSet(); set done and cancle cammand

  15. while(axlSingleSelectBox()
  16. design=axlGetSelSet()
  17. length=length(design)
  18. ;design_dbid1=car(axlGetSelSet())
  19. design_dbid1=nth(0 design)
  20. layer=design_dbid1->layer
  21. startEnd1=design_dbid1->startEnd
  22. a=nth(0 startEnd1)
  23. b=nth(1 startEnd1)
  24. xa=nth(0 a)
  25. ya=nth(1 a)
  26. xb=nth(0 b)
  27. yb=nth(1 b)
  28. xminmax=min(xa xb);left
  29. xmaxmin=max(xa xb);right
  30. yminup=max(ya yb);up
  31. ymaxdown=min(ya yb);down

  32. lineType=design_dbid1->lineType
  33. ; get need to route cline
  34. case(lineType

  35. ;;the below is cline is horrizontal
  36. (horizontal
  37. ylist='()
  38. allylist='()
  39. for(l 1 length
  40. mei_db=nth(l-1 design)
  41. staEnd=mei_db->startEnd
  42. width=mei_db->width
  43. ma=nth(0 staEnd)
  44. mb=nth(1 staEnd)
  45. mxa=nth(0 ma)
  46. mxb=nth(0 mb)
  47. mxleft=min(mxa mxb)
  48. mxright=max(mxa mxb)
  49. xminmax=max(mxleft xminmax)
  50. xmaxmin=min(mxright xmaxmin)
  51. my=nth(1 ma)
  52. ylist=cons(width ylist)
  53. ylist=cons(mxright ylist)
  54. ylist=cons(mxleft ylist)
  55. ylist=cons(my ylist)
  56. allylist=cons(ylist allylist)
  57. );end for
  58. ;get all need to route 10 degree information
  59. paixudy=sortcar(allylist 'greaterp)

  60. d=abs(xmaxmin-xminmax)-50


  61. add_x=atof(axlUIPrompt("please enter addx_distance" "125"))

  62. m=(floor d/(2*add_x)) ;route how much cycle


  63. firstx=nth(1 nth(0 paixudy));get max y coodrinate clines x information

  64. axlDeleteObject(design)

  65. if(firstx==xminmax
  66. then


  67. rout=nth(0 paixudy)
  68. qishiy=nth(0 rout)
  69. qishix=nth(1 rout)
  70. zhongx=nth(2 rout)
  71. width=nth(3 rout)
  72. xcank=xminmax+20
  73. x0=xcank
  74. wy1=qishiy-(add_x /5)
  75. wy2=qishiy
  76. path=axlPathStart(list(qishix:qishiy) width)
  77. ;axlDBCreateLine(list(qishix:qishiy x0:qishiy) width layer)
  78. axlPathLine( path, width, x0:qishiy)

  79. for(k 1 m
  80. wx1=x0+add_x
  81. wx2=wx1+add_x
  82. ; path=axlPathStart(list(x0:qishiy) width)
  83. ;axlDBCreateLine(list(x0:qishiy wx1:wy1) width layer)
  84. ; axlDBCreateLine(list(wx1:wy1 wx2:wy2) width layer)
  85. axlPathLine( path, width, wx1:wy1)
  86. axlPathLine( path, width, wx2:wy2)

  87. x0=wx2
  88. );for
  89. ; path=axlPathStart(list(wx2:wy2) width)
  90. ;axlDBCreateLine(list(wx2:wy2 zhongx:wy2) width layer)
  91. axlPathLine( path, width, zhongx:wy2)
  92. axlDBCreatePath( path, layer)

  93. lasty1=wy1
  94. lasty2=wy2
  95. ;x0=xminmax+5
  96. xlast=wx2


  97. for(q 1 length-1
  98. if((m==1) then

  99. rout=nth(q paixudy)
  100. chushiy=nth(0 rout)
  101. chushix=nth(1 rout)
  102. zhongx=nth(2 rout)
  103. width=nth(3 rout)
  104. spac=abs(qishiy-chushiy)
  105. xcank=xcank-(sqrt(26)-5)*spac-0.01
  106. x0=xcank
  107. xmm=xminmax+20
  108. wx1=xmm+add_x
  109. wx2=wx1+add_x
  110. dty=sqrt(26)*spac/5+0.002
  111. wy1=lasty1-dty
  112. wy2=lasty2-dty
  113. path=axlPathStart(list(chushix:chushiy) width)
  114. axlPathLine( path, width, x0:chushiy)
  115. axlPathLine( path, width, wx1:wy1)
  116. axlPathLine( path, width, (xlast+(sqrt(26)-5)*spac+0.01):chushiy)
  117. axlPathLine( path, width, zhongx:chushiy)
  118. axlDBCreatePath( path, layer)
  119. qishiy=chushiy
  120. lasty1=wy1
  121. lasty2=wy2
  122. xlast=wx2
  123. else

  124. rout=nth(q paixudy)
  125. chushiy=nth(0 rout)
  126. chushix=nth(1 rout)
  127. zhongx=nth(2 rout)
  128. width=nth(3 rout)
  129. spac=abs(qishiy-chushiy)
  130. xcank=xcank-(sqrt(26)-5)*spac-0.01
  131. x0=xcank
  132. xmm=xminmax+20
  133. ;x0=xminmax+5
  134. wx1=xmm+add_x
  135. wx2=wx1+add_x

  136. dty=sqrt(26)*spac/5+0.002
  137. wy1=lasty1-dty
  138. wy2=lasty2-dty
  139. path=axlPathStart(list(chushix:chushiy) width)
  140. ;axlDBCreateLine(list(chushix:chushiy x0:chushiy) width layer)
  141. ;axlDBCreateLine(list(x0:chushiy wx1:wy1) width layer)
  142. ;axlDBCreateLine(list(wx1:wy1 wx2:wy2) width layer)
  143. axlPathLine( path, width, x0:chushiy)
  144. axlPathLine( path, width, wx1:wy1)
  145. axlPathLine( path, width, wx2:wy2)

  146. x0=wx2
  147. for(k 1 m-2

  148. wx1=x0+add_x
  149. wx2=wx1+add_x

  150. ;path=axlPathStart(list(x0:wy2) width)
  151. ;axlDBCreateLine(list(x0:wy2 wx1:wy1) width layer)
  152. ;axlDBCreateLine(list(wx1:wy1 wx2:wy2) width layer)
  153. axlPathLine( path, width, wx1:wy1)
  154. axlPathLine( path, width, wx2:wy2)

  155. x0=wx2
  156. );for
  157. wx1=x0+add_x
  158. wx2=xlast+(sqrt(26)-5)*spac+0.01
  159. ;path=axlPathStart(list(x0: wy2) width)
  160. ;axlDBCreateLine(list(x0:wy2 wx1:wy1) width layer)
  161. ;axlDBCreateLine(list(wx1:wy1 wx2:chushiy) width layer)
  162. ;axlDBCreateLine(list(wx2:chushiy zhongx:chushiy) width layer)
  163. axlPathLine( path, width, wx1:wy1)
  164. axlPathLine( path, width, wx2:chushiy)
  165. axlPathLine( path, width, zhongx:chushiy)
  166. axlDBCreatePath( path, layer)


  167. qishiy=chushiy
  168. lasty1=wy1
  169. lasty2=wy2
  170. xlast=wx2
  171. );if
  172. );for

  173. else



  174. paixudy=reverse(paixudy)
  175. rout=nth(0 paixudy)
  176. qishiy=nth(0 rout)
  177. qishix=nth(1 rout)
  178. zhongx=nth(2 rout)
  179. width=nth(3 rout)
  180. xcank=xminmax+20
  181. x0=xcank
  182. wy1=qishiy+(add_x /5)
  183. wy2=qishiy
  184. path=axlPathStart(list(qishix:qishiy) width)
  185. ; axlDBCreateLine(list(qishix:qishiy x0:qishiy) width layer)
  186. axlPathLine( path, width, x0:qishiy)
  187. for(k 1 m
  188. wx1=x0+add_x
  189. wx2=wx1+add_x
  190. ; path=axlPathStart(list(x0:qishiy) width)
  191. ;axlDBCreateLine(list(x0:qishiy wx1:wy1) width layer)
  192. ;axlDBCreateLine(list(wx1:wy1 wx2:wy2) width layer)
  193. axlPathLine( path, width, wx1:wy1)
  194. axlPathLine( path, width, wx2:wy2)


  195. x0=wx2
  196. );for
  197. ;path=axlPathStart(list(wx2:wy2) width)
  198. ; axlDBCreateLine(list(wx2:wy2 zhongx:wy2) width layer)
  199. axlPathLine( path, width, zhongx:wy2)
  200. axlDBCreatePath( path, layer)
  201. lasty1=wy1
  202. lasty2=wy2
  203. ;x0=xminmax+5
  204. xlast=wx2


  205. for(q 1 length-1
  206. if((m==1) then

  207. rout=nth(q paixudy)
  208. chushiy=nth(0 rout)
  209. chushix=nth(1 rout)
  210. zhongx=nth(2 rout)
  211. width=nth(3 rout)
  212. spac=abs(qishiy-chushiy)
  213. xcank=xcank-(sqrt(26)-5)*spac-0.01
  214. x0=xcank
  215. xmm=xminmax+20
  216. wx1=xmm+add_x
  217. wx2=wx1+add_x
  218. dty=sqrt(26)*spac/5+0.002
  219. wy1=lasty1+dty
  220. wy2=lasty2+dty
  221. path=axlPathStart(list(chushix:chushiy) width)
  222. axlPathLine( path, width, x0:chushiy)
  223. axlPathLine( path, width, wx1:wy1)
  224. axlPathLine( path, width, (xlast+(sqrt(26)-5)*spac+0.01):chushiy)
  225. axlPathLine( path, width, zhongx:chushiy)
  226. axlDBCreatePath( path, layer)
  227. qishiy=chushiy
  228. lasty1=wy1
  229. lasty2=wy2
  230. xlast=wx2
  231. else




  232. rout=nth(q paixudy)
  233. chushiy=nth(0 rout)
  234. chushix=nth(1 rout)
  235. zhongx=nth(2 rout)
  236. width=nth(3 rout)
  237. spac=abs(qishiy-chushiy)
  238. xcank=xcank-(sqrt(26)-5)*spac-0.01
  239. x0=xcank
  240. xmm=xminmax+20
  241. ;x0=xminmax+5
  242. wx1=xmm+add_x
  243. wx2=wx1+add_x

  244. dty=sqrt( 26)*spac/5+0.002
  245. wy1=lasty1+dty
  246. wy2=lasty2+dty
  247. path=axlPathStart(list(chushix:chushiy) width)
  248. ;axlDBCreateLine(list(chushix:chushiy x0:chushiy) width layer)
  249. ;axlDBCreateLine(list(x0:chushiy wx1:wy1) width layer)
  250. ;axlDBCreateLine(list(wx1:wy1 wx2:wy2) width layer)
  251. axlPathLine( path, width, x0:chushiy)
  252. axlPathLine( path, width, wx1:wy1)
  253. axlPathLine( path, width, wx2:wy2)




  254. x0=wx2
  255. for(k 1 m-2

  256. wx1=x0+add_x
  257. wx2=wx1+add_x

  258. ; path=axlPathStart(list(x0:wy2) width)
  259. ;axlDBCreateLine(list(x0:wy2 wx1:wy1) width layer)
  260. ;axlDBCreateLine(list(wx1:wy1 wx2:wy2) width layer)
  261. axlPathLine( path, width, wx1:wy1)
  262. axlPathLine( path, width, wx2:wy2)

  263. x0=wx2
  264. );for
  265. wx1=x0+add_x
  266. wx2=xlast+(sqrt(26)-5)*spac+0.01
  267. ;path=axlPathStart(list(x0: wy2) width)
  268. ;axlDBCreateLine(list(x0:wy2 wx1:wy1) width layer)
  269. ;axlDBCreateLine(list(wx1:wy1 wx2:chushiy) width layer)
  270. ;axlDBCreateLine(list(wx2:chushiy zhongx:chushiy) width layer)
  271. axlPathLine( path, width, wx1:wy1)
  272. axlPathLine( path, width, wx2:chushiy)
  273. axlPathLine( path, width, zhongx:chushiy)
  274. axlDBCreatePath( path, layer)

  275. qishiy=chushiy
  276. lasty1=wy1
  277. lasty2=wy2
  278. xlast=wx2
  279. );if
  280. );for lengthe-1


  281. );if first==xminmax



  282. );horizontal








  283. (vertical


  284. ylist='()
  285. allylist='()
  286. for(l 1 length
  287. mei_db=nth(l-1 design)
  288. staEnd=mei_db->startEnd
  289. width=mei_db->width
  290. ma=nth(0 staEnd)
  291. mb=nth(1 staEnd)
  292. mya=nth(1 ma)
  293. myb=nth(1 mb)
  294. myup=max(mya myb)
  295. mydown=min(mya myb)
  296. yminup=min(myup yminup);qu up min
  297. ymaxdown=max(mydown ymaxdown);qu down max
  298. mx=nth(0 ma)
  299. ylist=cons(width ylist)
  300. ylist=cons(mydown ylist)
  301. ylist=cons(myup ylist)
  302. ylist=cons(mx ylist)
  303. allylist=cons(ylist allylist)
  304. );for
  305. paixudy=sortcar(allylist 'greaterp)
  306. d=abs(yminup-ymaxdown)-50
  307. ;mm=(floor d/add_x)
  308. ;m=(floor mm/2)
  309. add_x=atof(axlUIPrompt("please enter addx_distance" "125"))
  310. m=(floor d/(2*add_x))

  311. firsty=nth(1 nth(0 paixudy))

  312. axlDeleteObject(design)

  313. if((firsty==yminup)
  314. then

  315. a=1
  316. rout=nth(0 paixudy)
  317. qishix=nth(0 rout)
  318. qishiy=nth(1 rout)
  319. zhongy=nth(2 rout)
  320. width=nth(3 rout)
  321. ycank=yminup-10
  322. y0=ycank
  323. wx1=qishix-(add_x /5)
  324. wx2=qishix
  325. path=axlPathStart(list(qishix:qishiy) width)

  326. axlPathLine( path, width, qishix:y0)
  327. for(k 1 m
  328. wy1=y0-add_x
  329. wy2=wy1-add_x

  330. axlPathLine( path, width, wx1:wy1)
  331. axlPathLine( path, width, wx2:wy2)

  332. y0=wy2
  333. );for

  334. axlPathLine( path, width, wx2:zhongy)
  335. axlDBCreatePath( path, layer)

  336. lastx1=wx1
  337. lastx2=wx2

  338. ylast=wy2


  339. for(q 1 length-1
  340. if((m==1) then
  341. rout=nth(q paixudy)
  342. chushix=nth(0 rout)
  343. chushiy=nth(1 rout)
  344. zhongy=nth(2 rout)
  345. width=nth(3 rout)
  346. spac=abs(qishix-chushix)
  347. ycank=ycank+(sqrt(26)-5)*spac+0.01
  348. y0=ycank
  349. ymm=yminup-10
  350. wy1=ymm-add_x
  351. wy2=wy1-add_x
  352. dtx=sqrt(26)*spac/5+0.002
  353. wx1=lastx1-dtx
  354. wx2=lastx2-dtx
  355. path=axlPathStart(list(chushix:chushiy) width)
  356. axlPathLine( path, width, chushix:y0)
  357. axlPathLine( path, width, wx1:wy1)
  358. axlPathLine( path, width, chushix:(ylast-(sqrt(26)-5)*spac-0.01))
  359. axlPathLine( path, width, chushix:zhongy)
  360. axlDBCreatePath( path, layer)
  361. qishix=chushix
  362. lastx1=wx1
  363. lastx2=wx2
  364. ylast=wy2


  365. else

  366. rout=nth(q paixudy)
  367. chushix=nth(0 rout)
  368. chushiy=nth(1 rout)
  369. zhongy=nth(2 rout)
  370. width=nth(3 rout)
  371. spac=abs(qishix-chushix)
  372. ycank=ycank+(sqrt(26)-5)*spac+0.01
  373. y0=ycank
  374. ymm=yminup-10
  375. ;x0=xminmax+5
  376. wy1=ymm-add_x
  377. wy2=wy1-add_x

  378. dtx=sqrt(26)*spac/5+0.002
  379. wx1=lastx1-dtx
  380. wx2=lastx2-dtx
  381. path=axlPathStart(list(chushix:chushiy) width)

  382. axlPathLine( path, width, chushix:y0)
  383. axlPathLine( path, width, wx1:wy1)
  384. axlPathLine( path, width, wx2:wy2)



  385. y0=wy2
  386. for(k 1 m-2

  387. wy1=y0-add_x
  388. wy2=wy1-add_x

  389. ; path=axlPathStart(list(wx2:y0) width)
  390. ;axlDBCreateLine(list(wx2:y0 wx1:wy1) width layer)
  391. ;axlDBCreateLine(list(wx1:wy1 wx2:wy2) width layer)
  392. axlPathLine( path, width, wx1:wy1)
  393. axlPathLine( path, width, wx2:wy2)


  394. y0=wy2
  395. );for
  396. wy1=y0-add_x
  397. wy2=ylast-(sqrt(26)-5)*spac-0.01
  398. ; path=axlPathStart(list(wx2:y0) width)
  399. ;axlDBCreateLine(list(wx2:y0 wx1:wy1) width layer)
  400. ; axlDBCreateLine(list(wx1:wy1 chushix:wy2) width layer)
  401. ;axlDBCreateLine(list(chushix:wy2 chushix:zhongy) width layer)
  402. axlPathLine( path, width, wx1:wy1)
  403. axlPathLine( path, width, chushix:wy2)
  404. axlPathLine( path, width, chushix:zhongy)
  405. axlDBCreatePath( path, layer)


  406. qishix=chushix
  407. lastx1=wx1
  408. lastx2=wx2
  409. ylast=wy2
  410. );if
  411. );for length-1

  412. else


  413. a=2
  414. paixudy=reverse(paixudy)
  415. rout=nth(0 paixudy)
  416. qishix=nth(0 rout)
  417. qishiy=nth(1 rout)
  418. zhongy=nth(2 rout)
  419. width=nth(3 rout)
  420. ycank=yminup-10
  421. y0=ycank
  422. wx1=qishix+(add_x /5)
  423. wx2=qishix
  424. path=axlPathStart(list(qishix:qishiy) width)
  425. ;axlDBCreateLine(list(qishix:qishiy qishix:y0) width layer)
  426. axlPathLine( path, width, qishix:y0)
  427. for(k 1 m
  428. wy1=y0-add_x
  429. wy2=wy1-add_x
  430. ; path=axlPathStart(list(qishix:y0) width)
  431. ;axlDBCreateLine(list(qishix:y0 wx1:wy1) width layer)
  432. ;axlDBCreateLine(list(wx1:wy1 wx2:wy2) width layer)
  433. axlPathLine( path, width, wx1:wy1)
  434. axlPathLine( path, width, wx2:wy2)
  435. y0=wy2
  436. );for
  437. ;path=axlPathStart(list(wx2:wy2) width)
  438. ;axlDBCreateLine(list(wx2:wy2 wx2:zhongy) width layer)
  439. axlPathLine( path, width, wx2:zhongy)
  440. axlDBCreatePath( path, layer)

  441. lastx1=wx1
  442. lastx2=wx2
  443. ;x0=xminmax+5
  444. ylast=wy2


  445. for(q 1 length-1
  446. if((m==1) then
  447. rout=nth(q paixudy)
  448. chushix=nth(0 rout)
  449. chushiy=nth(1 rout)
  450. zhongy=nth(2 rout)
  451. width=nth(3 rout)
  452. spac=abs(qishix-chushix)
  453. ycank=ycank+(sqrt(26)-5)*spac+0.01
  454. y0=ycank
  455. ymm=yminup-10
  456. wy1=ymm-add_x
  457. wy2=wy1-add_x
  458. dtx=sqrt(26)*spac/5+0.002
  459. wx1=lastx1+dtx
  460. wx2=lastx2+dtx
  461. path=axlPathStart(list(chushix:chushiy) width)
  462. axlPathLine( path, width, chushix:y0)
  463. axlPathLine( path, width, wx1:wy1)
  464. axlPathLine( path, width, chushix:wy2+(ylast-(sqrt(26)-5)*spac-0.01))
  465. axlPathLine( path, width, chushix:zhongy)
  466. axlDBCreatePath( path, layer)
  467. qishix=chushix
  468. lastx1=wx1
  469. lastx2=wx2
  470. ylast=wy2


  471. else
  472. rout=nth(q paixudy)
  473. chushix=nth(0 rout)
  474. chushiy=nth(1 rout)
  475. zhongy=nth(2 rout)
  476. width=nth(3 rout)
  477. spac=abs(qishix-chushix)
  478. ycank=ycank+(sqrt(26)-5)*spac+0.01
  479. y0=ycank
  480. ymm=yminup-10
  481. ;x0=xminmax+5
  482. wy1=ymm-add_x
  483. wy2=wy1-add_x

  484. dtx=sqrt(26)*spac/5+0.002
  485. wx1=lastx1+dtx
  486. wx2=lastx2+dtx
  487. path=axlPathStart(list(chushix:chushiy) width)
  488. ; axlDBCreateLine(list(chushix:chushiy chushix:y0) width layer)
  489. ;axlDBCreateLine(list(chushix:y0 wx1:wy1) width layer)
  490. ;axlDBCreateLine(list(wx1:wy1 wx2:wy2) width layer)
  491. axlPathLine( path, width, chushix:y0)
  492. axlPathLine( path, width, wx1:wy1)
  493. axlPathLine( path, width, wx2:wy2)
  494. y0=wy2

  495. for(k 1 m-2

  496. wy1=y0-add_x
  497. wy2=wy1-add_x

  498. ; path=axlPathStart(list(wx2:y0) width)
  499. ; axlDBCreateLine(list(wx2:y0 wx1:wy1) width layer)
  500. ;axlDBCreateLine(list(wx1:wy1 wx2:wy2) width layer)
  501. axlPathLine( path, width, wx1:wy1)
  502. axlPathLine( path, width, wx2:wy2)



  503. y0=wy2
  504. );for
  505. wy1=y0-add_x
  506. wy2=ylast-(sqrt(26)-5)*spac-0.01
  507. ; path=axlPathStart(list(wx2:y0 ) width)
  508. ; axlDBCreateLine(list(wx2:y0 wx1:wy1) width layer)
  509. ;axlDBCreateLine(list(wx1:wy1 chushix:wy2) width layer)
  510. ;axlDBCreateLine(list(chushix:wy2 chushix:zhongy) width layer)
  511. axlPathLine( path, width, wx1:wy1)
  512. axlPathLine( path, width, chushix:wy2)
  513. axlPathLine( path, width, chushix:zhongy)
  514. axlDBCreatePath( path, layer)


  515. qishix=chushix
  516. lastx1=wx1
  517. lastx2=wx2
  518. ylast=wy2
  519. );if m=1
  520. );for


  521. );if



  522. );vertical



  523. );case

  524. );while

  525. )
复制代码

作者: ginooolu    时间: 2010-8-9 21:12
可否请Melissa说明一下操作方法及效果呢?在下执行完tune后就跑出很多不受控制的Cline
作者: qt_litao    时间: 2010-8-10 09:44
还从来没有用过这种语言呢,不过仅仅用来画线,是不是有点夸张了。
作者: melissa113    时间: 2010-8-10 09:51
这个skill 针对高速信号线,而且是配对线。在水平和垂直的地方选中要需要走10度的线,程序会自动走成10度的线,不需要我们一对一对的走10度的线了
框选的线必须没有断点,否则就出错了。
作者: melissa113    时间: 2010-8-11 13:26
回复 5# smile102
把我的tune.rar 解压缩到你的c:/skill 里面。
在你的/home/pcbenv/allegro.ilinit
输入:load("c:/skill/tune.il")
开启你的allegro 输入command 命令tune
框选中水平或者垂直的一组对线的 clinesegs.这样你的水平或者垂直的线就变成10度的走线了。如图。有什么疑问可以问
作者: melissa113    时间: 2010-8-18 10:14
不好意思,我不会解密。
作者: foxconnwj    时间: 2010-8-20 16:21
试了一下,不错,但是只是在水平方向和垂直方向上可以将直线直接变成10度,最好是空间很大的情况下用,且对一个bus一起使用,不会产生DRC。
作者: a_peter    时间: 2010-8-21 01:17
真的很好用,可节省很多时间.太感谢了.

在走线space刚好时,会有DRC产生. 如 Space 设置15 MIL,
使用后会有14.99 MIL 的DRC产生.若能修改,就很完美了.
作者: bairome    时间: 2010-8-21 11:44
好东东,可我怎么下载不了~~
作者: wangzhongyiacui    时间: 2010-8-23 10:36
我也下载不了啊楼主,郁闷
作者: wolf343105    时间: 2010-9-5 20:16
能和deargs结合起来就更好了。
作者: osinfo    时间: 2010-9-10 17:41
看一下,谢谢!
作者: antasy    时间: 2010-11-19 15:29
太感谢了
作者: jams0214    时间: 2011-1-14 11:02
好东东,可我怎么下载不了~~

作者: lh08101276    时间: 2011-5-27 01:46
好东西~!顶起来
作者: XIDIAN    时间: 2011-9-26 20:42
不错的skill
作者: XIDIAN    时间: 2011-9-26 20:43
但是还有一些可以改进

作者: yinkzhdmi    时间: 2011-12-13 18:00
谢谢!
作者: jh1899    时间: 2011-12-15 10:24
thanks a lot
作者: linjiehua714522    时间: 2011-12-16 21:40
太酷了
作者: sharp0    时间: 2012-3-30 10:22
很好用,谢谢
作者: Crystal2012    时间: 2012-5-15 13:36
谢谢!
作者: ayalcy    时间: 2012-5-16 09:23
我想走17度的,楼主能不能帮忙修改下啊,十分感谢
作者: bluemare    时间: 2012-5-16 10:50
老感谢了~
作者: procomm1722    时间: 2012-5-20 16:52
映陽的 Graserware 就有這樣的功能 , 把誤差狀況都考量進去了.
作者: lixianghui    时间: 2013-3-14 10:59
感谢分享!
但试了下这个SKILL,感觉用起来非常不方便,是我操作不当还是另有技巧?
作者: sanelendar    时间: 2013-4-25 15:03
不错的东西, 不用自己写了。
作者: yadeena    时间: 2013-4-25 21:13
好东西~!顶起来
作者: 曾长林    时间: 2013-4-28 20:44
真的好东西,楼主
作者: 曾长林    时间: 2013-5-19 12:36
jams0214 发表于 2011-1-14 11:02
好东东,可我怎么下载不了~~

好东西,下午试一下
作者: Sisic    时间: 2013-9-25 22:51
謝謝分享喔
作者: grant30    时间: 2013-11-27 15:24
melissa113 发表于 2010-8-11 13:26
回复 5# smile102
把我的tune.rar 解压缩到你的c:/skill 里面。
在你的/home/pcbenv/allegro.ilinit

終於找到好咚咚囉,謝謝拉
作者: yuankai    时间: 2013-11-29 04:49
謝謝分享
作者: 似梦似醒    时间: 2015-7-8 23:11
只有水平与垂直时可以,如果45度走线时也可以那就更好了。
作者: kkman2000    时间: 2015-8-19 14:30
好东西,谢楼主分享
作者: jordanli22    时间: 2017-8-30 15:49
确实好东西
作者: 馒头    时间: 2017-9-1 13:12

作者: angelly    时间: 2017-9-1 13:56
太感谢了
作者: angelly    时间: 2017-9-1 13:56
太感谢了
作者: angelly    时间: 2017-9-1 13:56
太感谢了
作者: muluoairle    时间: 2017-9-4 22:36
16.6打上第53号补丁之后,allegro自带10度线工具,很好用,命令是fiber_weave,大家可以试试。
作者: junzia99    时间: 2017-9-19 16:15
谢谢分享
作者: 九月    时间: 2017-10-15 10:46
感谢分享
作者: 九月    时间: 2017-10-16 08:41
感谢分享





欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/) Powered by Discuz! X3.2