Ajouts pour AddÉnergie
authorHugo Villeneuve <hvilleneuve@addenergie.ca>
Fri, 9 Oct 2015 14:12:53 +0000 (10:12 -0400)
committerHugo Villeneuve <hvilleneuve@addenergie.ca>
Fri, 9 Oct 2015 14:12:53 +0000 (10:12 -0400)
scripts/altium/sch-align-refdes.pas

index 1575f11..9dce304 100644 (file)
@@ -5,7 +5,7 @@
 \r
 Const\r
    DEFAULT_FONT_NAME = 'Arial';\r
-   DEFAULT_FONT_SIZE = 8;\r
+   DEFAULT_FONT_SIZE = 10;\r
    \r
    R_SYMBOL_LENGTH_MILS     =  400; // Longueur du symbole\r
    R_SYMBOL_HEIGHT_MILS     =  050; // Hauteur du symbole\r
@@ -137,6 +137,7 @@ Begin
        // Process Parameter, not designator\r
        If CompareString(UpperCase(Parameter.Name), 'VALUE', 5) Then\r
        Begin\r
+           Parameter.IsHidden := False;\r
            ParamOffset := VALUE_POS;\r
        End;\r
 \r
@@ -161,6 +162,11 @@ Begin
            ParamOffset := MPN_POS;\r
        End;\r
 \r
+       If CompareString(UpperCase(Parameter.Name), 'NIA', 5) Then\r
+       Begin\r
+           Parameter.IsHidden := True;\r
+       End;\r
+\r
        If ParamOffset < 0 Then\r
        Begin\r
            ParamOffset := 2; // TEMP!!!!!!!\r
@@ -204,7 +210,6 @@ Begin
       Parameter.SetState_Location(ParamLoc);\r
       Parameter.SetState_Orientation(eRotate0);\r
    End;\r
-   \r
 End;\r
 \r
 // Standardisation de la police de caractère     \r
@@ -218,12 +223,39 @@ Begin
       Parameter.FontId := FontID;\r
 End;\r
 \r
+// Check if VALUE parameter exists\r
+Function SCH_check_value(Comp : ISch_Component) : Boolean;\r
+Var\r
+   found      : Boolean;\r
+   PIterator  : ISch_Iterator;\r
+   Parameter  : ISch_Parameter;\r
+Begin\r
+   Try\r
+      found := False;\r
+      PIterator := Comp.SchIterator_Create;\r
+      PIterator.AddFilter_ObjectSet(MkSet(eParameter));\r
+\r
+      Parameter := PIterator.FirstSchObject;\r
+      While Parameter <> Nil Do\r
+      Begin\r
+         If CompareString(UpperCase(Parameter.Name), 'VALUE', 5) Then\r
+            found := True;\r
+         Parameter := PIterator.NextSchObject;\r
+      End;\r
+   Finally\r
+      Comp.SchIterator_Destroy(PIterator);\r
+      Result := found;\r
+   End;\r
+End;\r
+\r
 Function SCH_AlignRefDes(Comp : ISch_Component);\r
 Var\r
+   value_found : boolean;\r
    PIterator  : ISch_Iterator;\r
    Parameter  : ISch_Parameter;\r
 Begin\r
     FontID := SchServer.FontManager.GetFontID(DEFAULT_FONT_SIZE,0,False,False,False,False, DEFAULT_FONT_NAME);\r
+    value_found := SCH_check_value(Comp);\r
 \r
     Try\r
         VALUE_POS   := -1;\r
@@ -255,7 +287,7 @@ Begin
                   \r
               SCH_SetFont(Comp, Parameter);\r
               Parameter := PIterator.NextSchObject;\r
-           End;\r
+        End;\r
     Finally\r
         Comp.SchIterator_Destroy(PIterator);\r
     End;\r