Altium, Skripte, Macros oder ähnliches zur Automatisierung

OP #3208677
Ich arbeite mit Altium Designer Summer 9 und suche nach einer 
Möglichkeit, immer wiederkehrende Dinge zu automatisieren, sprich: mit 
einem Mausklick oder einer einfachen Tastenkombination anzustoßen, statt 
eine längere Folge von Befehlen auszuführen.

Beispiel:
Umschalten der Sichtbarkeiten von Designators und Comments von 
Bauteilen.
Bisher mache ich das wie folgt:

Comments sichtbar, Designators unsichtbar machen:

- PCBList, "all objects", "only Text":
- Sortieren nach "String Type",
- bei allen Designators "Hide" setzen (mit Hilfe von Markieren, Copy und 
Paste)
- bei allen Comments entsprechend "Hide" zurücksetzen.


Kann man das und ähnliche Dinge irgendwie mittels Skript, Makro etc. 
programmieren und dann mit nur einer Tastenkombination oder von mir aus 
Menübefehl zur Ausführung bringen?
Gast #3208988
Hi

>Kann man das und ähnliche Dinge irgendwie mittels Skript, Makro etc.
>programmieren und dann mit nur einer Tastenkombination oder von mir aus
>Menübefehl zur Ausführung bringen?

Das konnte schon Protel99.

MfG Spess
OP #3209445
Ich danke Euch für Eure Hinweise.

Mit Hilfe der Doku auf der Altium Seite habe ich inzwischen ein "Hallo 
Welt" realisiert und nach langem Suchen einen ersten Hauch von Ahnung, 
wie man sich in dem Objektsystem zurechtfindet.
Besonders komfortabel finde ich die Dokumentation davon sowie auch die 
IDE nicht gerade.
Mal sehen, ob ich damit 'was zustandekriege...
OP #3209476
...also eine Einladung, sich damit zu beschäftigen sieht wirklich anders 
aus, als die Doku. Sie mag vollständig sein, aber es navigiert sich 
nicht so schön.

Welche Property muss man setzen/rücksetzten, damit ein IPCB_Text 
sichtbar/unsichtbar wird?
Gast #3209488
Hallo Michael,

ich habe auch schon ein paar Skripte für AD gemacht. Man kann zwar viel 
machen, aber die Doku lässt wirklich zu wünschen übrig.

Ich habe mir aber viel von Skripten aus dem Netz angeeignet. Unter 
anderem von dieser Seite
http://code.google.com/p/altium-designer-addons/downloads/list
Ich glaube das Skript "ShowHideDesignators_v1.1" ist sogar das was du 
suchst.

Gruß
Florian
OP #3209501
Hi Florian,

ich danke Dir vielmals für Deine Antwort.
Inzwischen habe ich herausgefunden, wie man das macht, was ich machen 
möchte:

Ich habe eine Sichtbar/Unsichtbareigenschaft vergeblich in IPBC_Text 
gesucht, weil es sie dort nicht gibt.

Es gibt sie für Comment und Designator in der Klasse IPCB_Component als
"CommentOn" und "NameOn".



Comp.SetState_NameOn(true);
Comp.SetState_CommentOn(false);


Procedure NamesOn;
Var
    Board     : IPCB_Board;
    Comp       : IPCB_Primitive;
    Iterator  : IPCB_BoardIterator;

Begin


    // Retrieve the current board
    Board := PCBServer.GetCurrentPCBBoard;
    If Board = Nil Then Exit;

    // retrieve the iterator
    Iterator        := Board.BoardIterator_Create;
    Iterator.AddFilter_ObjectSet(MkSet(eComponentObject));
    Iterator.AddFilter_LayerSet(AllLayers);
    Iterator.AddFilter_Method(eProcessAll);

    // Search and count pads
    Comp := Iterator.FirstPCBObject;
    While (Comp <> Nil) Do
    Begin

        // **** HIER PASSIERTS: ******************
        Comp.SetState_NameOn(true);
        Comp.SetState_CommentOn(false);


        Comp := Iterator.NextPCBObject;
    End;
    Board.BoardIterator_Destroy(Iterator);

End;


// Danke und gute Nacht!

// Gruß,
// Michael
Gast #3210111
das oben gezeigte Programm ist übrigens ein modifiziertes Beisiel.

Falls jemand das gleiche Versucht:
die Prozedur macht, was sie soll, aber im Verborgenen. D.h., dass man 
die Änderung erst sieht, wenn man explizit ein Redraw des Boards 
anstößt.

Dies kann man manuell durch Drücken der 'Ende' Taste tun oder, wie ich 
inzwischen mit Hilfe eines Beispiels aus Florians Link mit folgender 
Code-Sequenz:

// Board neu Zeichnen, damit man die Veränderung auch sieht
    ResetParameters;
    AddStringParameter('Action','Redraw');
    RunProcess('PCB:Zoom');

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.