TA的每日心情 | 开心 2022-11-1 15:51 |
---|
签到天数: 62 天 [LV.6]常住居民II
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
AD设计的原理图,FPGA的管脚名要做一些改变,库里面的fpga symbol是通用的,不能改,只可以在原理图里面改。通过双击原件,改pin的话太痛苦了,上百个管脚,在edit pin的界面上不能一起copy和past,只能一个一个改。有没有什么快捷的方法一次改多个管脚?考虑用脚本,找到了个ad的读管脚名的脚本,修修改改可以用来读指定的某个原件的所有管脚,再在文本文件里面改,就可以大量的拷贝了,但是不知道怎么写回到ad里面,有高手指点一下?谢谢5 X- F) q& \! B3 y4 d2 j* j; x# c9 v
{..............................................................................}
1 M5 {" f+ A1 _9 }) p{ Summary Demo how to fetch pins of components. }
3 P! I( T1 v/ |' s% [{ }* V' A$ x' [- n
{ Copyright (c) 2008 by altium Limited }
/ h: A V! B: }8 ^7 G" }" S' G; `{..............................................................................}; \2 H0 R. u( _3 m9 z" X
5 w2 t6 V' ^" \7 q; z1 W: {& Z{..............................................................................}
3 Y* Q/ C4 @0 G" ^Procedure FetchPinsOfComponents_U1;
* C/ _; G% ~. T. c/ g# ]* vVar5 P" ?, x2 |# i, R0 U1 W& J* o
CurrentSch : ISch_Sheet;% {( Z; h& z" v' G a. h& b( U: g
Iterator : ISch_Iterator;
( J7 I- j$ C* a1 Y5 m* y% ] PIterator : ISch_Iterator;
' p5 K1 o a2 H- S& O/ g AComponent : ISch_Component;
- W4 r$ V$ _3 C# J" y# w4 l) H AnIndex : Integer;6 s5 s* R0 g' f4 [# F
1 Y3 R& n4 L" {' b& c ReportList : TStringList;9 }0 Z; s. z* }
Pin : ISch_Pin;$ _: C# c: v, ?* I9 S @! p
Document : IServerDocument;
' V* r# T3 ]1 mBegin
: C+ D5 F/ Q0 z, j7 A8 R: F) L9 x // Check if schematic server exists or not.
# w1 W. {" ~( [' a: P If SchServer = Nil Then Exit;
; x/ e d! B4 V. D {2 g7 m
8 O, ]% `, ]+ n! h8 x // Obtain the current schematic document inteRFace.
6 x' F$ \% `$ g# N N8 g2 G$ j9 y* r CurrentSch := SchServer.GetCurrentSchDocument;' B* P6 T- W9 a6 S+ R
If CurrentSch = Nil Then Exit;
4 P5 J( o$ F _/ x' f; b' U% H8 l8 P/ |
// Look for components only
1 B5 D8 P; q: z1 g! _" K% s Iterator := CurrentSch.SchIterator_Create;- r4 j) m. \7 f2 b) ]
Iterator.AddFilter_ObjectSet(MkSet(eSchComponent));
; I. S" v/ n$ \% d9 m* r; u$ d% H8 L0 [. B' d6 V
ReportList := TStringList.Create;
0 l% U4 Y( F, g, ?2 `* I* u b2 e Try
! \* ]1 }! a# \; y AComponent := Iterator.FirstSchObject;* y) M1 O6 }# P0 [3 W& B
While AComponent <> Nil Do
1 @ }1 C. u$ F2 n Begin
9 m1 [6 M2 a( g1 r# X% U" p if AComponent.Designator.Text = 'U1' Then // change to the designator number you want....." x y! h% J: b1 ?0 o
Begin" N. R! }( k% y9 s3 R; s' j- I
ReportList.Add(AComponent.Designator.Name + ' ' + AComponent.Designator.Text);7 i C# H0 F/ C, S" P
ReportList.Add(' Pins');/ a, o- ^- N, n3 n
! j. u4 M" T; c" O s9 D3 ~ Try
: |* ]0 _/ ]4 f8 \+ t- U PIterator := AComponent.SchIterator_Create;& Z* h( y G' b1 p1 y
PIterator.AddFilter_ObjectSet(MkSet(ePin));
; ~3 g r/ m7 B8 Q7 @
' S; T# O' I$ H7 E Pin := PIterator.FirstSchObject;5 `4 [: N$ D$ D
While Pin <> Nil Do
" ~% M8 t5 _6 O* Y Begin1 N6 p4 ~! m1 R" j
{ ReportList.Add(' Name: ' + Pin.Name + ' Designator: ' + Pin.Designator); }% M- x* o- d% O- J
ReportList.Add(' Name: ' + Pin.Name + ' Designator: ' + Pin.Designator);& w2 K ^$ }4 G! C, k
Pin := PIterator.NextSchObject;6 W n! F& h+ I
End;
% ~7 L" v" e3 _; x3 ~4 D* A Finally
1 F* z: I" v, m: O AComponent.SchIterator_Destroy(PIterator);" {- f7 J) b% b1 j' z" Y% w
End;
% W( e4 o- u6 L$ c. ]" N" m; C4 ]5 { J8 ^6 Y9 w4 |5 M3 M, H7 [' l
ReportList.Add('');& S0 R! b/ h y h/ d) F: O
+ B c: v2 i. h: k0 f
End;
2 W. l0 U5 d, k, D7 T- g+ I
( j% ^$ z0 q# l, L; m( d AComponent := Iterator.NextSchObject;
8 _! i6 b3 ]2 o4 f9 D: K End;
1 y: y& a2 s2 o1 w* R Finally! x1 ^3 E$ S4 w8 D- |- ]
CurrentSch.SchIterator_Destroy(Iterator);
% m; W9 ^4 B8 @0 a2 q$ R" N End;# e- L. y+ ?5 [# H' m
0 f: m0 E4 \8 Z% |+ V4 Q ReportList.SaveToFile('d:\PinReportU1.Txt');3 s0 d" x! A( h) |, D
ReportList.Free;+ d1 ?9 [* ]' G! K7 I; x4 X( |8 I
: x: y1 [; E ~7 z2 p; W
// Display the report for all components found and their associated pins.5 {6 x6 ], o n! ]5 f5 T# @/ C
Document := Client.OpenDocument('Text','d:\PinReportU1.txt');% m" K# I1 N, }0 D1 H2 h
If Document <> Nil Then8 g. U2 D1 ~( p) M% O
Client.ShowDocument(Document);
6 `* h# A& Q7 @" l8 b, jEnd;2 ^& S L0 u8 H% Y5 j
{..............................................................................}4 y" [( ?% b+ _, f j1 \3 [- Z4 b
$ T! J3 m- z$ L7 w{..............................................................................}' K+ I7 [6 _/ X0 {' [0 A9 w
End.
k4 N2 }% d2 K' s9 i
- m9 b0 P5 [9 q% B8 }0 B |
|