TA的每日心情 | 奋斗 2025-7-7 15:38 |
---|
签到天数: 83 天 [LV.6]常住居民II
|
仅供参考- axlCmdRegister("csa" 'dbCheckSymbolArea)
" v& s2 _0 t- K' w( U% e8 X, I - 3 e* \7 ^" e; Y) ^/ C1 Q
- ;; How to use/ d, N; y# @/ Y! e3 W
- ;; skill load "test_calc.il"
3 e2 {+ q& m- B- l& l: l8 g( `: l - ;; csa
; m1 M. _. L" c9 f. A# @/ }
u5 P- n9 U9 o6 Y3 g9 w Z- procedure( dbCheckSymbolArea()
t" K" m5 C9 V9 {1 C - let( (plcbnd area (sumPlc 0) shapeOutline sumOutline)8 P+ V$ H: S0 n" e, f: J: B* h- H
-
3 o! ^, `& w( o6 W7 N - ;;calc area of placebound of top symbols3 o, F x+ s& m: R
- foreach(i axlDBGetDesign()->components& U& i1 M9 W& \+ E1 ~" C
- when(i->symbol && i->symbol->layer == "TOP"
) _3 X% a' ^7 c* H - ;;get shape of placebound. x" H7 q) ~/ i3 Q& Z, ~* N
- plcbnd = car(setof(x i->symbol->children (x->objType == "shape" && index(x->layer "PACKAGE GEOMETRY/PLACE_BOUND_"))))
" m6 U" \" I; X R7 f. C - when(plcbnd& l# R5 r Y8 J
- ;;change to poly# t( A' l! \/ I8 A" W
- area = car(axlPolyFromDB(plcbnd ?layer plcbnd->layer))->area
/ b$ e& _0 {; s& J! Y - ;;add
9 \. Y$ O% E% t& u y' z$ B( w# e - sumPlc = sumPlc + area
# D/ C% v4 i; p5 } - )
9 F* Y/ b: t) O' P, m3 U2 g - )- I8 M# w" E; H2 r+ q
- )
9 i3 g% c- G$ ]* A5 T/ S - ) G2 c: ^, ]1 m
- ;;calc area of outline
% ]& f* u! r; w* ~* d8 p# _8 w - shapeOutline = axlDBGetShapes("BOARD GEOMETRY/OUTLINE") || axlDBGetShapes("BOARD GEOMETRY/DESIGN_OUTLINE")9 M h& b# @0 }
- sumOutline = car(axlPolyFromDB(car(shapeOutline) ?layer shapeOutline->layer))->area
/ x8 k) F) B% ]8 i7 P -
7 q( E% K" | [( P% z+ F - ;;calc percentage" ~5 k. @1 | P& t& U( @; ^
- result = sumPlc * 100.0 / sumOutline 1 Z5 g* k" f2 p. ^, U( g: r
- printf("Placebound Area = %.2f\nOutline Area = %.2f\nPercentage = %.2f%%\n" sumPlc sumOutline result)
! \% X: k( h7 f! b" d/ ]1 D& Z( E6 c - axlUIConfirm(sprintf(nil "Placebound Area = %.2f\nOutline Area = %.2f\nPercentage = %.2f%%\n" sumPlc sumOutline result))4 ^8 w( ] g, [! K
- ))
复制代码
$ b- d2 j* R3 M6 a/ b! u8 X6 }! Z; u- E: x
|
|