X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=scripts%2Faltium%2Fsch-align-refdes-all.pas;fp=scripts%2Faltium%2Fsch-align-refdes-all.pas;h=2e79442adccf90cd086cdcceadf4bdb9ba337231;hb=d2cace985fa8e2bbe86940fb7921d3b4afd829e1;hp=0000000000000000000000000000000000000000;hpb=0dc7006d16de56921ead4a834a444f9cfa0a09a4;p=eda-utils.git diff --git a/scripts/altium/sch-align-refdes-all.pas b/scripts/altium/sch-align-refdes-all.pas new file mode 100644 index 0000000..2e79442 --- /dev/null +++ b/scripts/altium/sch-align-refdes-all.pas @@ -0,0 +1,45 @@ +// Alignement des attributs de tous les composants dans un schéma + +Procedure SCH_ResizeRefDes_All; +Var + CurrentSheet : ISch_Document; + Comp : ISch_Component; + Iterator : ISch_Iterator; + +Begin + // Check if schematic server exists or not. + If SchServer = Nil Then Exit; + + CurrentSheet := SchServer.GetCurrentSchDocument; + If CurrentSheet = Nil Then + Begin + ShowMessage('The current document is not a schematic document.'); + Exit; + End; + + Try + SchServer.ProcessControl.PreProcess(CurrentSheet, ''); + + // Set up iterator to look for Component objects only + Iterator := CurrentSheet.SchIterator_Create; + If Iterator = Nil Then Exit; + + Iterator.AddFilter_ObjectSet(MkSet(eSchComponent)); + Try + Comp := Iterator.FirstSchObject; + While Comp <> Nil Do + Begin + SCH_AlignRefDes(Comp); + Comp := Iterator.NextSchObject; + End; + + Finally + Currentsheet.SchIterator_Destroy(iterator); + End; + + Finally + SchServer.ProcessControl.PostProcess(CurrentSheet, ''); + End; + + CurrentSheet.GraphicallyInvalidate; +End;