Bartels :: Bartels AutoEngineer :: BAE Dokumentation :: User Language Programmierhandbuch :: Systemfunktionen :: PCB-Design-Systemfunktionen |
Bartels User Language - ProgrammierhandbuchC.4 PCB-Design-Systemfunktionen |
![]() |
In diesem Abschnitt werden (in alphabetischer Reihenfolge) die in der Bartels User Language definierten PCB-Design-Systemfunktionen beschrieben. Beachten Sie bitte die Konventionen zur Funktionsbeschreibung in Anhang C.1.
Die nachfolgend aufgelisteten Systemfunktionen sind dem Aufruftyp LAY zugeordnet, d.h. diese Funktionen können im Layouteditor, im Autorouter und im CAM-Prozessor aufgerufen werden:
string lay_defelemname( // Default Layout Elementname );
Der Rückgabewert der Funktion lay_defelemname entspricht dem in der Setupdatei eingestellten Defaultnamen für Layoutplanelemente.
string lay_deflibname( // Default Layout Bibliotheksname );
Der Rückgabewert der Funktion lay_deflibname entspricht dem in der Setupdatei eingestellten Defaultnamen für die Layoutbibliothek.
int lay_defusrunit( // Koordinatenanzeigemodus (STD7) );
Der Rückgabewert der Funktion lay_defusrunit entspricht der in der Setupdatei angegebenen Defaulteinstellung für die Koordinatenanzeige (1=Inch, 0=mm).
int lay_doclayindex( // Dokumentarlagen Anzeigeindex int [0,99]; // Dokumentarlagennummer );
Die Funktion lay_doclayindex ermittelt den Dokumentarlagenanzeigeindex für die übergebene Dokumentarlage. Der Funktionsrückgabewert ist (-1) wenn eine eine ungütige Lagennummer spezifiziert wurde.
Funktionen lay_doclayname, lay_doclayside, lay_doclaytext.
string lay_doclayname( // Dokumentarlagenname int [0,99]; // Dokumentarlagennummer );
Der Rückgabewert der Funktion lay_doclayname entspricht dem in der Setupdatei eingestellten Namen für die übergebene Dokumentarlage oder der Nullzeichenkette, wenn eine ungültige Lage angegeben wurde.
Funktionen lay_doclayindex, lay_doclayside, lay_doclaytext.
int lay_doclayside( // Dokumentarlagen Seitenmodus: // (-2) = falsche Lagennummer // (-1) = wählbar // ( 0) = Seite 1 // ( 1) = Seite 2 // ( 2) = Beide Seiten int [0,99]; // Dokumentarlagennummer );
Der Rückgabewert der Funktion lay_doclayside entspricht dem in der Setupdatei eingestellten Seitenmodus für die übergebene Dokumentarlage. (-1) bedeutet Seite 1, Seite 2 und beide Seiten sind wählbar. 0, 1 und 2 bedeuten, dass für die entsprechende Dokumentarlage Seite 1, Seite 2 bzw. beide Seiten als Defaultwert eingestellt ist. Ein Rückgabewert von (-2) bedeutet, dass eine falsche Lagennummer spezifiziert wurde.
Funktionen lay_doclayindex, lay_doclayname, lay_doclaytext.
int lay_doclaytext( // Dokumentarlagen Textmodus (LAY2) int [0,99]; // Dokumentarlagennummer );
Der Rückgabewert der Funktion lay_doclaytext entspricht dem in der Setupdatei eingestellten Textmodus (LAY2) für die übergebene Dokumentarlage. Ein Rückgabewert von (-1) bedeutet, dass eine falsche Lagennummer spezifiziert wurde.
Funktionen lay_doclayindex, lay_doclayname, lay_doclayside.
int lay_figboxtest( // Status index L_FIGURE; // Element double; // Rechteck linke Grenze (STD2) double; // Rechteck untere Grenze (STD2) double; // Rechteck rechte Grenze (STD2) double; // Rechteck obere Grenze (STD2) );
Die Funktion lay_figboxtest prüft, ob das angegebene Element das angegebene Rechteck schneidet. Der Rückgabewert ist ungleich Null, wenn die Elementgrenzen das angegebene Rechteck schneiden.
int lay_findconpart( // Status string; // Bauteilname & index L_CPART; // Rückgabe Netzlistenbauteil );
Die Funktion lay_findconpart sucht den angegebenen Bauteilnamen in der Netzliste und gibt den Bauteileintrag gegebenenfalls in dem Bauteilrückgabeparameter zurück. Der Rückgabewert dieser Funktion ist ungleich Null, wenn das Bauteil nicht gefunden wurde.
Funktionen lay_findconpartpin, lay_findcontree.
int lay_findconpartpin( // Status string; // Pinname index L_CPART; // Netzlistenbauteil & index L_CPIN; // Rückgabe Netzlistenbauteilpin );
Die Funktion lay_findconpartpin sucht den Bauteilpin mit dem angegebenen Namen auf dem spezifizierten Netzlistenbauteil und gibt den Bauteilpineintrag gegebenenfalls in dem Bauteilpinrückgabeparameter zurück. Der Rückgabewert dieser Funktion ist ungleich Null, wenn der Bauteilpin nicht gefunden wurde.
Funktionen lay_findconpart, lay_findcontree.
int lay_findcontree( // Status string; // Netzname & index L_CNET; // Rückgabe Netzlisteneintrag );
Die Funktion lay_findcontree sucht den angegebenen Netznamen in der Netzliste und gibt den Netzlisteneintrag ggf. in dem Netzrückgabeparameter zurück. Der Rückgabewert dieser Funktion ist ungleich Null, wenn das Netz nicht gefunden wurde.
Funktionen lay_findconpart, lay_findconpartpin.
void lay_getplanchkparam(
& double; // Abstand Bahn zu Bahn (STD2)
& double; // Abstand Bahn zu Kupfer (STD2)
& double; // Abstand Kupfer zu Kupfer (STD2)
& double; // Standard-Leiterbahnbreite (STD2)
& string; // Blockname
int [-6,99]; // Signallagencode (LAY1)
// (Lage!=(-1) nur in BAE HighEnd zulässig)
int [0,0[; // DRC-Blocknummer
);
Die Funktion lay_getplanchkparam gibt in den Parametern die Abstandsparameter für den Design Rule Check (DRC) im Layouteditor zurück. In BAE Professional, BAE Economy und BAE Light können nur die globalen Parameter für den Lagencode -1 (Alle Lagen) und den DRC-Block 0 abgefragt werden. In BAE HighEnd können darüber hinaus auch Parameterblöcke ausgelesen werden, die lagenspezifischer Mindestabstände für beliebige Signallagen (Lagencodes 0 bis 99), die oberste Lage (Lagencode -5) sowie die Innenlagen (Lagencode -6) definieren. Der Parameterblock 0 ist immer vorhanden und enthält die global definierten DRC-Parameter. Ebenso ist auch immer für den Lagencode -1 (Alle Lagen) eine Vorgabe vorhanden.
Funktion lay_setplanchkparam.
int lay_getpowplanetree( // Netznummer oder (-1) double; // X-Koordinate (STD2) double; // Y-Koordinate (STD2) int; // Versorgunglagennummer (LAY1) double; // Bohrdurchmesser (STD2) );
Der Rückgabewert der Funktion lay_getpowplanetree entspricht der Netznummer des über die angegebene Versorgungslagenkoordinate angeschlossenen Signalpegels (L_CNET.NUMBER). Die Auswertung erfolgt auf der angegebenen Versorgungslage unter berücksichtigung des spezifizierten Bohrdurchmessers. Diese Funktion wird zur Ermittlung von Netzanschlüssen bei der Verwendung geteilter Potentiallagen (Split Power Planes) benötigt. Der Funktionsrückgabewert ist (-1), wenn kein Signalanschluss gefunden wurde bzw. wenn eine ungültige Versorgungslagennummer spezifiziert wurde.
Die an lay_getpowplanetree übergebenen Koordinatenangaben werden als Absolutkoordinaten auf dem aktuell geladenen Element interpretiert. Beim indirekten Aufruf von lay_getpowplanetree über lay_scan*-Funktionen muss deshalb der spezifizierte Scan-Offset entsprechend berücksichtigt werden.
int lay_getpowpolystat( // Status index L_FIGURE; // Figurenlistenelement - Versorgungslagenpolygon & int; // Rückgabeflag: // Polgyon schneidet Platinenumrandung & int; // Rückgabeflag: // Polygon schneidet andere Versorgungslagenpolygone );
Mit der Funktion lay_getpowpolystat wird der Status des angegebenen Versorgungslagenpolygons (Split Power Plane) abgefragt. Die Rückgabeflags geben an, ob das Versorgungslagenpolygon die Platinenumrandung oder andere Versorgungslagenpolygone schneidet. Der Funktionsrückgabewert ist Null bei erfolgreicher Abfrage, (-1) bei ungültigen Parametern oder ungültiger Interpreterumgebung oder (-2) wenn das angegebene Figurenlistenelement kein Versorgungslagenpolygon ist.
int lay_getrulecnt( // Regelanzahl oder (-1) bei Fehler int; // Object class code int; // Object ident code (int oder Indextyp) );
Mit der Funktion
lay_getrulecnt kann die Anzahl der an ein spezifisches Objekt zugewiesenen Regeln ermittelt werden. Die Abfrage kann für das aktuell geladene Element (Objektklasse 0 mit
int
-Wert 0 für die Objektidentifikation), ein Element aus der Figurenliste des aktuell geladenen Elements (Objektklasse 1 mit gültigem Wert vom Typ index
L_FIGURE für die Objektidentifikation) oder ein Poolelement (Objektklasse 2 mit gültigem Wert vom Typ index
L_POOL für die Objektidentifikation) durchgeführt werden. Die von
lay_getrulecnt ermittelte (nicht-negative) objektspezifische Regelanzahl wird im Rückgabewert der Funktion übergeben und bestimmt den Wertebereich für den Regelnamenslistenindex in nachfolgenden Aufrufen der Funktion
lay_getrulename zur Ermittlung von Regelnamen für das entsprechende Objekt. Der Rückgabewert ergibt sich zu (-1), wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion
lay_ruleerr ermittelt werden.
Funktionen lay_getrulename, lay_ruleerr, lay_rulefigatt, lay_rulefigdet, lay_rulelaysatt, lay_rulelaysdet, lay_ruleplanatt, lay_ruleplandet, lay_rulequery; Neuronales Regelsystem und Rule System Compiler.
int lay_getrulename( // Status int; // Object class code int; // Object ident code (int oder Indextyp) int [0,[; // Regelnamenslistenindex & string; // Regelname );
Mit der Funktion
lay_getrulename können die Namen der an ein spezifisches Objekt zugewiesenen Regeln ermittelt werden. Die Abfrage kann für das aktuell geladene Element (Objektklasse 0 mit
int
-Wert 0 für die Objektidentifikation), ein Element aus der Figurenliste des aktuell geladenen Elements (Objektklasse 1 mit gültigem Wert vom Typ index
L_FIGURE für die Objektidentifikation) oder ein Poolelement (Objektklasse 2 mit gültigem Wert vom Typ index
L_POOL für die Objektidentifikation) durchgeführt werden. Der Regelnamenslistenindex zur Auswahl der gewünschten Regel muss mindestens Null jedoch kleiner als die mit der Funktion
lay_getrulecnt abfragbare Anzahl objektspezifischer Regeln sein. Der ermittelte Regelname wird über den letzten Funktionsparameter an den Aufrufer zurückgegeben. Der Rückgabewert der Funktion
lay_getrulename ist Null, wenn die Funktion erfolgreich beendet wurde oder ungleich Null, wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion
lay_ruleerr ermittelt werden.
Funktionen lay_getrulecnt, lay_ruleerr, lay_rulefigatt, lay_rulefigdet, lay_rulelaysatt, lay_rulelaysdet, lay_ruleplanatt, lay_ruleplandet, lay_rulequery; Neuronales Regelsystem und Rule System Compiler.
int lay_getscclass( // Rückgabe Layoutelementklasse: // 0 = Layout // 1 = Bauteil // 2 = Padstack // 3 = Pad // (-1) sonst );
Die Funktion lay_getscclass gibt die aktuell gescannte Layoutelementklasse zurück. Der Aufruf dieser Funktion ist nur innerhalb der Callbackfunktionen von lay_scanall, lay_scanfelem oder lay_scanpool sinnvoll. An anderer Stelle, oder wenn gerade kein Layoutelement gescannt wird, ergibt sich der Funktionsrückgabewert zu (-1).
Funktionen lay_scanall, lay_scanfelem, lay_scanpool.
index L_NREF lay_getscpartrpidx // Rückgabe Bauteilindex oder (-1) );
Die Funktion lay_getscpartrpidx gibt das aktuell gescannte Layoutbauteil als benannte Referenz zurück, d.h. damit kann beim Scannen von Leiterbahnen, Polygonen, Texten, Pins, etc. die Bauteilzugehörigkeit des jeweils gescannten Objects ermittelt werden. Der Aufruf dieser Funktion ist nur innerhalb der Callbackfunktionen von lay_scanall, lay_scanfelem oder lay_scanpool sinnvoll. An anderer Stelle, oder wenn gerade kein Bauteil gescannt wird, ergibt sich der Funktionsrückgabewert zu (-1).
Funktionen lay_scanall, lay_scanfelem, lay_scanpool.
index L_POOL lay_getscrefpidx // Rückgabe Poolindex, oder (-1) wenn kein Makro );
Die Funktion lay_getscrefpidx gibt den Poolindex des aktuell gescannten Bibliothekselements zuück, d.h. damit kann beim Scannen von Leiterbahnen, Polygonen, Texten, etc. die Zugehörigkeit des jeweils gescannten Objects zum entsprechenden Bibliothekselement (Bauteil, Padstack, Pad) ermittelt werden. Der Aufruf dieser Funktion ist nur innerhalb der Callbackfunktionen von lay_scanall, lay_scanfelem oder lay_scanpool sinnvoll. An anderer Stelle, oder wenn gerade kein Bibliothekselement gescannt wird, ergibt sich der Funktionsrückgabewert zu (-1).
Funktionen lay_scanall, lay_scanfelem, lay_scanpool.
int lay_getscstkcnt( // Scan-Stacktiefe );
Die Funktion lay_getscstkcnt dient der Abfrage der aktuellen Stacktiefe der Layoutscanfunktionen. lay_getscstkcnt kann somit zur Abarbeitungskontrolle innerhalb der Callbackfunktionen von lay_scanall, lay_scanfelem oder lay_scanpool eingesetzt werden.
Funktionen lay_scanall, lay_scanfelem, lay_scanpool.
int lay_getsctextdest( // Status & double; // Rückgabe Textlinienzielpunkt X-Koordinate (STD2) & double; // Rückgabe Textlinienzielpunkt Y-Koordinate (STD2) );
Mit der Funktion lay_getsctextdest kann der Ziel- bzw. Endpunkt der Textbasislinie des aktuell gescannten Textelements ermittelt werden. Der Aufruf dieser Funktion ist nur innerhalb der Callbackfunktionen von lay_scanall, lay_scanfelem oder lay_scanpool sinnvoll. Der Funktionsrückgabewert ist 1 bei erfolgreicher Abfrage oder Null bei fehlgschlagener Abfrage.
Funktionen lay_scanall, lay_scanfelem, lay_scanpool.
int lay_gettreeidx( // Status int; // Netznummer & index L_CNET; // Rückgabe Netzlisteneintrag );
Die Funktion lay_gettreeidx sucht die angegebene Netznummer in der Netzliste und gibt den Netzlisteneintrag gegebenenfalls in dem Netzrückgabeparameter zurück. Der Rückgabewert ist ungleich Null, wenn die Netznummer nicht gefunden wurde.
int lay_grpdisplay( // Dokumentarlagennummer (LAY1) );
Der Rückgabewert der Funktion lay_grpdisplay entspricht der in der Setupdatei eingestellten Dokumentarlage für die Gruppendarstellung.
int lay_lastfigelem( // Status & index L_FIGURE; // Rückgabe Element );
Die Funktion lay_lastfigelem ermittelt das zuletzt erzeugte bzw. modifizierte Layoutelement und übergibt den entsprechenden Index aus der Figurenliste im Rückgabeparameter. Der Rückgabewert der Funktion ist Null wenn ein derartiges Element existiert, oder ungleich Null andernfalls.
void lay_maccoords( & double; // X-Position (STD2) & double; // Y-Position (STD2) & double; // Drehwinkel (STD3) & int; // Spiegelungsmodus (STD14) & int; // Lage (LAY1 für Pad auf Padstack) );
Die Funktion lay_maccoords gibt in den Parametern die Platzierungsdaten für das aktuell bearbeitete Makro zurück. Der Aufruf dieser Funktion ist nur innerhalb der Makroscanfunktion von lay_scanall, lay_scanfelem oder lay_scanpool sinnvoll. An anderer Stelle werden Null-Defaultwerte zurückgegeben.
Funktionen lay_scanall, lay_scanfelem, lay_scanpool.
int lay_macload( // Status & index L_POOL; // Makro Poolelementindex string; // DDB-Dateiname string; // Elementname int [100,[; // Element DDB-/Datenbankklasse (STD1) );
Die Funktion lay_macload lädt das angegebene Layoutsymbol in den Arbeitsspeicher und übergibt den zugehörigen Poolindex im entsprechenden Parameter. Der Funktionsrückgabewert ist Null, wenn das Symbol erfolgreich geladen wurde, (-1) bei Dateizugriffsfehlern, (-2) bei fehlenden oder ungültigen Parameterangaben oder 1 wenn referenzierte Bibliothekselemente nicht verfügbar sind. lay_macload ist für die Anwendung in Funktionen zur Auswertung von Bibliotheksdateien konzipiert. Mit der Funktion lay_macrelease können Layoutsymbole wieder aus dem Arbeitsspeicher entfernt werden.
Funktion lay_macrelease.
void lay_macrelease( index L_POOL; // Makro Poolelementindex );
Die Funktion lay_macrelease löscht das über den Poolelementindex spezifizierte Layoutsymbol aus dem Arbeitsspeicher. lay_macrelease ist als Pendant zur Funktion lay_macload konzipiert.
Funktion lay_macload.
int lay_menulaylinecnt( // Anzahl Einträge im Signallagenmenü );
Der Rückgabewert der Funktion lay_menulaylinecnt entspricht der aktuell definierten Anzahl der Menüzeilen im Signallagenmenü des Layoutsystems. Das Signallagenmenü kann mit Hilfe des Utilityprogramms bsetup konfiguriert werden, wobei bis zu 12 Signallagen mit Lagennummer und Lagenname definiert werden können.
Funktionen lay_menulaylinelay, lay_menulaylinename.
int lay_menulaylinelay( // Menüzeile Lagennummer int [0,11]; // Menüzeilennummer );
Der Rückgabewert der Funktion lay_menulaylinelay entspricht der Lagennummer, die für die spezifizierte Menüzeile im Signallagenmenü des Layoutsystems aktuell definiert ist. Das Signallagenmenü kann mit Hilfe des Utilityprogramms bsetup konfiguriert werden, wobei bis zu 12 Signallagen mit Lagennummer und Lagenname definiert werden können.
Funktionen lay_menulaylinecnt, lay_menulaylinename.
string lay_menulaylinename( // Menüzeile Lagenbezeichnung int [0,11]; // Menüzeilennummer );
Der Rückgabewert der Funktion lay_menulaylinename entspricht dem Lagennamen, der für die spezifizierte Menüzeile im Signallagenmenü des Layoutsystems aktuell definiert ist. Das Signallagenmenü kann mit Hilfe des Utilityprogramms bsetup konfiguriert werden, wobei bis zu 12 Signallagen mit Lagennummer und Lagenname definiert werden können.
Funktionen lay_menulaylinecnt, lay_menulaylinelay.
int lay_nrefsearch( // Status string; // Bauteilname & index L_FIGURE; // Rückgabe Element );
Die Funktion lay_nrefsearch prüft, ob das angegebene Bauteil platziert ist und gibt gegebenenfalls das zugehörige Element zurück. Der Rückgabewert ist ungleich Null, wenn das Bauteil nicht gefunden wurde.
int lay_planmidlaycnt( // Innenlagenanzahl );
Die Funktion lay_planmidlaycnt ermittelt die Anzahl der Innenlagen für des aktuell geladenen Layouts.
Funktion lay_plantoplay.
int lay_plantoplay( // Oberste Lage (LAY1) );
Der Rückgabewert der Funktion lay_plantoplay entspricht der im aktuell geladenen Element gültigen Einstellung der obersten Lage (LAY1), bzw. Signallage 2, wenn kein Layoutplan geladen ist.
Funktion lay_planmidlaycnt.
int lay_pltmarklay( // Dokumentarlagennummer );
Der Rückgabewert der Funktion lay_pltmarklay entspricht der in der Setupdatei eingestellten Passermarkenlage.
void lay_ruleerr( & int; // Fehlercode & string; // Fehlerstring );
Die Funktion lay_ruleerr dient der Ermittlung des Regelsystemstatus, d.h. die Funktion lay_ruleerr kann zur genauen Bestimmung der Fehlerursache im Falle eines fehlerhaften Aufrufs einer Regelsystemfunktion verwendet werden.
Zur Bestimmung der Fehlerursache sind die durch lay_ruleerr zurückgegebenen Parameterwerte heranzuziehen. Der zurückgegebene Fehlerstring dient ggf. der Identifizierung des fehlerverursachenden Elements. Die möglichen Werte, die der Fehlercode durch die Ausführung eines Regelsystemfunktion annehmen kann, haben folgende Bedeutung:
Fehlercode Bedeutung 0 Regelsystem Operation/Funktion erfolgreich beendet 1 Regelsystem Hauptspeicher nicht ausreichend 2 Regelsystem Interner Fehler <e>
3 Regelsystem Funktionsparameter ungültig 128 Regelsystem Datenbankdatei kann nicht angelegt werden 129 Regelsystem Datenbankdatei Lese-/Schreibfehler 130 Regelsystem Datenbankdatei von falschem Typ 131 Regelsystem Datenbankdateistruktur beschädigt 132 Regelsystem Datenbankdatei nicht gefunden 133 Regelsystem Datenbankfehler allgemein (Interner Fehler) 134 Regelsystem Regel <r>
nicht Regeldatenbank gefunden135 Regelsystem Regel in falschem Format in Datenbank (Interner Fehler <e>
)136 Regelsystem Objekt nicht gefunden 137 Regelsystem Objekt mehrfach definiert (Interner Fehler) 138 Regelsystem Inkompatible Definition der Variable <v>
139 Regelsystem Regel <r>
mit inkompatibler Compiler-Version übersetztDer Fehlerstring kann je nach Fehlerfall eine Regel
<r>
, eine Variable<v>
oder einen (internen) Fehlerstatus<e>
bezeichnen. Datenbankdateifehler beziehen sich auf Probleme beim Zugriff auf die Regeldatenbankdateibrules.vdb
im BAE-Programmverzeichnis. Interne Fehler weisen üblicherweise auf Implementierungslücken im Regelsystem hin und sollten in jedem Fall an Bartels gemeldet werden.
Funktionen lay_getrulecnt, lay_getrulename, lay_rulefigatt, lay_rulefigdet, lay_rulelaysatt, lay_rulelaysdet, lay_ruleplanatt, lay_ruleplandet, lay_rulequery; Neuronales Regelsystem und Rule System Compiler.
int lay_rulefigatt( // Status index L_FIGURE; // Figurenlistenelement void; // Regelname oder Regelnamensliste );
Die Funktion lay_rulefigatt erlaubt die Zuweisung von Regeln an das mit dem ersten Funktionsparameter spezifizierte Figurenlistenelement des aktuell geladenes Elements. Der zweite Funktionsparameter erlaubt dabei sowohl die Spezifikation eines einzelnen Regelnamens (d.h. eines Wertes vom Typstring
) als auch die Angabe einer ganzen Liste von Regelnamen (d.h. eines Arrays vom Typstring
). Beachten Sie, dass vor der Zuweisung des angegebenen Regelsatzes zunächst alle bestehenden Regelzuweisungen an das spezifizierte Figurenlistenelement gelöscht werden. Der Rückgabewert der Funktion lay_rulefigatt ist Null, wenn die Funktion erfolgreich beendet wurde oder ungleich Null, wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion lay_ruleerr ermittelt werden.
Funktionen lay_getrulecnt, lay_getrulename, lay_ruleerr, lay_rulefigdet, lay_rulelaysatt, lay_rulelaysdet, lay_ruleplanatt, lay_ruleplandet, lay_rulequery; Neuronales Regelsystem und Rule System Compiler.
int lay_rulefigdet( // Status index L_FIGURE; // Figurenlistenelement );
Die Funktion lay_rulefigdet löscht alle aktuell bestehenden Regelzuweisungen an das über den Funktionsparameter spezifizierte Figurenlistenelement des aktuell geladenen Elements. Der Rückgabewert der Funktion lay_rulefigdet ist Null, wenn die Funktion erfolgreich beendet wurde oder ungleich Null, wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion lay_ruleerr ermittelt werden.
Funktionen lay_getrulecnt, lay_getrulename, lay_ruleerr, lay_rulefigatt, lay_rulelaysatt, lay_rulelaysdet, lay_ruleplanatt. lay_ruleplandet, lay_rulequery; Neuronales Regelsystem und Rule System Compiler.
int lay_rulelaysatt( // Status int [0,111]; // Lagenaufbauindex void; // Regelname oder Regelnamensliste );
Die Funktion lay_rulelaysatt erlaubt die Zuweisung von Regeln an den durch den angegebenen Lagenaufbauindex spezifizierten Lagenaufbau. Der Funktionsparameter zur Regelangabe erlaubt dabei sowohl die Spezifikation eines einzelnen Regelnamens (d.h. eines Wertes vom Typstring
) als auch die Angabe einer ganzen Liste von Regelnamen (d.h. eines Arrays vom Typstring
). Beachten Sie, dass vor der Zuweisung des angegebenen Regelsatzes zunächst alle bestehenden Regelzuweisungen des bearbeiteten Lagenaufbaus gelöscht werden. Der Rückgabewert der Funktion lay_rulelaysatt ist Null, wenn die Funktion erfolgreich beendet wurde oder ungleich Null, wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion lay_ruleerr ermittelt werden.
Funktionen lay_getrulecnt, lay_getrulename, lay_ruleerr, lay_rulefigatt, lay_rulefigdet, lay_rulelaysdet, lay_ruleplanatt, lay_ruleplandet, lay_rulequery; Neuronales Regelsystem und Rule System Compiler.
int lay_rulelaysdet( // Status int [0,111]; // Lagenaufbauindex );
Die Funktion lay_rulelaysdet löscht alle aktuell bestehenden Regelzuweisungen an den durch den Lagenaufbauindex angegebenen Lagenaufbau. Der Rückgabewert der Funktion lay_rulelaysdet ist Null, wenn die Funktion erfolgreich beendet wurde oder ungleich Null, wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion lay_ruleerr ermittelt werden.
Funktionen lay_getrulecnt, lay_getrulename, lay_ruleerr, lay_rulefigatt, lay_rulefigdet, lay_rulelaysatt, lay_ruleplanatt, lay_ruleplandet, lay_rulequery; Neuronales Regelsystem und Rule System Compiler.
int lay_ruleplanatt( // Status void; // Regelname oder Regelnamensliste );
Die Funktion lay_ruleplanatt erlaubt die Zuweisung von Regeln an das aktuell geladenes Elements. Der Funktionsparameter erlaubt dabei sowohl die Spezifikation eines einzelnen Regelnamens (d.h. eines Wertes vom Typstring
) als auch die Angabe einer ganzen Liste von Regelnamen (d.h. eines Arrays vom Typstring
). Beachten Sie, dass vor der Zuweisung des angegebenen Regelsatzes zunächst alle bestehenden Regelzuweisungen an das aktuelle Element gelöscht werden. Der Rückgabewert der Funktion lay_ruleplanatt ist Null, wenn die Funktion erfolgreich beendet wurde oder ungleich Null, wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion lay_ruleerr ermittelt werden.
Funktionen lay_getrulecnt, lay_getrulename, lay_ruleerr, lay_rulefigatt, lay_rulefigdet, lay_rulelaysatt, lay_rulelaysdet, lay_ruleplandet, lay_rulequery; Neuronales Regelsystem und Rule System Compiler.
int lay_ruleplandet( // Status );
Die Funktion lay_ruleplandet löscht alle aktuell bestehenden Regelzuweisungen an das aktuell geladene Element. Der Rückgabewert der Funktion lay_ruleplandet ist Null, wenn die Funktion erfolgreich beendet wurde oder ungleich Null, wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion lay_ruleerr ermittelt werden.
Funktionen lay_getrulecnt, lay_getrulename, lay_ruleerr, lay_rulefigatt, lay_rulefigdet, lay_rulelaysatt, lay_rulelaysdet, lay_ruleplanatt, lay_rulequery; Neuronales Regelsystem und Rule System Compiler.
int lay_rulequery( // Trefferanzahl oder (-1) bei Fehler int; // Object class code int; // Object ident code (int oder Indextyp) string; // Subjektname string; // Prädikatname string; // Abfragekommando & void; // Abfrageergebnis [] // Optionale Abfrageparameter );
Die Funktion lay_rulequery führt eine Regelabfrage für ein spezifisches Objekt durch. Die Abfrage kann für das aktuell geladene Element (Objektklasse 0 mitint
-Wert 0 für die Objektidentifikation), ein Element aus der Figurenliste des aktuell geladenen Elements (Objektklasse 1 mit gültigem Wert vom Typ index L_FIGURE für die Objektidentifikation) oder ein Poolelement (Objektklasse 2 mit gültigem Wert vom Typ index L_POOL für die Objektidentifikation) durchgeführt werden. Zur Durchführung der Abfrage müssen sowohl ein Regelsubjekt als auch ein Regelprädikat namentlich angegeben werden. Zusätzlich ist ein Abfragekommando zu spezifizieren. Das Abfragekommando kann Platzhalter für Wertvorgaben und einen Abfrageoperator enthalten. Folgende Abfrageoperatoren stehen zur Verfügung:
?d
zur Abfrage von int
-Werten?f
zur Abfrage von double
-Werten?s
zur Abfrage von string
-WertenDem Abfrageoperator kann wahlweise einer der folgenden Selektionsoperatoren vorangestellt werden:
+
zur Abfrage des Maximums aller gefundenen Werte -
zur Abfrage des Minimums aller gefundenen Werte Standardmäßig, d.h. bei Auslassung des Selektionsoperators wird der
+
-Operator verwendet. Der über die Abfrage gefundene Werteintrag wird im Funktionsparameter für das Abfrageergebnis zurückgegeben. Hierbei ist sicherzustellen, dass der Datentyp des Parameters für das Abfrageergebnis mit dem Abfragedatentyp übereinstimmt (int
für?d
,double
für?f
,string
für?s
). Neben dem Abfrageoperator können folgende Platzhalter für Wertvorgaben im Abfragekommando spezifiziert werden:
%d
zur Angabe von int
-Werten%f
zur Angabe von double
-Werten%s
zur Angabe von string
-WertenFür jeden im Abfragekommando spezifizierten Platzhalter für Wertvorgaben ist ein optionaler Abfrageparameter an die Funktion lay_rulequery zu übergeben. Die Reihenfolge dieser optionalen Parameter sowie deren Datentypen müssen mit den Spezifikationen im Abfragekommando übereinstimmen. Nach erfolgreicher Abarbeitung der Regelabfrage wird im Rückgabewert die (nicht-negative) Anzahl der gefundenen Einträge an den Aufrufer zurückgegeben. Der Rückgabewert ergibt sich zu (-1), wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion lay_ruleerr ermittelt werden.
Sofern die Regelrule somerule { subject subj { pred := ("A", 2); pred := ("A", 4); pred := ("B", 1); pred := ("C", 3); pred := ("B", 6); pred := ("D", 5); pred := ("D", 6); pred := ("A", 3); } }definiert und dem aktuell geladenen Element zugewiesen ist, würde der lay_rulequery-Aufruf
hitcount = lay_rulequery(0,0,"subj","pred","%s ?d",intresult,"A") ;die
int
-Variablehitcount
auf 3 und dieint
-Variableintresult
auf 4 setzen, während der Aufrufhitcount = lay_rulequery(0,0,"subj","pred","-?s %d",strresult,6) ;die Variable
hitcount
auf 2 und diestring
-Variablestrresult
aufB
setzt.
Funktionen lay_getrulecnt, lay_getrulename, lay_ruleerr, lay_rulefigatt, lay_rulefigdet, lay_rulelaysatt, lay_rulelaysdet, lay_ruleplanatt, lay_ruleplandet; Neuronales Regelsystem und Rule System Compiler.
int lay_scanall( // Scan Status double; // X-Offset (STD2) double; // Y-Offset (STD2) double; // Drehwinkel (STD3) int [0,1]; // Element in Arbeitsbereich Flag (STD10) int [0,1]; // Connectivity Scan Flag: // 0 = kein Scan // 1 = Scan erlaubt * int; // Makrofunktion * int; // Polygonfunktion * int; // Leiterbahnfunktion * int; // Textfunktion * int; // Bohrungsfunktion * int; // Lagencheckfunktion * int; // Levelcheckfunktion );
Die Funktion lay_scanall scannt alle auf dem aktuell geladenen Element platzierten Elemente über alle Hierarchiestufen. Dabei werden für alle gefundenen Elemente die referenzierten Anwenderfunktionen aufgerufen. Soll ein Funktionstyp nicht aufgerufen werden, so ist für den entsprechenden Parameter
NULL
anzugeben. Der Rückgabewert der Funktion lay_scanall ist ungleich Null, wenn ungültige Parameter angegeben wurden, oder wenn eine der referenzierten Anwenderfunktionen einen Fehler an die Funktion lay_scanall zurückgemeldet hat.Makrofunktion
int macrofuncname( index L_MACRO macro, // Makro Index index L_POOL pool, // Pool Element Index int macinws, // Makro in Arbeitsbereich Flag (STD10) string refname, // Makro Referenzname index L_LEVEL level // Makro Level ) { // Verarbeitungsprogramm : return(contscan); }Die Makroplatzierungsdaten können mit der Funktion lay_maccoords abgefragt werden. Der Rückgabewert dieser Funktion sollte gleich Null sein, wenn der Scan für dieses Makro nicht weitergeführt werden soll, (-1) wenn ein Fehler aufgetreten ist und 1 wenn weitergescannt werden soll.
Polygonfunktion
int polyfuncname( index L_POLY poly, // Polygondaten int layer, // Lage (LAY1) int polyinws, // Polygon in Arbeitsbereich Flag (STD10) int tree, // Netznummer oder (-1) index L_LEVEL level // Polygon Level ) { // Verarbeitungsprogramm : return(errstat); }Der Rückgabewert dieser Funktion sollte ungleich Null sein, wenn ein Fehler aufgetreten ist.
Leiterbahnfunktion
int pathfuncname( index L_LINE path, // Leiterbahndaten int layer, // Lage (LAY1) int pathinws, // Bahn in Arbeitsbereich Flag (STD10) index L_LEVEL level // Bahn Level ) { // Verarbeitungsprogramm : return(errstat); }Der Rückgabewert dieser Funktion sollte ungleich Null sein, wenn ein Fehler aufgetreten ist.
Textfunktion
int textfuncname( index L_TEXT text, // Textdaten double x, // X-Koordinate (STD2) double y, // Y-Koordinate (STD2) double angle, // Drehwinkel (STD3) int mirr, // Spiegelung (STD14) int layer, // Lage (LAY1) double size, // Text Größe (STD2) string textst, // Textzeichenkette int textinws // Text in Arbeitsbereich Flag (STD10) ) { // Verarbeitungsprogramm : return(errstat); }Der Rückgabewert dieser Funktion sollte ungleich Null sein, wenn ein Fehler aufgetreten ist.
Bohrungsfunktion
int drillfuncname( index L_DRILL drill, // Bohrungsdaten double x, // Transformierte X-Koordinate (STD2) double y, // Transformierte Y-Koordinate (STD2) int drillinws, // Bohrung in Arbeitsbereich Flag (STD10) int tree, // Netznummer oder (-1) index L_LEVEL level // Bohrung Level ) { // Verarbeitungsprogramm : return(errstat); }Der Rückgabewert dieser Funktion sollte ungleich Null sein, wenn ein Fehler aufgetreten ist.
Lagencheckfunktion
int laycheckfuncname( int layer // Lage (LAY1) ) { // Verarbeitungsprogramm : return(contscan); }Der Rückgabewert dieser Funktion sollte gleich Null sein, wenn der Scan bei der übergebenen Lage nicht weitergeführt werden soll, (-1) wenn ein Fehler aufgetreten ist und 1 wenn weitergescannt werden soll. Bei Beschränkung auf die interessierenden Lagen durch diese Funktion wird der Scanvorgang erheblich beschleunigt.
Levelcheckfunktion
int levcheckfuncname( index L_LEVEL level // Level ) { // Verarbeitungsprogramm : return(contscan); }Der Rückgabewert dieser Funktion sollte gleich Null sein, wenn der Scan bei dem übergebenen Level nicht weitergeführt werden soll, (-1) wenn ein Fehler aufgetreten ist und 1 wenn weitergescannt werden soll. Bei Beschränkung auf die interessierenden Levels durch diese Funktion wird der Scanvorgang erheblich beschleunigt.
Funktionen lay_maccoords, lay_scanfelem, lay_scanpool.
int lay_scanfelem( // Scan Status index L_FIGURE; // Figurenelement double; // X-Offset (STD2) double; // Y-Offset (STD2) double; // Drehwinkel (STD3) int [0,1]; // Element in Arbeitsbereich Flag (STD10) int [0,1]; // Connectivity Scan Flag: // 0 = kein Scan // 1 = Scan erlaubt * int; // Makrofunktion * int; // Polygonfunktion * int; // Leiterbahnfunktion * int; // Textfunktion * int; // Bohrungsfunktion * int; // Lagencheckfunktion * int; // Levelcheckfunktion );
Die Funktion
lay_scanfelem scannt das angegebene Figurenelement über alle Hierarchiestufen. Dabei werden für alle gefundenen Elemente die referenzierten Anwenderfunktionen aufgerufen. Soll ein Funktionstyp nicht aufgerufen werden, so ist für den entsprechenden Parameter
NULL
anzugeben (Definition der referenzierten Anwenderfunktionen siehe
lay_scanall). Der Rückgabewert der Funktion
lay_scanfelem ist ungleich Null, wenn ungültige Parameter angegeben wurden, oder wenn eine der referenzierten Anwenderfunktionen einen Fehler an die Funktion
lay_scanfelem zurückgemeldet hat.
Funktionen lay_maccoords, lay_scanall, lay_scanpool.
int lay_scanpool( // Scan Status void; // Poolelement double; // X-Offset (STD2) double; // Y-Offset (STD2) double; // Drehwinkel (STD3) int [0,1]; // Element in Arbeitsbereich Flag (STD10) int [0,1]; // Connectivity Scan Flag: // 0 = kein Scan // 1 = Scan erlaubt * int; // Makrofunktion * int; // Polygonfunktion * int; // Leiterbahnfunktion * int; // Textfunktion * int; // Bohrungsfunktion * int; // Lagencheckfunktion * int; // Levelcheckfunktion );
Die Funktion
lay_scanpool scannt das angegebene Poolelement über alle Hierarchiestufen. Dabei werden für alle gefundenen Elemente die referenzierten Anwenderfunktionen aufgerufen. Soll ein Funktionstyp nicht aufgerufen werden, so ist für den entsprechenden Parameter
NULL
anzugeben (Definition der referenzierten Anwenderfunktionen siehe
lay_scanall). Der Rückgabewert der Funktion
lay_scanpool ist ungleich Null, wenn ungültige Parameter angegeben wurden, oder wenn eine der referenzierten Anwenderfunktionen einen Fehler an die Funktion
lay_scanpool zurückgemeldet hat.
Funktionen lay_maccoords, lay_scanall, lay_scanfelem.
void lay_setfigcache( );
Die Funktion lay_setfigcache baut den Layout-Cache für schnelle Figurenlistenelementzugriffe auf.
int lay_setplanchkparam( // Status
double ]0.0,[; // Abstand Bahn zu Bahn (STD2)
double ]0.0,[; // Abstand Bahn zu Kupfer (STD2)
double ]0.0,[; // Abstand Kupfer zu Kupfer (STD2)
double; // Standard-Leiterbahnbreite (STD2)
string; // Blockname
int [-6,99]; // Signallagencode (LAY1)
// (Lage!=(-1) nur in BAE HighEnd zulässig)
int [0,0[; // DRC-Blocknummer
);
Die Funktion lay_setplanchkparam setzt Abstandsparameter für den Design Rule Check (DRC) im Layouteditor. Der Rückgabewert ist ungleich Null, wenn ungültige Abstände spezifiziert wurden. In BAE Professional, BAE Economy und BAE Light können nur die globalen Parameter für den Lagencode -1 (Alle Lagen) und den DRC-Block 0 gesetzt werden. In BAE HighEnd können darüber hinaus auch Parameterblöcke zur Zuweisung lagenspezifischer Mindestabstände für beliebige Signallagen (Lagencodes 0 bis 99), die oberste Lage (Lagencode -5) sowie die Innenlagen (Lagencode -6) spezifiziert werden. Der Parameterblock 0 ist immer vorhanden und enthält die global definierten DRC-Parameter. Ebenso ist auch immer für den Lagencode -1 (Alle Lagen) eine Vorgabe vorhanden.
Funktion lay_getplanchkparam.
string lay_toplayname( // Lagenname );
Der Rückgabewert der Funktion lay_toplayname entspricht dem in der Setupdatei eingestellten Namen für die oberste Lage.
int lay_vecttext( // Status double; // X-Koordinate (STD2) double; // Y-Koordinate (STD2) double; // Drehwinkel (STD3) int [0,1]; // Spiegelung (STD14) double ]0.0,[; // Text Größe (STD2) int [0,1]; // Physical Flag: // 0 = Logical // 1 = Physical int [0,2]; // Lagenspiegelung: // 0 = Spiegelung aus // 1 = X-Spiegelung // 2 = Y-Spiegelung int [0,[; // Text Stil (LAY14) string; // Text Zeichenkette * int; // Vektorisierungsfunktion );
Die Funktion lay_vecttext vektorisiert den übergebenen Text unter Verwendung des aktuell geladenen Zeichensatzes. Dazu wird für jedes Textsegment die übergebene Vektorisierungsfunktion aufgerufen. Der Rückgabewert dieser Funktion ist ungleich Null, wenn ungültige Parameter angegeben wurden oder die vom Benutzer definierte Vektorisierungsfunktion einen Wert ungleich Null zurückgegeben hat.Vektorisierungsfunktion
int vecfuncname( double x1, // X-Koordinate erster Punkt (STD2) double y1, // Y-Koordinate erster Punkt (STD2) double x2, // X-Koordinate zweiter Punkt (STD2) double y2 // Y-Koordinate zweiter Punkt (STD2) ) { // Verarbeitungsprogramm : return(errstat); }Der Rückgabewert dieser Funktion sollte ungleich Null sein, wenn ein Fehler aufgetreten ist.
Die nachfolgend aufgelisteten Systemfunktionen sind dem Aufruftyp GED zugeordnet, d.h. diese Funktionen können im Layouteditor aufgerufen werden:
int ged_asklayer( // Status & int; // Lagenrückgabe (LAY1|LAY9) int [0,7]; // Lagenabfragetyp: // 0 = Dokumentarlagen und Signallagen // 1 = Signallagen // 2 = Signallagen // (inklusive und ) // 3 = Dokumentarlagen // 4 = Signallagen und Versorgungslagen // 5 = beliebige Anzeigeelementtypen // 6 = Versorgungslagen // 7 = Dokumentar-, Signal- und Versorgungslagen );
Die Funktion ged_asklayer aktiviert im Layouteditor ein Lagenauswahlmenü. Der Lagenabfragetyp gibt an, welche Lagen bzw. Anzeigelementtypen zur Auswahl angeboten werden. Der Rückgabewert ist Null bei erfolgter Lagenwahl oder (-1) bei Wahl des Menüpunktes Abbruch.
int ged_askrefname( // Status & string; // Rückgabe Referenzname & index L_CPART; // Rückgabe Netzlisten-Bauteilindex (nur auf Layoutebene) int [0,2]; // Bauteilauswahlmodus: // 0 = Alle Bauteile // 1 = in aktueller Gruppe enthaltene Bauteile // 2 = nicht in aktueller Gruppe enthaltene Bauteile int [0,1]; // Flag - Auswahl nicht platzierter Bauteile );
Die Funktion ged_askrefname aktiviert einen Dialog zur Referenzauswahl, d.h. zur Auswahl von Bauteilen auf Layoutebene bzw. zur Auswahl von Pins auf Bauteilebene. Über den Bauteilauswahlmodus und das Flag zur Selektion nicht platzierter Bauteile kann die zur Auswahl angebotene Bauteil- bzw. Pinliste eingeschränkt werden. Der Funktionsrückgabewert ist Null bei erfolgreicher Referenzauswahl oder ungleich Null wenn keine Referenzauswahl durchgeführt wurde.
int ged_asktreeidx( // Status & string; // Rückgabe Netzname (nur auf Layoutebene) & index L_CNET; // Rückgabe Netzindex (nur auf Layoutebene) int [0,5]; // Netzauswahlmodus: // 0 = Alle Netze, inklusive Schaltfläche // 1 = Sichtbare Netze // 2 = Unsichtbare Netze // 3 = Alle Netze // 4 = Direktsprung zu Netzpick // 5 = Alle Bäume, Namensmustereingabe zulässig );
Die Funktion ged_asktreeidx aktiviert einen Dialog zur Netzauswahl. Über den Netzauswahlmodus kann die zur Auswahl angebotene Liste der Netze eingeschränkt werden. Der Funktionsrückgabewert ist Null bei erfolgreicher Netzauswahl, 1 wenn die Löschung eines Netzes (und damit keine Netzzuweisung) vorgenommen wurde, 2 wenn ein Netznamensmuster spezifiziert wurde, 3 bei Netznamensselektion per Netzklick oder ungleich Null bei ungültigen Parametern bzw. Abbruch des Auswahldialogs.
int ged_attachtextpos( // Status index L_FIGURE; // Layoutelement string; // Text int; // Textlage (LAY1|LAY9) double; // Text-X-Koordinate (STD2) double; // Text-Y-Koordinate (STD2) double; // Textdrehwinkel (STD3) double; // Textgröße (STD2; negativ für Textbasislinie) int [0,1]; // Textspiegelungsmodus (STD14) );
Die Funktion ged_attachtextpos weist die Parameter für Lage, Position, Drehwinkel, Größe und Spiegelung an den angegebenen Text des spezifierten Layoutelements zu. Der Funktionsrückgabewert ist Null bei erfolgreicher Zuweisung, (-1) bei ungültigen Parametern oder (-2) wenn das Layoutelement keine Definition für den angegebenen Text enthält.
Funktion ged_storetext.
int ged_delelem( // Status & index L_FIGURE; // Element );
Die Funktion ged_delelem löscht das übergebene Element aus der Elementliste. Der Rückgabewert ist Null bei erfolgter Löschung und (-1), wenn das übergebene Element ungültig ist. Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
Funktion ged_drawelem.
void ged_drawelem( index L_FIGURE; // Element int [0, 4]; // Zeichenmodus (STD19) );
Die Funktion ged_drawelem aktualisiert die Anzeige des angegebenen Elements unter Verwendung des spezifizierten Zeichenmodus.
Funktion ged_delelem.
int ged_drcerrorhide( // Status string; // Fehler-Id-String int; // Flag - Fehler ausblenden );
Die Funktion ged_drcerrorhide setzt den Anzeigemodus für den über die Fehler-Id spezifizierten DRC-Fehler. Der Funktionsrückgabewert ist Null, wenn der Anzeigemodus erfolgreich gesetzt wurde, oder ungleich Null im Fehlerfall.
int ged_drcpath( // Status int [0,99]; // Leiterbahnlage (LAY1) double ]0.0,[; // Leiterbahnbreite (STD2) index L_LEVEL; // Leiterbahn-Signalnetznummer/-Level int [0,3]; // Leiterbahn-Connectivity-Prüfmodus: // 0 = Uneingeschränkte Connectivity-Prüfung // 1 = Abstandsprüfung gegen // Leiterbahnsignalnetzbaum unterdrücken // 2 = Abstandsverletzungen zu allen // Verbindungsbäumen anzeigen // 3 = Abstandsverletzungen zu allen // Verbindungsbäumen neben Pickelement anzeigen );
Die Funktion ged_drcpath führt eine Designregelprüfung für eine Leiterbahngenerierung mit den angegebenen Parametern durch, ohne die Leiterbahn tatsächlich zu erzeugen. Die Koordinaten für die Leiterbahngenerierung werden aus der mit bae_storepoint aktuell erzeugten internen Polygonpunktliste entnommen. Der Funktionsrückgabewert ist Null, wenn die Leiterbahn ohne Designregelverletzung platziert werden kann, einen Wert grössr gleich (1) wenn die Leiterbahnplatzierung eine Designregelverletzung verursachen würde, oder (-1) bei fehlenden oder falschen Parametern bzw. bei unültiger Interpreterumgebung.
Funktionen bae_storepoint, ged_storepoint.
int ged_drcpoly( // Status int; // Polygonlage (LAY1) int [1,9]; // Polygontyp (LAY4) string; // Polygonnetzname (für LAY4 types 4, 6 and 9) index L_LEVEL; // Polygon-Signalnetznummer/-Level int [0,3]; // Polygon-Connectivity-Prüfmodus: // 0 = Uneingeschränkte Connectivity-Prüfung // 1 = Abstandsprüfung gegen // Polygonsignalnetzbaum unterdrücken // 2 = Abstandsverletzungen zu allen // Verbindungsbäumen anzeigen // 3 = Abstandsverletzungen zu allen // Verbindungsbäumen neben Pickelement anzeigen );
Die Funktion ged_drcpoly führt eine Designregelprüfung für eine Flächengenerierung mit den angegebenen Parametern durch, ohne die Fläche tatsächlich zu erzeugen. Die Koordinaten für die Polygongenerierung werden aus der mit bae_storepoint aktuell erzeugten internen Polygonpunktliste entnommen. Der Funktionsrückgabewert ist Null, wenn das Polygon ohne Designregelverletzung platziert werden kann, einen Wert grösser gleich (1) wenn die Polygonplatzierung eine Designregelverletzung verursachen würde, oder (-1) bei fehlenden oder falschen Parametern bzw. bei unültiger Interpreterumgebung.
Funktionen bae_storepoint, ged_storepoly.
int ged_drcvia( // Status string; // Via Padstack-Bibliothekselementname double; // Via-X-Koordinate (STD2) double; // Via-Y-Koordinate (STD2) index L_LEVEL; // Via-Signalnetznummer/-Level int [0,3]; // Via-Connectivity-Prüfmodus: // 0 = Uneingeschränkte Connectivity-Prüfung // 1 = Abstandsprüfung gegen // Viasignalnetzbaum unterdrücken // 2 = Abstandsverletzungen zu allen // Verbindungsbäumen anzeigen // 3 = Abstandsverletzungen zu allen // Verbindungsbäumen neben Pickelement anzeigen );
Die Funktion ged_drcvia führt eine Designregelprüfung für die Viaplatzierung mit den angegebenen Parametern durch, ohne das Via tatsächlich zu platzieren. Der Rückgabewert ist Null, wenn das Via ohne Designregelverletzung platziert werden kann, einen Wert grösser gleich (1) wenn die Viaplatzierung eine Designregelverletzung verursachen würde, (-1) bei fehlenden oder falschen Parametern bzw. bei unültiger Interpreterumgebung, oder (-2) wenn das angeforderte Padstacksymbol nicht verfügbar ist.
Funktion ged_storeuref.
int ged_elemangchg( // Status & index L_FIGURE; // Element double; // Neuer Winkel (STD3) );
Die Funktion ged_elemangchg ändert den Drehwinkel des übergebenen Elements. Der Drehwinkel wird ausgehend vom Nullwinkel eingestellt, d.h. der vorhergehende Drehwinkel des Elements hat keinen Einfluss auf das Ergebnis. Die Winkelangabe wird als Bogenmaßwert interpretiert. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig oder (-2) wenn es nicht drehbar ist. Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int ged_elemfixchg( // Status & index L_FIGURE; // Element int [0,1]; // Neues fixiert Flag (STD11) );
Die Funktion ged_elemfixchg ändert den Fixiert-Modus des übergebenen Elements. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig oder (-2) wenn es nicht fixierbar ist. Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int ged_elemgrpchg( // Status
index L_FIGURE; // Element
int [0,6]; // Neue Gruppenzugehörigkeit (STD13|0x4)
);
Die Funktion ged_elemgrpchg ändert die Gruppenzugehörigkeit des übergebenen Elements. Durch Setzen des Bits mit der Wertigkeit 3 (0x4) im Gruppenstatusparameter kann ein Meldungszeilenreport über das selektierte/deselektierte Element und die Gesamtzahl der in der Gruppe befindlichen Elemente aktiviert werden. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig ist oder (-2) wenn es sich nicht um ein gruppenselektierbares Element handelt. Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
int ged_elemlaychg( // Status & index L_FIGURE; // Element int; // Neue Lage (LAY1) );
Die Funktion ged_elemlaychg ändert die Lagenzugehörigkeit des übergebenen Elements. Bei Bohrungen gibt die Lage die Bohrungsklasse an. Die Lage kann für Flächen, Leiterbahnen, Bohrungen, Texte und Pads auf Padstackebene geändert werden. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig oder (-2) wenn die Lage nicht änderbar ist. Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int ged_elemmirrchg( // Status & index L_FIGURE; // Element int [0,18]; // Neuer Spiegelungsmodus (STD14|LAY3) );
Die Funktion ged_elemmirrchg ändert den Spiegelungsmodus des übergebenen Elements. Der Spiegelungsmodus kann bei Flächen, Texten und Referenzen geändert werden. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig ist oder (-2) wenn es keinen Spiegelungsmodus besitzt. Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int ged_elemposchg( // Status & index L_FIGURE; // Element double; // X-Position (STD2) double; // Y-Position (STD2) );
Die Funktion ged_elemposchg ändert die Position des übergebenen Elements. Bei Flächen/Leiterbahnen wird die Fläche/Leiterbahn so verschoben, dass der erste Punkt der Fläche/Leiterbahn auf der angegebenen Position zu liegen kommt. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig oder (-2) wenn es nicht positionierbar ist. Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int ged_elemsizechg( // Status & index L_FIGURE; // Element double; // Neue Größe (STD2) );
Die Funktion ged_elemsizechg ändert die Größe des übergebenen Elements. Eine Größenänderung ist bei Texten, Bohrungen, Leiterbahnen und Flächen möglich. Bei Leiterbahnen wird mit der Größe die Leiterbahnbreite spezifiziert. Bei Flächen wird mit der Größe die Expansionsdistanz definiert. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig oder (-2) wenn es nicht größenveränderbar ist. Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int ged_getautocornins( // Rückgabe Modus: // 0 = Automatische Eckpunktgenerierung deaktiviert // 1 = Automatische Eckpunktgenerierung für Leiterbahnen // 2 = Automatische Eckpunktgenerierung für Polygone // 3 = Automatische Eckpunktgenerierung für Leiterbahnen und Polygone );
Der Rückgabewert der Funktion ged_getautocornins entspricht dem im Layouteditor aktuell eingestellten Modus für das automatische Einfügen von Ecken bei der Generierung von Leiterbahnen und Polygonen. Der Eckpunktgenerierungsmodus wird im Layouteditor über eine der Optionen bzw. der Funktion selektiert.
int ged_getdblpar( // Status int [0,[; // Parametertyp/-nummer: // 0 = X-Koordinate letzte Gruppenplatzierung (STD2) // 1 = Y-Koordinate letzte Gruppenplatzierung (STD2) // 2 = Standardbauteilplatzierungswinkel (STD3) // 3 = Flächenautomatik Isolationsabstand (STD2) // 4 = Flächenautomatik Min. Strukturgröße (STD2) // 5 = Flächenautomatik Wärmefallenbreite (STD2) // 6 = Flächenautomatik Wärmefallenisolation (STD2) // 7 = Flächenautomatik Schraffurlinienabstand (STD2) // 8 = Flächenautomatik Schraffurlinienbreite (STD2) // 9 = Flächenautomatik Schraffurlinienwinkel (STD3) // 10 = Netzsichtbarkeitsdialog Netznamenskontollelementbreite // 11 = Standardtextgröße (STD2) // 12 = DRC-Abstandshaltung Textgröszlig;e (STD2) // 13 = Autoplacement Bauteilexpansion (STD2) // 14 = Autoplacement Bauteilpinfaktor [0, 1.0] // 15 = Autoplacement Segmentpassung [0, 1.0] // 16 = Autoplacement Bauteilkonturoffset (STD2) // 17 = Standardtextplatzierungswinkel (STD3) // 18 = Autorouter Umrandungsabstand (STD2) // 19 = Autorouter Abstand Wärmefalle zu Bohrung (STD2) // 20 = Autorouter Abstand Isolation zu Bohrung (STD2) // 21 = Autorouter Maximale Versorgungslänge (STD2) // 22 = Autorouter Angefordertes Spezial Routing-Raster (STD2) // 23 = Autorouter Split Power Plane Abstandshaltung (STD2) // 24 = Autorouter BGA-Rastertoleranz (STD2) // 25 = Autorouter Maximale SMD-Fanoutlänge (STD2) // 26 = Autorouter Pin-Via-Mindestabstand (STD2) // 27 = CAM Gerber Standardlinienbreite (STD2) // 28 = CAM Minimaler Abstand Wärmefalle zu Bohrung (STD2) // 29 = CAM Minimaler Abstand Isolation zu Bohrung (STD2) // 30 = CAM Toleranz Abstand Wärmefalle zu Bohrung (STD2) // 31 = CAM Toleranz Abstand Isolation zu Bohrung (STD2) // 32 = CAM Breite Versorgungslagenumrandung (STD2) // 33 = CAM Versorgungslagen-Isolationsabstand (STD2) // 34 = Busbahnbreite (STD2) // 35 = Busbahnabstand (STD2) & double; // Rückgabe Parameterwert );
Die Funktion
ged_getdblpar dient der Abfrage von mit
ged_setdblpar im
Layouteditor gesetzten Parametern vom Typ
double
. Der Funktionsrückgabewert ist Null bei erfolgreicher Abfrage oder (-1) im Fehlerfall.
Funktionen ged_getintpar, ged_getstrpar, ged_setdblpar, ged_setintpar, ged_setstrpar.
int ged_getdrcmarkmode( // DRC-Fehleranzeigemodus );
Die Funktion ged_getdrcmarkmode dient der Abfrage des im Layouteditor aktuell aktiven DRC-Fehleranzeigemodus. Der Funktionsrückgabewert ist Null, wenn die selektierte Farbe für Fehler zur Fehlermarkeranzeige verwendet wird. Bei Verwendung der Highlightfarbe zur Fehlermarkeranzeige wird der Wert 1 zurückgegeben.
Funktion ged_setdrcmarkmode.
int ged_getdrcstatus( // DRC-Status );
Mit der Funktion ged_getdrcstatus kann der Vollständigkeitsstatus der Designregelprüfung im Layouteditor abgefragt werden. Der Funktionsrückgabewert ist Null, wenn lediglich die in der aktuellen Programmsitzung durchgeführten Designänderungen geprüft wurden. Wenn hingegen für das aktuell geladene Element eine vollständige Designregelprüfung durchgeführt wurde, und somit sämtliche Designregelverletzungen angezeigt werden, dann wird ein Wert ungleich Null zurückgegeben.
int ged_getgroupdata( // Status & double; // Gruppenbezugspunkt X-Koordinate (STD2) & double; // Gruppenbezugspunkt Y-Koordinate (STD2) & double; // Gruppendrehwinkel (STD3) & double; // Gruppenskalierungsfaktor & int; // Gruppenspiegelungsmodus & double; // Gruppenquadrant X-Koordinate (STD2) & double; // Gruppenquadrant Y-Koordinate (STD2) & int; // Gruppenquadrantmodus & int; // Gruppenbereichsmodus );
Die Funktion ged_getgroupdata ermöglicht die Abfrage der aktuellen Eingabedaten während interaktiver Gruppenplatzierungen im Layouteditor. Der Funktionsrückgabewert ist ungleich Null wenn gerade keine Gruppenplatzierungsinteraktion aktiviert ist.
Funktion ged_getinputdata.
int ged_gethighlnet( // Status
int [-1,[; // Netznummer oder -1 für Highlightfokusmodusabfrage
& int; // Highlightmodus
& int; // Highlightfarbe (Bit 1 bis 6, STD18) und Highlightmuster (Bit 7 bis 12)
);
Mit der Funktion ged_gethighlnet kann der Highlightmodus sowie die Highlightfarbe und das Highlightmuster für das Netz mit der angegebenen Netznummer abgefragt werden. Bei aktiviertem Netzhighlight wird im Parameter für den Highlightmodus ein Wert ungleich Null zurückgegegen, bei deaktiviertem Netzhighlight ergibt sich der Highlightmodusparameter zu Null. Im zweiten Parameter wird der Farbcode (Bit 1 bis 6) und das Muster (Bit 7 bis 12) für die Highlightanzeige zurückgegeben. Der Funktionsrückgabewert ergibt sich zu einem Wert ungleich Null, wenn die Abfrage erfolgreich war, andernfalls (Netz nicht gefunden, ungültige Parameter) wird der Wert Null zurückgegeben.
Funktion ged_highlnet.
int ged_getinputdata( // Status & double; // Ursprüngliche X-Koordinate (STD2) & double; // Ursprüngliche Y-Koordinate (STD2) & double; // Ursprüngliche Breite (STD2) & int; // Ursprüngliche Lage (LAY1) & double; // Aktuelle X-Koordinate (STD2) & double; // Aktuelle Y-Koordinate (STD2) & double; // Aktuelle Breite (STD2) & int; // Aktuelle Lage (LAY1) & void; // Eingabemodus/Element (LAY11) & void; // Leiterbahn Netzindex (optional) & double; // Erstes Segment Start-X-Koordinate (STD2) */ & double; // Erstes Segment Start-Y-Koordinate (STD2) */ & double; // Erster Kreismittelpunkt X-Koordinate (STD2) */ & double; // Erster Kreismittelpunkt Y-Koordinate (STD2) */ & int; // Erster Kreismittelpunkt Typ (STD15) */ & double; // Letztes Segment Start-X-Koordinate (STD2) */ & double; // Letztes Segment Start-Y-Koordinate (STD2) */ & double; // Letzter Kreismittelpunkt X-Koordinate (STD2) */ & double; // Letzter Kreismittelpunkt Y-Koordinate (STD2) */ & int; // Letzter Kreismittelpunkt Typ (STD15) */ );
Die Funktion ged_getinputdata ermöglicht die Abfrage der aktuellen Eingabedaten während interaktiver Platzierungen im Layouteditor. Die Interpretation der Platzierungsdaten ist entsprechend dem zurückgelieferten Funktionsparameter für den Eingabemodus bzw. das Platzierungselement vorzunehmen. Der Funktionsrückgabewert ist ungleich Null wenn gerade keine Platzierungsinteraktion aktiviert ist.
Funktion ged_getgroupdata.
int ged_getintpar( // Status int [0,[; // Parametertyp/-nummer: // 0 = Pickpunktanzeigemodus: // 0 = keine Pickpunktanzeige // 1 = Pickpunktanzeige // 2 = Pickpunktübersichtsanzeige // 3 = Pickpunkteditieranzeige // 1 = automatischer DRC beim Laden: // 0 = kein automatischer DRC // 1 = automatischer DRC nach Abfrage // 2 = automatischer DRC ohne Abfrage // 2 = Farbcode für Oberste Lage // 3 = Infoanzeigeflag: // 0 = keine automatische Infoanzeige // 1 = automatische Infoanzeige // 4 = Infoanzeigemodus: // 0 = keine Infoanzeige // 1 = komplette Infoanzeige // 2 = nur Kupferinfoanzeige // 5 = Winkeleditierrichtung // 6 = Bauteilmakro-DRC: // 0 = kompletter DRC // 1 = Bauteilmakros als geprüft betrachten // 7 = Rastereckenabfragemodus: // 0 = keine Rastereckenabfrage // 1 = komplette Rastereckanabfrage // 2 = Rastereckenabfrage im aktuellen Fenster // 3 = Rastereckenabfrage im dynamisch aktualisierten Fenster // 8 = Minconaktualisierungsmodus // 9 = DRC Polygontyp-Abschaltungsbits // 10 = Warnmeldemodus: // Bit 0: SCM-Änderungs-Warnungen unterdrückt // Bit 1: Warnungen Gruppenselektion Füllflächenproblempolygone unterdrückt // Bit 2: Variantenvergleichswarnungen unterdrückt // Bit 3: Warnungen über Beendingung des Autoroutermodus unterdrückt // 11 = Lagenbenutzung Scanmodus // 12 = Flächenpolygoneditiermodus: // 0 = keine geschlossenen Linienzüge // 1 = immer geschlossene Linienzüge // 2 = Abfrage zum Schließen von Linienzügen // 13 = DRC-Abstandsanzeigemuster // 14 = Leiterbahneditiermodus: // 0 = Eingaberasterfang // 1 = Pin-/Segmentfang bei erster Leiterbahnecke // 15 = Flächenspiegelsicht: // 0 = Standardflächenspiegelsicht // 1 = Flächenspiegelsicht deaktiviert // 16 = Bestätigungsabfragelimit für Netz löschen // 17 = Plotvorschaumodus: // 0 = keine Plotvorschau // 1 = Plotterstiftbreite // 18 = DRC-Distanzanzeigemodus: // 0 = keine DRC-Distanzanzeige // 1 = Leiterbahndistanzlinien // 2 = Flächendistanzlinien // 3 = Leiterbahndistanzmuster // 4 = Flächendistanzmuster // 19 = Textlagenspiegelungsmodus: // 0 = keine Textlagenspiegelung // 1 = Dokumentarlagenspiegelung // 2 = Signal- und Dokumentarlagenspiegelung // 20 = Standardbauteilspiegelungsmodus // 21 = Autosave Intervall // 22 = Bauteilluftlinienanzeigemodus: // 0 = Keine Luftlinienanzeige // 1 = Statische Luftlinienanzeige // 2 = Dynamische Luftlinienanzeige // 23 = Winkelfreigabeumschaltmodus: // 0 = Umschaltung Pickseite standard // 1 = Umschaltung Raster // 2 = Umschaltung kürzere Seite // 3 = Umschaltung Editierrichtung // 24 = Copper fill heat trap mode // 3 = Via-Wärmefallen // |4 = Flag - keine benachbarten Pins // |8 = Flag - Wärmefallenleiterbahnen // |16 = Flag - nur unverbundene Lagen // 25 = Flächenautomatik Leiterbahnmodus // 0 = Runde Ecken // 1 = Oktagonale Exken // 2 = Oktagonale Kreise // 3 = Oktagonale Ecken & Kreise // 26 = Flächenautomatik Inselerkennung: // 0 = Inseln beibehalten // 1 = Inseln löschen // 2 = Inseln selektieren // 27 = Flächenautomatik Innenflächenmodus: // 0 = Innenfüllflächen füllen // 1 = Innenfüllflächen ausparen // |2 = Ausparflächen mit Abstand // 28 = Flächenautomatik Wärmefallenverbingsanzahl // 29 = Flächenautomatik Spitzwinkelmodus: // 0 = Spitze Winkel flach // 1 = Spitze Winkel rund // 30 = Flächenautomatik Schraffurmodus: // 0 = Linienschraffur // 1 = Gitterschraffur // |2 = Editierbare Pfade erzeugen // 31 = Netzsichtbarkeitsdialogmodus: // 0 = Einzelspalte für Netznamenslistenanzeige // 1 = Mehrspaltige Netznamenslistenanzeige // 32 = Gruppenbewegtdarstellung: // 0 = Bewegtbild aus // 1 = Nur Baugruppenlage // 2 = Bewegtbild ein // 3 = Bewegtbild alles // 33 = Leiterbahngruppenselektionsmodus: // 0 = Leiterbahn- & Viaselektion // 1 = Leiterbahnselektion // 2 = Viaselektion // 34 = Vorzugslagenauswahl (LAY1) // 35 = Zwischenablagetext-Platzierungsanforderung // 36 = Editierrichtung // 37 = Mincon-Flächenmodus (Bitmuster): // 0 = Kein Flächen-Mincon // |1 = Kupferflächen-Mincon // |2 = Potentialflächen-Mincon // 38 = Gruppenwinkelfreigabemodus: // 0 = Gruppenwinkel einhalten // 1 = Gruppenwinkel automatisch freigeben // 39 = Autoplacement Optimierungszahl // 40 = Autoplacement Bauteiltausch // 41 = Autoplacement Pin-/Gattertausch // 42 = Autoplacement Spiegelungsmodus: // 0 = Kein SMD-Spiegeln // 1 = SMD-Spiegeln // 2 = 2 Pin-SMD-Spiegeln // 3 = Immer SMD-Spiegeln // 43 = Autoplacement Rotationsmodus: // 0 = 0-90 Grad Drehung // 1 = 0-270 Grad Drehung // 2 = 0 Grad Drehung // 3 = 90 Grad Drehung // 4 = 0 XOR 90 Grad Drehung // 44 = Autoplacement Retrydurchgänge // 45 = Autoplacement SMD-Rotationsmodus: // 0 = 0-90 Grad Drehung // 1 = 0-270 Grad Drehung // 2 = 0 Grad Drehung // 3 = 90 Grad Drehung // 4 = 0 XOR 90 Grad Drehung // 46 = Autoplacement Bauteilkonturlage (LAY1) // 47 = Gruppenbearbeitung Elementfang: // 0 = Alle Elemente selektieren // 1 = Nur sichtbare Elemente selektieren // 48 = Standardtextspiegelung und Standardtextmodus (STD14|LAY14) // 49 = Autorouter Anzahl Optimierungen // 50 = Autorouter Optimierer Richtungsmodus // 51 = Autorouter Max. Via-Zahl // 52 = Autorouter Via-Kosten // 53 = Autorouter Pinkanal-Kosten // 54 = Autorouter Anti-Vorzugs-Richtungs-Kosten // 55 = Autorouter Richtungsänderungs-Kosten // 56 = Autorouter Packungs-Kosten // 57 = Autorouter Dynamische-Dichtestatistik-Basis // 58 = Autorouter Max. Bäume pro Rip-Up // 59 = Autorouter Max. Rip-Up Tiefe // 60 = Autorouter Max. Rip-Up Wiederholungen // 61 = Autorouter Via-Raster Index // 62 = Autorouter Bus-Abknickkosten // 63 = Autorouter Abstand-1-Kosten // 64 = Autorouter Abstand-2-Kosten // 65 = Autorouter Rip-Up-Kosten // 66 = Autorouter Router Cleanup // 67 = Autorouter Optimierer Cleanup // 68 = Autorouter Versorgungsanschluss Vektorunroutes // 69 = Autorouter Zwischenspeichern // 70 = Autorouter Verbindungseckenausgabemodus // 71 = Autorouter Unroutesausgabesortiermodus // 72 = Autorouter Ecken Spitzwinkel Modus // 73 = Autorouter Richtungsmodus existierende Bahnen // 74 = Autorouter Standardverbindungs-Lagen-Kosten // 75 = Autorouter Busverbindungs-Lagen-Kosten // 76 = Autorouter Offset Wellenausbreitung Limit // 77 = Autorouter Via Raster Modus // 78 = Autorouter Eingabedaten Fehlerprüfmodus // 79 = Autorouter Pin Anschluss Modus // 80 = Autorouter Halbraster-Modus // 81 = Autorouter Off-Grid-Routing-Kosten // 82 = Autorouter Buserkennung/Busrouting Modus // 83 = Autorouter SMD Via-Vorlegen // 84 = Autorouter Router Pin/Gate-Swap // 85 = Autorouter Gridless Routing Modus // 86 = Autorouter Inkrementaler Ausgabemodus // 87 = Autorouter Vorzugsraster // 88 = Autorouter Anti-Vorzugsraster-Kosten // 89 = Autorouter Anti-Netzbereichs-Kosten // 90 = Autorouter Letzter Optimiererparameter Wechselmodus // 91 = Autorouter Auto-Rip-Up Parameter Modus // 92 = Autorouter Vorzugsrichtungsmodus // 93 = Autorouter Optimierer Reihenfolge Modus // 94 = Autorouter Via Rip-Up Flag // 95 = Autorouter Routingfenster Randausdehnung // 96 = Autorouter BGA Fan out // 97 = Autorouter Pinentry Korrektur // 98 = Autorouter Alternativer Viaversatz Modus // 99 = Autorouter Voll-Viaauswertemodus // 100 = Autorouter Micro Via Modus // 101 = Autorouter Richtungsvorgabe Maximalabweichung // 102 = Autorouter Routingfenster Flag // 103 = Autorouter Padentry Subgrid // 104 = Autorouter Versorgungslagen Vias // 105 = Autorouter Via Prüfmodus // 106 = Autorouter Verbindungsanzahl große Netze // 107 = Autorouter Autorouting aktiv Flag // 108 = CAM Wärmefallenbasiswinkel // 109 = Flag - Einzeleckenbearbeitung // 110 = Flag - Größenänderung mit Eckenabrundung // 111 = Flag - Anzeige ausgeblendeter DRC-Fehler // 112 = Flag - DRC-Verletzung Elementscan // 113 = Bauteilplatzierung - Bahnendenbewegungsmodus: // 0 = Keine Bahnendenbewegung // 1 = Bahnenden mitbewegen // 2 = Bahnsegmente mitbewegen // 114 = Flag - Polygonbearbeitung Autocomplete-Modus // 115 = Platinenumrandung alternative Dokumentarlage (LAY1) // 116 = Leiterbahnzusammenfassungsmodus: // 0 = Bahnen nicht zusammenfassen // 1 = Bahnen zusammenfassen // 2 = Bahnzusammenfassungsabfrage // 117 = Anzeigemodus Leiterbahnen (LAY15) // 118 = Anzeigemodus Texte (LAY15) // 119 = Anzeigemodus Kupferpolygone (LAY15) // 120 = Anzeigemodus Sperrflächen (LAY15) // 121 = Anzeigemodus Umrandungspolygon (LAY15) // 122 = Anzeigemodus Potentialflächen (LAY15) // 123 = Anzeigemodus Dokumentarlinien (LAY15) // 124 = Anzeigemodus Dokumentarflächen (LAY15) // 125 = Anzeigemodus Füllflächen mit Ausschnittspolygonen (LAY15) // 126 = Anzeigemodus Schraffurflächen (LAY15) // 127 = Anzeigemodus Geteilte Potentialflächen (LAY15) // 128 = Flag - Farbtabelle gesichert // 129 = Airlinefarbmodus: // 0 = Airlinefarbe benutzen // 1 = Lagenfarbe benutzen // 130 = Airlineclippingmodus: // 0 = Kein Airlineclipping // 1 = Airlines ohne Zielpunkt im Arbeitsbereich ausblenden // 131 = Bahnkollisionsmodus: // -1 = Operationsabfrage // 0 = Kollisionen ignorieren // 1 = Kollidierende Bahnen löschen // 2 = Kollidierende Segmente löschen // 3 = Kollidierende Segmente abschneiden // 132 = Abfragemodus für Layoutbahnverbindungen: // 0 = Layoutbahnen nie verbinden // 1 = Layoutbahnen immer verbinden // 2 = Verbindungsmodus abfragen // 133 = Abfragemodus für Bauteilbahnverbindungen: // 0 = Bauteilbahnen nie verbinden // 1 = Bauteilbahnen immer verbinden // 2 = Verbindungsmodus abfragen // 135 = Polygonanzeigemodus beim Bewegen von Elementen: // 0 = Umrandungsanzeige // 1 = Füllanzeige // 136 = Airlineanzeigemodus beim Bewegen von Gruppen: // 0 = Airlineanzeige aus // 1 = Airlines für Gruppenbauteilpins anzeigen // 137 = Abstandsprüfmodus für Bahnkollisionen: // 0 = DRC-Abstand für Kollisionscheck benutzen // 1 = Nur Kreuzungen als Kollisionen interpretieren // 138 = Pickmodus für Leiterbahnbündel: // 0 = Kontinuierlicher Segmentpick // 1 = Pick erstes und letztes Bündelsegment // 139 = Einfüge-Pickmodus für Leiterbahnsegmente: // 0 = 3-Klick Selektion // 1 = 2-Klick Selektion // 140 = Bauteil-DRC: // 0 = kein Bauteil-Online-DRC // 1 = Bauteil-Online-DRC // 141 = Flag - Optimierung Bohrwerkzeugtabelle // 142 = Busbahnanzahl // 143 = Busbahnanzahl editieren // 144 = Generierungsmodus Busbahnen: // 0 = Bahnbündel generieren // 1 = Separate Bahnen generieren // 145 = Busbahn-Eckenmodus: // 0 = Gewinkelte Ecken generieren // 1 = Abgerundete Ecken gnerieren // 146 = Siebdrucklage (LAY1) // 147 = Anzeigmodus Makroumrandungen: // 0 = Keine Makroumrandungsanzeige // 1 = Makroumrandungen für bewegte Referenzen anzeigen // 2 = Makroumrandungen anzeigen */ & int; // Rückgabe Parameterwert );
Die Funktion ged_getintpar dient der Abfrage von mit ged_setintpar im Layouteditor gesetzten Integerparametern. Der Funktionsrückgabewert ist Null bei erfolgreicher Abfrage oder (-1) im Fehlerfall.
Funktionen ged_getdblpar, ged_setintpar, ged_getstrpar, ged_setdblpar. ged_setstrpar.
int ged_getlaydefmode( // Defaultlagenmodus: // 0 = automatische Lagendefaultzuweisung deaktivieren // 1 = benutzte Eingabelage ist Lagendefault // 2 = zuletzt benutzte Lage ist Lagendefault );
Die Funktion ged_getlaydefmode gibt den aktuell im Layouteditor eingestellten Defaultlagenmodus zurück.
Funktionen ged_getlayerdefault, ged_setlaydefmode, ged_setlayerdefault.
int ged_getlayerdefault( // Lage (LAY1) );
Die Funktion ged_getlayerdefault gibt die aktuell im Layouteditor eingestellte Defaultlage zurück.
Funktionen ged_getlaydefmode, ged_setlaydefmode, ged_setlayerdefault.
int ged_getmincon( //
Funktionstyp (LAY10)
);
Der Rückgabewert der Funktion ged_getmincon entspricht dem im Layouteditor aktuell eingestellten Wert des -Modus für die Airlineanzeige (LAY10).
void ged_getpathwidth( & double; // Schmal Standardbreite (STD2) & double; // Breit Standardbreite (STD2) );
Die Funktion ged_getpathwidth gibt in den beiden Parametern die Werte der aktuell im Layouteditor eingestellten Standardbreiten für schmale und breite Leiterbahnen zurück.
int ged_getpickmode( // Elementpickmodus:
// 0 = Pick über Vorzugslage
// 1 = Pick mit Elementauswahl
// 2 = Pick exklusiv über Vorzugslage
);
Die Funktion ged_getpickmode dient der Abfrage des aktuell im Layouteditor ausgewählten Elementpickmodus.
Function ged_setpickmode.
int ged_getpickpreflay( // Vorzugslage (LAY1) );
Der Rückgabewert der Funktion ged_getpickpreflay entspricht der Vorzugslage (LAY1) für Elementwahl im Layouteditor.
int ged_getpowlayerrcnt( // Versorgungslagenfehleranzahl );
Die Funktion ged_getpowlayerrcnt gibt die Anzahl der im Layouteditor erkannten Versorgungslagenfehler zurück.
int ged_getsegmovmode( // Leiterbahnsegmentbewegungsmodus: // 0 = Mit Nachbarn bewegen // 1 = Ohne Nachbarn bewegen // 2 = Nachbarn anpassen // 3 = Nachbarn ohne Durchkontaktierungen anpassen // 8 = Nur unmittelbare Nachbarn anpassen // |4 = Offene Leiterbahnenden folgen Segmentbewegung );
Die Funktion ged_getsegmovmode dient der Abrage des aktuell im Layouteditor eingestellten Leiterbahnsegmentbewegungsmodus.
Funktion ged_setsegmovmode.
int ged_getstrpar( // Status int [0,[; // Parametertyp/-nummer: // 0 = Name zuletzt platziertes benanntes Element // 1 = Name zuletzt platziertes Bibliothekselement // 2 = Zuletzt platzierter Textstring // 3 = Standardbibliotheksname // 4 = Nächster freier Name // 5 = Bohrbauteil-/Bohrpinnamensbasis // 6 = Bohrbauteilmakronamensmuster // 7 = Bohrpinmakronamensmuster // 8 = Eingabeaufforderung Ersatzstring // 9 = Bibliothek zuletzt platziertes Makro // 10 = Autosave path name & string; // Rückgabe Parameterwert );
Die Funktion ged_getstrpar dient der Abfrage von im Layouteditor gesetzten Stringparametern. Der Funktionsrückgabewert ist Null bei erfolgreicher Abfrage oder (-1) im Fehlerfall.
Funktionen ged_getdblpar, ged_getintpar, ged_setdblpar, ged_setintpar, ged_setstrpar.
int ged_getviaoptmode( // Leiterbahnviaoptimierungsmodus: // 0 = Viaoptimierung // 1 = Vias beibehalten );
Die Funktion ged_getviaoptmode dient der Abrage des aktuell im Layouteditor eingestellten Leiterbahnviaoptimierungsmodus.
Funktion ged_setviaoptmode.
double ged_getwidedraw( // Breite (STD2) );
Der Rückgabewert der Funktion ged_getwidedraw entspricht der Breite, ab der im Layouteditor Leiterbahnen auf dem Bildschirm in Flächendarstellung angezeigt werden.
int ged_groupselect( // Anzahl Änderungen oder (-1) bei Fehler int [0,9]; // Element Selektionstyp: // 0 = Selektion nach Elementtyp // 1 = Selektion nach Lage // 2 = Selektion nach Fixiertflag // 3 = Selektion nach Sichtbarkeit // 4 = Selektion nach Lage/negiert // 5 = Selektion nach Netznummer // 6 = Selektion nach Netznummer/negiert // 7 = Selektion Elemente mit Verbindung zu Netz // 8 = Selektion Elemente ohne Verbindung zu Netz // 9 = Selektion nach Elementpolygontyp // 10 = Selektion nach Elementverankerungsmodus int; // Element Selektionswert entspr. Selektionstyp: // 0 - Elementtyp (0|LAY6) // 1,4 - Elementlage (LAY1) // 2 - Element-Fixiertflag (STD11) // 3 - Elementsichtbarkeit (0|1) // 5,6 - Elementnetznummer // 7,8 - Netznummer // 9 - Elementpolygontyp (LAY4) // 10 - Elementverankerungsmodus (STD11 | STD12) int [0,2]; // Neue Gruppenzugehörigkeit (STD13) );
Die Funktion ged_groupselect ändert die Gruppenzugehörigkeit aller Element des spezifizierten Typs bzw. mit der spezifizierten Eigenschaft. Der Rückgabewert entspricht der Anzahl der durchgeführtem Änderungen oder dem Wert (-1) bei fehlerhaften bzw. inkompatiblen Parameterangaben. Der Selektionswert Null bei der Selektion nach dem Elementtyp kann dazu benutzt werden, Elemente beliebigen Typs auszuwählen.
Interne Layoutelementtypen wie z.B. die Standardvia-Definition(en) sind von der Gruppen(de)selektion mit ged_groupselect ausgenommen, um ein versehentliches Löschen bzw. Ändern derartiger Elemente durch die anschließende Anwendung anderer Gruppenfunktionen zu verhindern.
int ged_highlnet( // Status
int [-1,[; // Netznummer
int [0,[; // Highlight aus/ein Flag || (Farb- und Musterdefininition << 1)
);
Mit der Funktion ged_highlnet kann der Highlightmodus und die Highlightfarbe für das Netz mit der angegebenen Netznummer gesetzt werden. Zur Aktivierung des Netzhighlights ist das Bit 1 des Highlightparameters auf 1 zu setzen, die Deaktivierung erfolgt entsprechend durch Spezifikation des Werts Null im Bit 1 des Highlightparameters. Über die restlichen Bits des Highlightparameters kann der gewünschte Farbcode (Bits 2 bis 6) bzw. ein Muster (Bits 7 bis 12) für die Highlightanzeige spezifiziert werden. Der Funktionsrückgabewert ergibt sich zu einem Wert ungleich Null bei erfolgreicher Änderung des netzspezifischen Highlightmodus, andernfalls (Netz nicht gefunden, ungültige Parameter) wird der Wert Null zurückgegeben.
Funktion ged_gethighlnet.
int ged_layergrpchg( // Anzahl Elemente int [0,[; // Lagennummer (LAY1) int [0,2]; // Neue Gruppenzugehörigkeit (STD13) );
Die Funktion ged_layergrpchg ändert die Gruppenzugehörigkeit aller Elemente, die auf der angegebenen Lage platziert sind. Der Rückgabewert ist die Anzahl der (de)selektierten Elemente oder (-1) bei Fehler.
int ged_partaltmacro( // Status string; // Bauteilname string; // Neuer Bauteil Bibiotheksteilname );
Die Funktion ged_partaltmacro ändert den Gehäusetyp des angegebenen Bauteiles. Ein Rückgabewert von Null zeigt eine erfolgreiche Änderung an. Bei ungültigen Eingabedaten wird (-1) zurückgegeben, (-2) wenn der neue Gehäusetyp nicht alle für dieses Bauteil in der Netzliste verwendeten Pins enthält (Gehäuseänderung wird trotzdem durchgeführt), (-3) wenn das Bauteil nicht in der Netzliste vorhanden ist, (-4) wenn der neue Gehäusetyp für dieses Bauteil nicht erlaubt ist, (-5) wenn der neue Gehäusetyp nicht ladbar ist, (-6) wenn die Bauteildaten nicht in die Jobdatenbank kopiert werden konnten und (-7) wenn versucht wurde, in einem Programmlauf einen Bauteilgehäusetyp mehrfach umzuändern (z.B.a
inb
und anschließendb
inc
). Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
Diese Funktion sollte nicht innerhalb von L_CPART-Index-Schleifen aufgerufen werden, da die vor dem Aufruf der Funktion belegten L_CPART-Indexvariablen anschließend ungültig sind.
int ged_partnamechg( // Status string; // Alter Name string; // Neuer Name );
Die Funktion ged_partnamechg ändert den Namen des angegebenen Bauteiles. Ein Rückgabewert von Null zeigt eine erfolgreiche Änderung an. Bei ungültigen Eingabedaten wird (-1) zurückgegeben, (-2) wenn das Bauteil nicht platziert ist, (-4) wenn der neue Name schon definiert ist und (-5) wenn versucht wurde, in einem Programmlauf ein Bauteil mehrfach umzubenennen (z.B.a
inb
und anschließendb
inc
). Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden. Auf Bauteilebene kann ged_partnamechg zur Umbenennung von Pins verwendet werden.
Diese Funktion verändert möglicherweise die Netzliste und erfordert ggf. einen anschließenden L_CPART-Index-Schleifen aufgerufen werden, da die vor dem Aufruf der Funktion belegten L_CPART-Indexvariablen anschließend ungültig sind.-Lauf. Die Funktion sollte auch nicht innerhalb von
int ged_pickanyelem( // Status & index L_FIGURE; // Rückgabe selektiertes Element int; // Pickelementtypmenge ((LAY6 außer 7)<<1 verodert) );
Die Funktion ged_pickanyelem aktiviert eine Mausinteraktion zur Selektion eines Elements aus der angegebenen Pickelementtypmenge. Der Rückgabewert ist Null bei erfolgter Selektion und (-1) wenn an der Pickposition kein Element gefunden wurde.
Funktion ged_pickelem.
int ged_pickelem( // Status
& index L_FIGURE; // Rückgabe selektiertes Element
int [1,10]; // Elementtyp (LAY6 außer 7)
);
Mit der Funktion ged_pickelem kann vom Benutzer mit der Maus ein Element des gewünschten übergebenen Typs selektiert werden. Der Rückgabewert ist Null bei erfolgter Selektion und (-1) wenn an der Pickposition kein Element des gewünschten Typs gefunden wurde.
Funktionen ged_pickanyelem, ged_setpickelem.
int ged_setautocornins( // Status int [0,3]; // Eckpunkteingabemodus: // 0 = Automatische Eckpunktgenerierung deaktiviert // 1 = Automatische Eckpunktgenerierung für Leiterbahnen // 2 = Automatische Eckpunktgenerierung für Polygone // 3 = Automatische Eckpunktgenerierung für Leiterbahnen und Polygone );
Die Funktion ged_setautocornins setzt den Eingabemodus für das wahlweise automatische Einfügen von Ecken bei der Generierung von Leiterbahnen und Polygonen. Der Eckpunkteingabemodus wird im Layouteditor üblicherweise über eine der Optionen bzw. der Funktion selektiert. Es wird ein Wert ungleich Null zurückgegeben, wenn ein ungültiger Oktagonalmodus spezifiziert wurde.
int ged_setdblpar( // Status int [0,[; // Parametertyp/-nummer: // 0 = X-Koordinate letzte Gruppenplatzierung (STD2) // 1 = Y-Koordinate letzte Gruppenplatzierung (STD2) // 2 = Standardbauteilplatzierungswinkel // 3 = Flächenautomatik Isolationsabstand (STD2) // 4 = Flächenautomatik Min. Strukturgröße (STD2) // 5 = Flächenautomatik Wärmefallenbreite (STD2) // 6 = Flächenautomatik Wärmefallenisolation (STD2) // 7 = Flächenautomatik Schraffurlinienabstand (STD2) // 8 = Flächenautomatik Schraffurlinienbreite (STD2) // 9 = Flächenautomatik Schraffurlinienwinkel (STD3) // 10 = Netzsichtbarkeitsdialog Netznamenskontollelementbreite // 11 = Standardtextgröße (STD2) // 12 = DRC-Abstandshaltung Textgröszlig;e (STD2) // 13 = Autoplacement Bauteilexpansion (STD2) // 14 = Autoplacement Bauteilpinfaktor [0, 1.0] // 15 = Autoplacement Segmentpassung [0, 1.0] // 16 = Autoplacement Bauteilkonturoffset (STD2) // 17 = Standardtextplatzierungswinkel (STD3) // 18 = Autorouter Umrandungsabstand (STD2) // 19 = Autorouter Abstand Wärmefalle zu Bohrung (STD2) // 20 = Autorouter Abstand Isolation zu Bohrung (STD2) // 21 = Autorouter Maximale Versorgungslänge (STD2) // 22 = Autorouter Angefordertes Spezial Routing-Raster (STD2) // 23 = Autorouter Split Power Plane Abstandshaltung (STD2) // 24 = Autorouter BGA-Rastertoleranz (STD2) // 25 = Autorouter Maximale SMD-Fanoutlänge (STD2) // 26 = Autorouter Pin-Via-Mindestabstand (STD2) // 27 = CAM Gerber Standardlinienbreite (STD2) // 28 = CAM Minimaler Abstand Wärmefalle zu Bohrung (STD2) // 29 = CAM Minimaler Abstand Isolation zu Bohrung (STD2) // 30 = CAM Toleranz Abstand Wärmefalle zu Bohrung (STD2) // 31 = CAM Toleranz Abstand Isolation zu Bohrung (STD2) // 32 = CAM Breite Versorgungslagenumrandung (STD2) // 33 = CAM Versorgungslagen-Isolationsabstand (STD2) // 34 = Busbahnbreite (STD2) // 35 = Busbahnabstand (STD2) double; // Parameterwert );
Die Funktion
ged_setdblpar dient dazu, Systemparameter vom Typ
double
im
Layouteditor zu setzen. Der Funktionsrückgabewert ist Null bei erfolgreicher Parameterzuweisung oder (-1) im Fehlerfall. Die Werte von mit
ged_setdblpar gesetzten Systemparametern können mit der Funktion
ged_getdblpar abgefragt werden.
Funktionen ged_getdblpar, ged_getintpar, ged_getstrpar, ged_setintpar, ged_setstrpar.
int ged_setdrcmarkmode( // Status int [0,1]; // DRC-Fehleranzeigemodus: // 0 = Fehlermarkeranzeige mit Fehlerfarbe // 1 = Fehlermarkeranzeige mit Highlightfarbe );
Die Funktion ged_setdrcmarkmode wsetzt den Anzeigmodus für DRC-Fehlermarker. Der Funktionsrückgabewert ist ungleich Null, wenn ein ungültiger Anzeigemodus spezifiziert wurde.
Funktion ged_getdrcmarkmode.
int ged_setintpar( // Status int [0,[; // Parametertyp/-nummer: // 0 = Pickpunktanzeigemodus: // 0 = keine Pickpunktanzeige // 1 = Pickpunktanzeige // 2 = Pickpunktübersichtsanzeige // 3 = Pickpunkteditieranzeige // 1 = automatischer DRC beim Laden: // 0 = kein automatischer DRC // 1 = automatischer DRC nach Abfrage // 2 = automatischer DRC ohne Abfrage // [ 2 = bae_setcolor benutzen ] // 3 = Infoanzeigeflag: // 0 = keine automatische Infoanzeige // 1 = automatische Infoanzeige // 4 = Infoanzeigemodus: // 0 = keine Infoanzeige // 1 = komplette Infoanzeige // 2 = nur Kupferinfoanzeige // 5 = Winkeleditierrichtung // 6 = Bauteilmakro-DRC: // 0 = kompletter DRC // 1 = Bauteilmakros als geprüft betrachten // 7 = Rastereckenabfragemodus: // 0 = keine Rastereckenabfrage // 1 = komplette Rastereckanabfrage // 2 = Rastereckenabfrage im aktuellen Fenster // 3 = Rastereckenabfrage im dynamisch aktualisierten Fenster // 8 = Minconaktualisierungsmodus // 9 = DRC Polygontyp-Abschaltungsbits // 10 = Warnmeldemodus: // Bit 0: SCM-Änderungs-Warnungen unterdrücken // Bit 1: Warnungen Gruppenselektion Füllflächenproblempolygone unterdrücken // Bit 2: Variantenvergleichswarnungen unterdrücken // Bit 3: Warnungen über Beendingung des Autoroutermodus unterdrückt // 11 = Lagenbenutzung Scanmodus // 12 = Flächenpolygoneditiermodus: // 0 = keine geschlossenen Linienzüge // 1 = immer geschlossene Linienzüge // 2 = Abfrage zum Schließen von Linienzügen // 13 = DRC-Abstandsanzeigemuster // 14 = Leiterbahneditiermodus: // 0 = Eingaberasterfang // 1 = Pin-/Segmentfang bei erster Leiterbahnecke // [ 15 = Systemparameter - kein Schreibzugriff ] // 16 = Bestätigungsabfragelimit für Netz löschen // 17 = Plotvorschaumodus: // 0 = keine Plotvorschau // 1 = Plotterstiftbreite // 18 = DRC-Distanzanzeigemodus: // 0 = keine DRC-Distanzanzeige // 1 = Leiterbahndistanzlinien // 2 = Flächendistanzlinien // 3 = Leiterbahndistanzmuster // 4 = Flächendistanzmuster // 19 = Textlagenspiegelungsmodus: // 0 = keine Textlagenspiegelung // 1 = Dokumentarlagenspiegelung // 2 = Signal- und Dokumentarlagenspiegelung // 20 = Standardbauteilspiegelungsmodus // 21 = Autosave Intervall // 22 = Bauteilluftlinienanzeigemodus: // 0 = Keine Luftlinienanzeige // 1 = Statische Luftlinienanzeige // 2 = Dynamische Luftlinienanzeige // 23 = Winkelfreigabeumschaltmodus: // 0 = Umschaltung Pickseite standard // 1 = Umschaltung Raster // 2 = Umschaltung kürzere Seite // 3 = Umschaltung Editierrichtung // 24 = Copper fill heat trap mode // 0 = Direktanschluss // 1 = Pin- & Via-Wärmefallen // 2 = Pin-Wärmefallen // 3 = Via-Wärmefallen // |4 = Flag - keine benachbarten Pins // |8 = Flag - Wärmefallenleiterbahnen // |16 = Flag - nur unverbundene Lagen // 25 = Flächenautomatik Leiterbahnmodus // 0 = Runde Ecken // 1 = Oktagonale Exken // 2 = Oktagonale Kreise // 3 = Oktagonale Ecken & Kreise // 26 = Flächenautomatik Inselerkennung: // 0 = Inseln beibehalten // 1 = Inseln löschen // 2 = Inseln selektieren // 27 = Flächenautomatik Innenflächenmodus: // 0 = Innenfüllflächen füllen // 1 = Innenfüllflächen ausparen // |2 = Ausparflächen mit Abstand // 28 = Flächenautomatik Wärmefallenverbingsanzahl // 29 = Flächenautomatik Spitzwinkelmodus: // 0 = Spitze Winkel flach // 1 = Spitze Winkel rund // 30 = Flächenautomatik Schraffurmodus: // 0 = Linienschraffur // 1 = Gitterschraffur // |2 = Editierbare Pfade erzeugen // 31 = Netzsichtbarkeitsdialogmodus: // 0 = Einzelspalte für Netznamenslistenanzeige // 1 = Mehrspaltige Netznamenslistenanzeige // 32 = Gruppenbewegtdarstellung: // 0 = Bewegtbild aus // 1 = Nur Baugruppenlage // 2 = Bewegtbild ein // 3 = Bewegtbild alles // 33 = Leiterbahngruppenselektionsmodus: // 0 = Leiterbahn- & Viaselektion // 1 = Leiterbahnselektion // 2 = Viaselektion // 34 = Vorzugslagenauswahl (LAY1) ohne Aktionen // 35 = Zwischenablagetext-Platzierungsanforderung // 36 = Editierrichtung // 37 = Mincon-Flächenmodus (Bitmuster): // 0 = Kein Flächen-Mincon // |1 = Kupferflächen-Mincon // |2 = Potentialflächen-Mincon // 38 = Gruppenwinkelfreigabemodus: // 0 = Gruppenwinkel einhalten // 1 = Gruppenwinkel automatisch freigeben // 39 = Autoplacement Optimierungszahl // 40 = Autoplacement Bauteiltausch // 41 = Autoplacement Pin-/Gattertausch // 42 = Autoplacement Spiegelungsmodus: // 0 = Kein SMD-Spiegeln // 1 = SMD-Spiegeln // 2 = 2 Pin-SMD-Spiegeln // 3 = Immer SMD-Spiegeln // 43 = Autoplacement Rotationsmodus: // 0 = 0-90 Grad Drehung // 1 = 0-270 Grad Drehung // 2 = 0 Grad Drehung // 3 = 90 Grad Drehung // 4 = 0 XOR 90 Grad Drehung // 44 = Autoplacement Retrydurchgänge // 45 = Autoplacement SMD-Rotationsmodus: // 0 = 0-90 Grad Drehung // 1 = 0-270 Grad Drehung // 2 = 0 Grad Drehung // 3 = 90 Grad Drehung // 4 = 0 XOR 90 Grad Drehung // 46 = Autoplacement Bauteilkonturlage (LAY1) // 47 = Gruppenbearbeitung Elementfang: // 0 = Alle Elemente selektieren // 1 = Nur sichtbare Elemente selektieren // 48 = Standardtextspiegelung und Standardtextmodus (STD14|LAY14) // 49 = Autorouter Anzahl Optimierungen // 50 = Autorouter Optimierer Richtungsmodus // 51 = Autorouter Max. Via-Zahl // 52 = Autorouter Via-Kosten // 53 = Autorouter Pinkanal-Kosten // 54 = Autorouter Anti-Vorzugs-Richtungs-Kosten // 55 = Autorouter Richtungsänderungs-Kosten // 56 = Autorouter Packungs-Kosten // 57 = Autorouter Dynamische-Dichtestatistik-Basis // 58 = Autorouter Max. Bäume pro Rip-Up // 59 = Autorouter Max. Rip-Up Tiefe // 60 = Autorouter Max. Rip-Up Wiederholungen // 61 = Autorouter Via-Raster Index // 62 = Autorouter Bus-Abknickkosten // 63 = Autorouter Abstand-1-Kosten // 64 = Autorouter Abstand-2-Kosten // 65 = Autorouter Rip-Up-Kosten // 66 = Autorouter Router Cleanup // 67 = Autorouter Optimierer Cleanup // 68 = Autorouter Versorgungsanschluss Vektorunroutes // 69 = Autorouter Zwischenspeichern // 70 = Autorouter Verbindungseckenausgabemodus // 71 = Autorouter Unroutesausgabesortiermodus // 72 = Autorouter Ecken Spitzwinkel Modus // 73 = Autorouter Richtungsmodus existierende Bahnen // 74 = Autorouter Standardverbindungs-Lagen-Kosten // 75 = Autorouter Busverbindungs-Lagen-Kosten // 76 = Autorouter Offset Wellenausbreitung Limit // 77 = Autorouter Via Raster Modus // 78 = Autorouter Eingabedaten Fehlerprüfmodus // 79 = Autorouter Pin Anschluss Modus // 80 = Autorouter Halbraster-Modus // 81 = Autorouter Off-Grid-Routing-Kosten // 82 = Autorouter Buserkennung/Busrouting Modus // 83 = Autorouter SMD Via-Vorlegen // 84 = Autorouter Router Pin/Gate-Swap // 85 = Autorouter Gridless Routing Modus // 86 = Autorouter Inkrementaler Ausgabemodus // 87 = Autorouter Vorzugsraster // 88 = Autorouter Anti-Vorzugsraster-Kosten // 89 = Autorouter Anti-Netzbereichs-Kosten // 90 = Autorouter Letzter Optimiererparameter Wechselmodus // 91 = Autorouter Auto-Rip-Up Parameter Modus // 92 = Autorouter Vorzugsrichtungsmodus // 93 = Autorouter Optimierer Reihenfolge Modus // 94 = Autorouter Via Rip-Up Flag // 95 = Autorouter Routingfenster Randausdehnung // 96 = Autorouter BGA Fan out // 97 = Autorouter Pinentry Korrektur // 98 = Autorouter Alternativer Viaversatz Modus // 99 = Autorouter Voll-Viaauswertemodus // 100 = Autorouter Micro Via Modus // 101 = Autorouter Richtungsvorgabe Maximalabweichung // 102 = Autorouter Routingfenster Flag // 103 = Autorouter Padentry Subgrid // 104 = Autorouter Versorgungslagen Vias // 105 = Autorouter Via Prüfmodus // 106 = Autorouter Verbindungsanzahl große Netze // 107 = Autorouter Autorouting aktiv Flag // 108 = CAM Wärmefallenbasiswinkel // 109 = Flag - Einzeleckenbearbeitung // 110 = Flag - Größenänderung mit Eckenabrundung // 111 = Flag - Anzeige ausgeblendeter DRC-Fehler // 112 = Flag - DRC-Verletzung Elementscan // 113 = Bauteilplatzierung - Bahnendenbewegungsmodus // 0 = Keine Bahnendenbewegung // 1 = Bahnenden mitbewegen // 2 = Bahnsegmente mitbewegen // 114 = Flag - Polygonbearbeitung Autocomplete-Modus // 115 = Platinenumrandung alternative Dokumentarlage (LAY1) // 116 = Leiterbahnzusammenfassungsmodus: // 0 = Bahnen nicht zusammenfassen // 1 = Bahnen zusammenfassen // 2 = Bahnzusammenfassungsabfrage // 117 = Anzeigemodus Leiterbahnen (LAY15) // 118 = Anzeigemodus Texte (LAY15) // 119 = Anzeigemodus Kupferpolygone (LAY15) // 120 = Anzeigemodus Sperrflächen (LAY15) // 121 = Anzeigemodus Umrandungspolygon (LAY15) // 122 = Anzeigemodus Potentialflächen (LAY15) // 123 = Anzeigemodus Dokumentarlinien (LAY15) // 124 = Anzeigemodus Dokumentarflächen (LAY15) // 125 = Anzeigemodus Füllflächen mit Ausschnittspolygonen (LAY15) // 126 = Anzeigemodus Schraffurflächen (LAY15) // 127 = Anzeigemodus Geteilte Potentialflächen (LAY15) // 128 = Flag - Farbtabelle gesichert // 129 = Airlinefarbmodus: // 0 = Airlinefarbe benutzen // 1 = Lagenfarbe benutzen // 130 = Airlineclippingmodus: // 0 = Kein Airlineclipping // 1 = Airlines ohne Zielpunkt im Arbeitsbereich ausblenden // 131 = Bahnkollisionsmodus: // -1 = Operationsabfrage // 0 = Kollisionen ignorieren // 1 = Kollidierende Bahnen löschen // 2 = Kollidierende Segmente löschen // 3 = Kollidierende Segmente abschneiden // 132 = Abfragemodus für Layoutbahnverbindungen: // 0 = Layoutbahnen nie verbinden // 1 = Layoutbahnen immer verbinden // 2 = Verbindungsmodus abfragen // 133 = Abfragemodus für Bauteilbahnverbindungen: // 0 = Bauteilbahnen nie verbinden // 1 = Bauteilbahnen immer verbinden // 2 = Verbindungsmodus abfragen // 135 = Polygonanzeigemodus beim Bewegen von Elementen: // 0 = Umrandungsanzeige // 1 = Füllanzeige // 136 = Airlineanzeigemodus beim Bewegen von Gruppen: // 0 = Airlineanzeige aus // 1 = Airlines für Gruppenbauteilpins anzeigen // 137 = Abstandsprüfmodus für Bahnkollisionen: // 0 = DRC-Abstand für Kollisionscheck benutzen // 1 = Nur Kreuzungen als Kollisionen interpretieren // 138 = Pickmodus für Leiterbahnbündel: // 0 = Kontinuierlicher Segmentpick // 1 = Pick erstes und letztes Bündelsegment // 139 = Einfüge-Pickmodus für Leiterbahnsegmente: // 0 = 3-Klick Selektion // 1 = 2-Klick Selektion // 140 = Bauteil-DRC: // 0 = kein Bauteil-Online-DRC // 1 = Bauteil-Online-DRC // 141 = Flag - Optimierung Bohrwerkzeugtabelle // 142 = Busbahnanzahl // 143 = Busbahnanzahl editieren // 144 = Generierungsmodus Busbahnen: // 0 = Bahnbündel generieren // 1 = Separate Bahnen generieren // 145 = Busbahn-Eckenmodus: // 0 = Gewinkelte Ecken generieren // 1 = Abgerundete Ecken gnerieren // 146 = Siebdrucklage (LAY1) // 147 = Anzeigmodus Makroumrandungen: // 0 = Keine Makroumrandungsanzeige // 1 = Makroumrandungen für bewegte Referenzen anzeigen // 2 = Makroumrandungen anzeigen int; // Parameterwert );
Die Funktion
ged_setintpar dient dazu, Systemparameter vom Typ im
int
im
Layouteditor zu setzen. Der Funktionsrückgabewert ist Null bei erfolgreicher Parameterzuweisung oder (-1) im Fehlerfall. Die Werte von mit
ged_setintpar gesetzten Systemparametern können mit der Funktion
ged_getintpar abgefragt werden.
Funktionen ged_getdblpar, ged_getintpar, ged_getstrpar, ged_setdblpar, ged_setstrpar.
int ged_setlaydefmode( // Status int [0,2]; // Defaultlagenmodus: // 0 = automatische Lagendefaultzuweisung deaktivieren // 1 = benutzte Eingabelage ist Lagendefault // 2 = zuletzt benutzte Lage ist Lagendefault );
Die Funktion ged_setlaydefmode setzt den Defaultlagenmodus im Layouteditor. Der Funktionsrückgabewert ist Null bei erfolgreicher Zuweisung und ungleich Null im Fehlerfall.
Funktionen ged_getlaydefmode, ged_getlayerdefault, ged_setlayerdefault.
int ged_setlayerdefault( // Status int; // Lage (LAY1) );
Die Funktion ged_setlayerdefault setzt die Defaultlage im Layouteditor. Der Funktionsrückgabewert ist Null bei erfolgreicher Zuweisung und ungleich Null im Fehlerfall.
Funktionen ged_getlaydefmode, ged_getlayerdefault, ged_setlaydefmode.
int ged_setmincon( // Status
int [0,8]; //
Funktionstyp (LAY10)
);
Die Funktion ged_setmincon setzt den -Modus für die Airlineanzeige im Layouteditor. Es wird ein Wert ungleich Null zurückgegeben, wenn ein ungültiger Modus angegeben wurde.
int ged_setnetattrib( // Status string; // Netzname string; // Attributname string; // Attributwert );
Die Funktion ged_setnetattrib setzt für das namentlich spezifizierte Signalnetz den Wert des angegebenen Attributs. Die maximal speicherbare Stringlänge für den Attributwert beträgt 40 Zeichen. Der Rückgabewert ist Null bei erfolgreicher Attributwertdefinition, (-1) wenn kein gültiges Element geladen ist, (-2) bei fehlenden bzw. ungültigen Parametern, (-3) wenn das Netz nicht gefunden wurde, oder (-4) wenn das Attribut mit dem angegebenen Namen nicht am Netz definiert ist.
int ged_setpathwidth( // Status double ]0.0,[; // Schmal Standardbreite (STD2) double ]0.0,[; // Breit Standardbreite (STD2) );
Die Funktion ged_setpathwidth setzt die Standardbreiten für schmale und breite Leiterbahnen im Layouteditor. Es wird ein Wert ungleich Null zurückgegeben, wenn ungültige Breiten spezifiziert wurden.
int ged_setpickelem( // Status index L_FIGURE; // Defaultpickelement );
Die Funktion ged_setpickelem setzt ein Defaultelement für nachfogende Pickoperationen im Layouteditor. Der Funktionsrückgabewert ist ungleich Null im Fehlerfall.
Funktion ged_pickelem.
int ged_setpickmode( // Status
int [0,2]; // Elementpickmodus:
// 0 = Pick über Vorzugslage
// 1 = Pick mit Elementauswahl
// 2 = Pick exklusiv über Vorzugslage
);
Die Funktion ged_setpickmode setzt den Elementpickmodus im Layouteditor. Der Funktionsrückgabewert ist ungleich Null bei Spezifikation eines ungültigen Elementpickmodus.
Funktion ged_getpickmode.
int ged_setpickpreflay( // Status int; // Lage (LAY1) );
Die Funktion ged_setpickpreflay setzt die Vorzugslage für Elementwahl im Layouteditor. Es wird ein Wert ungleich Null zurückgegeben, wenn keine gültige Lage angegeben wurde.
int ged_setplantoplay( // Status int [0,99]; // Lage (LAY1) );
Die Funktion ged_setplantoplay setzt die oberste Lage im Layouteditor. Es wird ein Wert ungleich Null zurückgegeben, wenn keine gültige Signallage angegeben wurde.
int ged_setsegmovmode( // Status int [0,12]; // Leiterbahnsegmentbewegungsmodus: // 0 = Mit Nachbarn bewegen // 1 = Ohne Nachbarn bewegen // 2 = Nachbarn anpassen // 3 = Nachbarn ohne Durchkontaktierungen anpassen // 8 = Nur unmittelbare Nachbarn anpassen // |4 = Offene Leiterbahnenden folgen Segmentbewegung );
Die Funktion ged_setsegmovmode setzt den Leiterbahnsegmentbewegungsmodus im Layouteditor. Es wird ein Wert ungleich Null zurückgegeben, wenn ein ungültiger Modus angegeben wurde.
Funktion ged_getsegmovmode.
int ged_setstrpar( // Status int [0,[; // Parametertyp/-nummer: // [ 0 = Systemparameter - kein Schreibzugriff ] // [ 1 = Systemparameter - kein Schreibzugriff ] // 2 = Zuletzt platzierter Textstring // 3 = Standardbibliotheksname // [ 4 = Systemparameter - kein Schreibzugriff ] // 5 = Bohrbauteil-/Bohrpinnamensbasis // 6 = Bohrbauteilmakronamensmuster // 7 = Bohrpinmakronamensmuster // 8 = Eingabeaufforderung Ersatzstring // [ 9 = Systemparameter - kein Schreibzugriff ] // 10 = Autosave path name string; // Parameterwert );
Die Funktion
ged_setstrpar dient dazu, Systemparameter vom Typ im
string
im
Schaltplaneditor zu setzen. Der Funktionsrückgabewert ist Null bei erfolgreicher Parameterzuweisung oder (-1) im Fehlerfall. Die Werte von mit
ged_setstrpar gesetzten Systemparametern können mit der Funktion
ged_getstrpar abgefragt werden.
Funktionen ged_getdblpar, ged_getintpar, ged_getstrpar, ged_setdblpar, ged_setintpar.
int ged_setviaoptmode( // Status int [0,1]; // Leiterbahnviaoptimierungsmodus: // 0 = Viaoptimierung // 1 = Vias beibehalten );
Die Funktion ged_setviaoptmode setzt den Leiterbahnviaoptimierungsmodus im Layouteditor. Es wird ein Wert ungleich Null zurückgegeben, wenn ein ungültiger Modus angegeben wurde.
Funktion ged_getviaoptmode.
int ged_setwidedraw( // Status double ]0.0,[; // Breite (STD2) );
Die Funktion ged_setwidedraw setzt die Breite, ab der im Layouteditor Leiterbahnen auf dem Bildschirm in Flächendarstellung angezeigt werden. Es wird ein Wert ungleich Null zurückgegeben, wenn eine ungültige Breite spezifiziert wurde.
int ged_storedrill( // Status double; // X-Koordinate (STD2) double; // Y-Koordinate (STD2) double ]0.0,[; // Radius (STD2) int [0,[; // Bohrklasse (LAY5) );
Die Funktion ged_storedrill platziert eine Bohrung mit den angegebenen Parametern auf dem gegenwärtig geladenen Layoutelement. Der Rückgabewert ist ungleich Null, wenn ungültige Daten übergeben wurden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int ged_storepart( // Status string; // Bauteilname string; // Bauteil Bibiotheksteilname double; // X-Koordinate (STD2) double; // Y-Koordinate (STD2) double; // Drehwinkel (STD3) int [0,1]; // Spiegelungsmodus (STD14) );
Die Funktion ged_storepart platziert ein Bauteil mit den angegebenen Parametern auf dem gegenwärtig geladenen Layoutelement. Wird eine Leerzeichenkette für den Bauteilnamen übergeben, so wird das nächste unplatzierte Bauteil der Netzliste verwendet. Der Rückgabewert ist Null, wenn das Bauteil erfolgreich platziert wurde, (1) wenn die Bauteilpins nicht mit der Netzliste übereinstimmen, (-1) bei ungültigen Daten, (-2) wenn alle Bauteile bereits platziert sind, (-3) wenn das Bauteil schon platziert ist, (-4) wenn es nicht ladbar ist und (-6) wenn die Bauteildaten nicht in die Jobdatenbank kopiert werden konnten.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int ged_storepath( // Status int [0,99]; // Leiterbahnlage (LAY1) double ]0.0,[; // Leiterbahnbreite (STD2) );
Die Funktion ged_storepath erzeugt aus der internen Punktliste unter Verwendung der angegebenen Parameter eine Leiterbahn auf dem aktuell geladenen Layout- bzw. Bauteil. Der Rückgabewert ist gleich Null, wenn die Bahn erfolgreich platziert wurde, (-1) wenn kein gültiges Element geladen ist, (-2) bei ungültigen Parametern, oder (-3) wenn die Punktliste ungültig ist.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
Funktionen bae_storepoint, ged_drcpath.
int ged_storepoly( // Status int; // Polygonlage (LAY1) int [1,9]; // Polygontyp (LAY4) string; // Polygonnetzname (für Pot.- und Füllbereich) int [0,18]; // Polygonspiegelungsmodus (LAY3) );
Die Funktion ged_storepoly generiert aus der mit bae_storepoint erzeugten internen Punktliste unter Verwendung der angegebenen Parameter eine Fläche auf dem gegenwärtig geladenen Layoutelement. Der Rückgabewert ist gleich Null, wenn die Fläche erfolgreich platziert wurde, (-1) wenn kein gültiges Element geladen ist, (-2) bei ungültigen Parametern, oder (-3) wenn die Punktliste für den gegebenen Flächentyp ungültig ist.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
Funktionen bae_storepoint, ged_drcpoly.
int ged_storetext( // Status
string; // Textzeichenkette
double; // Text-X-Koordinate (STD2)
double; // Text-Y-Koordinate (STD2)
double; // Textdrehwinkel (STD3)
double ]0.0,[; // Textgröße (STD2)
int; // Textlage (LAY1)
int; // Textspiegelungsmodus und Textstil (STD14|LAY14)
);
Die Funktion ged_storetext platziert einen Text mit den angegebenen Parametern auf dem aktuell geladenen Layoutelement. Der Rückgabewert ist ungleich Null, wenn ungültige Daten übergeben wurden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden. Es können maximal 40 Zeichen der übergebenen Textzeichenkette gespeichert werden. Bei Übergabe längerer Zeichenketten gibt die Funktionen den Fehlerstatus zur Kennzeichnung ungültiger Parameter zurück.
Funktion ged_attachtextpos.
int ged_storeuref( // Status string; // Referenz Bibiotheksteilname double; // X-Koordinate (STD2) double; // Y-Koordinate (STD2) double; // Drehwinkel (STD3) int; // Lagenoffset (für Pad auf Padstack) int [0,1]; // Spiegelung (STD14) (für Pad auf Padst.) );
Die Funktion ged_storeuref platziert eine namenlose Referenz mit den angegebenen Parametern auf dem gegenwärtig geladenen Layoutelement. Namenlose Referenzen sind die Vias auf Layout- bzw. Bauteilebene und die Pads auf Padstackebene. Spiegelung, Lagenoffset und Drehwinkel werden für Vias ignoriert. Der Rückgabewert ist gleich Null, wenn die Referenz erfolgreich platziert wurde, (-1) bei ungültigen Daten, (-2) wenn sie nicht ladbar ist und (-3) wenn die Referenzdaten nicht in die Jobdatenbank kopiert werden konnten.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
Funktion ged_drcpoly.
Die nachfolgend aufgelisteten Systemfunktionen sind dem Aufruftyp AR zugeordnet, d.h. diese Funktionen können im Autorouter aufgerufen werden:
int ar_asklayer( // Status & int; // Lagenrückgabe (LAY1|LAY9) int [0,5]; // Lagenabfragetyp: // 0 = Dokumentarlagen und Signallagen // 1 = Signallagen // 2 = Signallagen // (inklusiveund ) // 3 = Dokumentarlagen // 4 = Signallagen und Versorgungslagen // 5 = beliebige Anzeigeelementtypen );
Die Funktion ar_asklayer aktiviert im Autorouter ein Lagenauswahlmenü. Der Lagenabfragetyp gibt an, welche Lagen bzw. Anzeigelementtypen zur Auswahl angeboten werden. Der Rückgabewert ist Null bei erfolgter Lagenwahl oder (-1) bei Wahl des Menüpunktes Abbruch.
int ar_delelem( // Status & index L_FIGURE; // Element );
Die Funktion ar_delelem löscht das übergebene Element aus der Elementliste. Der Rückgabewert ist Null bei erfolgter Löschung und (-1), wenn das übergebene Element ungültig ist. Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
Funktion ar_drawelem.
void ar_drawelem( index L_FIGURE; // Element int [0, 4]; // Zeichenmodus (STD19) );
Die Funktion ar_drawelem aktualisiert die Anzeige des angegebenen Elements unter Verwendung des spezifizierten Zeichenmodus.
Funktion ar_delelem.
int ar_elemangchg( // Status & index L_FIGURE; // Element double; // Neuer Winkel (STD3) );
Die Funktion ar_elemangchg ändert den Drehwinkel des übergebenen Elements. Der Drehwinkel wird ausgehend vom Nullwinkel eingestellt, d.h. der vorhergehende Drehwinkel des Elements hat keinen Einfluss auf das Ergebnis. Die Winkelangabe wird als Bogenmaßwert interpretiert. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig oder (-2) wenn es nicht drehbar ist. Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int ar_elemfixchg( // Status & index L_FIGURE; // Element int [0,1]; // Neues fixiert Flag (STD11) );
Die Funktion ar_elemfixchg ändert den Fixiert-Modus des übergebenen Elements. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig oder (-2) wenn es nicht fixierbar ist. Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int ar_elemlaychg( // Status & index L_FIGURE; // Element int; // Neue Lage (LAY1) );
Die Funktion ar_elemlaychg ändert die Lagenzugehörigkeit des übergebenen Elements. Bei Bohrungen gibt die Lage die Bohrungsklasse an. Die Lage kann für Flächen, Leiterbahnen, Bohrungen, Texte und Pads auf Padstackebene geändert werden. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig oder (-2) wenn die Lage nicht änderbar ist. Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int ar_elemmirrchg( // Status & index L_FIGURE; // Element int [0,18]; // Neuer Spiegelungsmodus (STD14|LAY3) );
Die Funktion ar_elemmirrchg ändert den Spiegelungsmodus des übergebenen Elements. Der Spiegelungsmodus kann bei Flächen, Texten und Referenzen geändert werden. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig ist oder (-2) wenn es keinen Spiegelungsmodus besitzt. Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int ar_elemposchg( // Status & index L_FIGURE; // Element double; // X-Position (STD2) double; // Y-Position (STD2) );
Die Funktion ar_elemposchg ändert die Position des übergebenen Elements. Bei Flächen/Leiterbahnen wird die Fläche/Leiterbahn so verschoben, dass der erste Punkt der Fläche/Leiterbahn auf der angegebenen Position zu liegen kommt. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig oder (-2) wenn es nicht positionierbar ist. Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int ar_elemsizechg( // Status & index L_FIGURE; // Element double; // Neue Größe (STD2) );
Die Funktion ar_elemsizechg ändert die Größe des übergebenen Elements. Bei Leiterbahnen wird mit der Größe die Leiterbahnbreite spezifiziert. Eine Größenänderung ist nur bei Texten, Bohrungen und Leiterbahnen möglich. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig oder (-2) wenn es nicht größenveränderbar ist. Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int ar_getdblpar( // Status int [0,[; // Parametertyp/-nummer: // 0 = Netzsichtbarkeitsdialog Netznamenskontollelementbreite // 1 = Benutzerdefiniertes Routingraster & double; // Rückgabe Parameterwert );
Die Funktion
ar_getdblpar dient der Abfrage von mit
ar_setdblpar im
Autorouter gesetzten Parametern vom Typ
double
. Der Funktionsrückgabewert ist Null bei erfolgreicher Abfrage oder (-1) im Fehlerfall.
Funktionen ar_getintpar, ar_getstrpar, ar_setdblpar, ar_setintpar, ar_setstrpar.
int ar_getintpar( // Status int [0,[; // Parametertyp/-nummer: // 0 = Farbcode für Oberste Lage // 1 = Minconaktualisierungsmodus // 2 = Warnmeldemodus: // Bit 0: SCM-Änderungs-Warnungen unterdrückt // Bit 1: im Autorouter nicht benutzt // Bit 2: Variantenvergleichswarnungen unterdrückt // 3 = Autosave-Intervall // 4 = Netzsichtbarkeitsdialogmodus: // 0 = Einzelspalte für Netznamenslistenanzeige // 1 = Mehrspaltige Netznamenslistenanzeige // 5 = Routingsignallagenanzahl // 6 = Routingrastercode: // 0 = 1/20 Zoll (1.27 mm) Standard // 1 = 1/40 Zoll (0.635 mm) Standard // 2 = 1/50 Zoll (0.508 mm) Standard // 3 = 1/60 Zoll (0.4233 mm) Standard // 4 = 1/80 Zoll (0.3175 mm) Standard // 5 = 1/100 Zoll (0.254 mm) Standard // 6 = 1/40 Zoll (0.635 mm) ohne Versatz // 7 = 1/60 Zoll (0.4233 mm) ohne Versatz // 8 = 1/80 Zoll (0.3175 mm) ohne Versatz // 9 = 1/100 Zoll (0.254 mm) mit Versatz // -1 = Anderes Raster ohne Versatz // -2 = Anderes Raster mit Versatz // 7 = Mincon-Flächenmodus (Bitmuster): // 0 = Kein Flächen-Mincon // |1 = Kupferflächen-Mincon // |2 = Potentialflächen-Mincon // 8 = Flag - Farbtabelle gesichert // 9 = Airlinefarbmodus: // 0 = Airlinefarbe benutzen // 1 = Lagenfarbe benutzen // 10 = Flag - Optimierung Bohrwerkzeugtabelle & int; // Rückgabe Parameterwert );
Die Funktion ar_getintpar dient der Abfrage von mit ar_setintpar im Autorouter gesetzten Integerparametern. Der Funktionsrückgabewert ist Null bei erfolgreicher Abfrage oder (-1) im Fehlerfall.
Funktionen ar_getdblpar, ar_getstrpar, ar_setdblpar, ar_setintpar, ar_setstrpar.
int ar_getmincon( //
Funktionstyp (LAY10)
);
Der Rückgabewert der Funktion ar_getmincon entspricht dem im Autorouter aktuell eingestellten Wert des -Modus für die Airlineanzeige (LAY10).
int ar_getpickpreflay( // Vorzugslage (LAY1) );
Der Rückgabewert der Funktion ar_getpickpreflay entspricht der Vorzugslage (LAY1) für Elementwahl im Autorouter.
int ar_getstrpar( // Returns status int [0,[; // Parameter type/number: // 0 = Autosave path name & string; // Returns parameter value );
Die Funktion ar_getstrpar dient der Abfrage von im Autorouter gesetzten Stringparametern. Der Funktionsrückgabewert ist Null bei erfolgreicher Abfrage oder (-1) im Fehlerfall.
Funktionen ar_getdblpar, ar_getintpar, ar_setdblpar, ar_setintpar, ar_setstrpar.
double ar_getwidedraw( // Breite (STD2) );
Der Rückgabewert der Funktion ar_getwidedraw entspricht der Breite, ab der im Autorouter Leiterbahnen auf dem Bildschirm in Flächendarstellung angezeigt werden.
int ar_highlnet( // Status int [0,[; // Netznummer int [0,1]; // Highlightmodus (0 = aus, 1 = ein) );
Die Funktion ar_highlnet setzt den Highlightmodus des Netzes mit der übergebenen Netznummer. Es wird ein Wert ungleich Null zurückgegeben, wenn ein ungültiger Highlightmodus oder eine ungültige Netznummer angegeben wurde.
int ar_partnamechg( // Status string; // Alter Bauteilname string; // Neuer Bauteilname );
Die Funktion ar_partnamechg ändert den Namen des angegebenen Bauteils in der Netzliste. Ein Rückgabewert von Null zeigt eine erfolgreiche Änderung an. Bei ungültigen Eingabedaten wird (-1) zurückgegeben, (-2) wenn das Bauteil nicht platziert ist, (-3) wenn das Bauteil nicht in der Netzliste vorhanden ist, (-4) wenn der neue Name schon definiert ist und (-5) wenn versucht wurde, in einem Programmlauf ein Bauteil mehrfach umzubenennen (z.B.a
inb
und anschließendb
inc
). Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
Diese Funktion verändert die Netzliste und erfordert daher einen anschließenden L_CPART-Index-Schleifen aufgerufen werden, da die vor dem Aufruf der Funktion belegten L_CPART-Indexvariablen anschließend ungültig sind.-Lauf. Die Funktion sollte auch nicht innerhalb von
int ar_pickelem( // Status & index L_FIGURE; // Rückgabe Element int [1,9]; // Elementtyp (LAY6 außer 7) );
Mit der Funktion ar_pickelem kann vom Benutzer mit der Maus ein Element des gewünschten übergebenen Typs selektiert werden. Der Rückgabewert ist Null bei erfolgter Selektion und (-1) wenn an der Pickposition kein Element des gewünschten Typs gefunden wurde.
int ar_setdblpar( // Status int [0,[; // Parametertyp/-nummer: // 0 = Netzsichtbarkeitsdialog Netznamenskontollelementbreite // [ 1 = Systemparameter - kein Schreibzugriff ] double; // Parameterwert );
Die Funktion
ar_setdblpar dient dazu, Systemparameter vom Typ
double
im
Autorouter zu setzen. Der Funktionsrückgabewert ist Null bei erfolgreicher Parameterzuweisung oder (-1) im Fehlerfall. Die Werte von mit
ar_setdblpar gesetzten Systemparametern können mit der Funktion
ar_getdblpar abgefragt werden.
Funktionen ar_getdblpar, ar_getintpar, ar_getstrpar, ar_setintpar, ar_setstrpar.
int ar_setintpar( // Status int [0,[; // Parametertyp/-nummer: // [ 0 = bae_setcolor benutzen ] // 1 = Minconaktualisierungsmodus // 2 = Warnmeldemodus: // Bit 0: SCM-Änderungs-Warnungen unterdrücken // Bit 1: im Autorouter nicht benutzt // Bit 2: Variantenvergleichswarnungen unterdrücken // 3 = Autosave-Intervall // 4 = Netzsichtbarkeitsdialogmodus: // 0 = Einzelspalte für Netznamenslistenanzeige // 1 = Mehrspaltige Netznamenslistenanzeige // [ 5 = Systemparameter - kein Schreibzugriff ] // [ 6 = Systemparameter - kein Schreibzugriff ] // 7 = Mincon-Flächenmodus (Bitmuster): // 0 = Kein Flächen-Mincon // |1 = Kupferflächen-Mincon // |2 = Potentialflächen-Mincon // 8 = Flag - Farbtabelle gesichert // 9 = Airlinefarbmodus: // 0 = Airlinefarbe benutzen // 1 = Lagenfarbe benutzen // 10 = Flag - Optimierung Bohrwerkzeugtabelle int; // Parameterwert );
Die Funktion
ar_setintpar dient dazu, Systemparameter vom Typ im
int
im
Autorouter zu setzen. Der Funktionsrückgabewert ist Null bei erfolgreicher Parameterzuweisung oder (-1) im Fehlerfall. Die Werte von mit
ar_setintpar gesetzten Systemparametern können mit der Funktion
ar_getintpar abgefragt werden.
Funktionen ar_getdblpar, ar_getintpar, ar_getstrpar, ar_setdblpar, ar_setstrpar.
int ar_setmincon( // Status
int [0,8]; //
Funktionstyp (LAY10)
);
Die Funktion ar_setmincon setzt den -Modus für die Airlineanzeige im Autorouter. Es wird ein Wert ungleich Null zurückgegeben, wenn ein ungültiger Modus angegeben wurde.
int ar_setnetattrib( // Status string; // Netzname string; // Attributname string; // Attributwert );
Die Funktion ar_setnetattrib setzt für das namentlich spezifizierte Signalnetz den Wert des angegebenen Attributs. Die maximal speicherbare Stringlänge für den Attributwert beträgt 40 Zeichen. Der Rückgabewert ist Null bei erfolgreicher Attributwertdefinition, (-1) wenn kein gültiges Element geladen ist, (-2) bei fehlenden bzw. ungültigen Parametern, (-3) wenn das Netz nicht gefunden wurde, oder (-4) wenn das Attribut mit dem angegebenen Namen nicht am Netz definiert ist.
int ar_setpickpreflay( // Status int; // Lage (LAY1) );
Die Funktion ar_setpickpreflay setzt die Vorzugslage für Elementwahl im Autorouter. Es wird ein Wert ungleich Null zurückgegeben, wenn keine gültige Lage angegeben wurde.
int ar_setplantoplay( // Status int [0,99]; // Lage (LAY1) );
Die Funktion ar_setplantoplay setzt die oberste Lage im Autorouter. Es wird ein Wert ungleich Null zurückgegeben, wenn keine gültige Signallage angegeben wurde.
int ar_setstrpar( // Returns status int [0,[; // Parameter type/number: // 0 = Autosave path name string; // Parameter value );
Die Funktion
ar_setstrpar dient dazu, Systemparameter vom Typ im
string
im
Autorouter zu setzen. Der Funktionsrückgabewert ist Null bei erfolgreicher Parameterzuweisung oder (-1) im Fehlerfall. Die Werte von mit
ar_setstrpar gesetzten Systemparametern können mit der Funktion
ar_getstrpar abgefragt werden.
Funktionen ar_getdblpar, ar_getintpar, ar_getstrpar, ar_setdblpar, ar_setintpar.
int ar_setwidedraw( // Status double ]0.0,[; // Breite (STD2) );
Die Funktion ar_setwidedraw setzt die Breite, ab der im Autorouter Leiterbahnen auf dem Bildschirm in Flächendarstellung angezeigt werden. Es wird ein Wert ungleich Null zurückgegeben, wenn eine ungültige Breite spezifiziert wurde.
int ar_storepart( // Status string; // Bauteilname string; // Bauteil Bibiotheksteilname double; // X-Koordinate (STD2) double; // Y-Koordinate (STD2) double; // Drehwinkel (STD3) int [0,1]; // Spiegelungsmodus (STD14) );
Die Funktion ar_storepart platziert ein Bauteil mit den angegebenen Parametern auf dem gegenwärtig geladenen Layoutelement. Wird eine Leerzeichenkette für den Bauteilnamen übergeben, so wird das nächste unplatzierte Bauteil der Netzliste verwendet. Der Rückgabewert ist gleich Null, wenn das Bauteil erfolgreich platziert wurde, (-1) bei ungültigen Daten, (-2) wenn alle Bauteile bereits platziert sind, (-3) wenn das Bauteil schon platziert ist, (-4) wenn es nicht ladbar ist, (-5) wenn die Bauteilpins nicht mit der Netzliste übereinstimmen und (-6) wenn die Bauteildaten nicht in die Jobdatenbank kopiert werden konnten.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int ar_storepath( // Status int [0,99]; // Lage (LAY1) double ]0.0,[; // Bahnbreite (STD2) );
Die Funktion ar_storepath erzeugt aus der internen Punktliste unter Verwendung der angegebenen Parameter eine Leiterbahn auf dem aktuell geladenen Layout bzw. Bauteil. Der Rückgabewert ist gleich Null, wenn die Bahn erfolgreich platziert wurde, (-1) wenn kein gültiges Element geladen ist, (-2) bei ungültigen Parametern, oder (-3) wenn die Punktliste ungültig ist.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int ar_storeuref( // Status string; // Referenz Bibiotheksteilname double; // X-Koordinate (STD2) double; // Y-Koordinate (STD2) double; // Drehwinkel (STD3) int; // Lagenoffset (für Pad auf Stack) int [0,1]; // Spiegelung (STD14) (für Pad auf Padst.) );
Die Funktion ar_storeuref platziert eine namenlose Referenz mit den angegebenen Parametern auf dem gegenwärtig geladenen Layoutelement. Namenlose Referenzen sind die Vias auf Layout- bzw. Bauteilebene und die Pads auf Padstackebene. Spiegelung, Lagenoffset und Drehwinkel werden für Vias ignoriert. Der Rückgabewert ist gleich Null, wenn die Referenz erfolgreich platziert wurde, (-1) bei ungültigen Daten, (-2) wenn sie nicht ladbar ist und (-3) wenn die Referenzdaten nicht in die Jobdatenbank kopiert werden konnten.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
L_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
Die nachfolgend aufgelisteten Systemfunktionen sind dem Aufruftyp CAM zugeordnet, d.h. diese Funktionen können im CAM-Prozessor aufgerufen werden:
int cam_askplotlayer( // Status & int; // Lagenrückgabe (LAY1) );
Die Funktion cam_askplotlayer aktiviert im CAM-Prozessor ein Menü zur Auswahl der Plot- bzw. Ausgabelage. Der Rückgabewert ist Null bei erfolgreicher Lagenauswahl oder (-1) bei Wahl des Menüpunktes Abbruch.
int cam_getdblpar( // Status int [0,[; // Parametertyp/-nummer: // [ 0 = Systemparameter, nur Schreibzugriff ] // 1 = Bitmapplotpixelauflösung (STD2) // 2 = Letztes Bitmapplotpixelverhätnis & double; // Rückgabe Parameterwert );
Die Funktion
cam_getdblpar dient der Abfrage von mit
cam_setdblpar in
CAM-Prozessor gesetzten Parametern vom Typ
double
. Der Funktionsrückgabewert ist Null bei erfolgreicher Abfrage oder (-1) im Fehlerfall.
Funktionen cam_getintpar, cam_setdblpar, cam_setintpar.
double cam_getdrlaccuracy( // Bohrwerkzeugtoleranz (STD2) );
Der Rückgabewert der Funktion cam_getdrlaccuracy entspricht dem aktuell im CAM-Prozessor eingestellten Wert für die Toleranz des Bohrwerkzeugs.
Funktion cam_setdrlaccuracy.
void cam_getgenpltparam( & int; // Alle Lagen Modus: // 0 = aus // 1 = ein & int; // Umrandungsmodus: // 0 = aus // 1 = ein & int; // Drehung: // 0 = Drehung 0 Grad // 1 = Drehung 90 Grad links & int; // Spiegelung (CAM1) & int; // Passermarkenmodus: // 0 = aus // 1 = ein & double; // Plotgenauigkeit (STD2) & double; // Plot Nullpunkt X-Koordinate (STD2) & double; // Plot Nullpunkt Y-Koordinate (STD2) );
Die Funktion cam_getgenpltparam gibt die aktuell im CAM-Prozessor eingestellten allgemeinen Plotparameter zurück.
int cam_getgerberapt( // Status int [1,900]; // Blendentabellenindex & int; // Blende D-Code: // 10..999 = gültige D-Codes // (-1) = Blende nicht definiert & int; // Blendentyp: // 0 = Spezialblende // 1 = Runde Blende // 2 = Quadratische Blende // 3 = Therm. Blende (Wärmefalle) // 4 = Rechteckige Blende & int; // Blendenzeichenmodus: // 0 = Blende für alle Zeichenmodi // 1 = Blende zum Blitzen // 2 = Blende für Linienstrukturen & double; // Blendengröße (STD2) & double; // Blendengröße 2 (STD2) );
Die Funktion cam_getgerberapt ermittelt die Definition der unter dem angegebenen Index der aktuell im CAM-Prozessor geladenen Blendentabelle eingetragenen Gerberblende. Wird der Wert (-1) für den D-Code zurückgegeben, dann bedeutet dies, dass keine Blende an der angegebenen Tabellenposition definiert ist. Der Funktionsrückgabewert ist ungleich Null bei fehlenden bzw. ungültigen Parametern.
void cam_getgerberparam( & string; // Gerber Dateiname & double; // Standardlinienbreite (STD2) & int; // Gerber Format (CAM4) & int; // Gerber Optimierung: // 0 = Optimierung aus // 1 = Optimierung ein & int; // Füllverfahren: // 0 = Linien-Füllen // 1 = Multiblenden-Füllen // 2 = G36/G36-Füllmodus & int; // Kreisbogen-Ausgabemodus: // 0 = Kreisbogen-Interpolation // 1 = Ausg. mit Gerber I/J-Befehlen & int; // Extended Gerber (RS-274-X) Modus: // 0 = Kein Extended Gerber // 1 = Extended Gerber mit Standard-Blendentabelle // 2 = Extended Gerber mit dynamischer Blendentabelle );
Die Funktion cam_getgerberparam gibt die aktuell im CAM-Prozessor eingestellten Gerber-Plotparameter zurück.
void cam_gethpglparam( & string; // HP-GL Plotdateiname & double; // HP-GL Maßstab & double; // HP-GL Geschwindigkeit (-1.0 volle Geschw.) & double; // HP-GL Stiftbreite (STD2) & int; // HP-GL Füllmodus: // 0 = Füllen aus // 1 = Füllen ein );
Die Funktion cam_gethpglparam gibt die aktuell im CAM-Prozessor eingestellten HP-GL-Plotparameter zurück.
int cam_getintpar( // Status int [0,[; // Parametertyp/-nummer: // 0 = Farbcode für Oberste Lage // 1 = Wärmefallenbasiswinkel // 2 = Warnmeldemodus: // Bit 0: SCM-Änderungs-Warnungen unterdrückt // Bit 1: im CAM-Prozessor nicht benutzt // Bit 2: Variantenvergleichswarnungen unterdrückt // 3 = Flächenspiegelsicht: // 0 = Standardflächenspiegelsicht // 1 = Flächenspiegelsicht deaktiviert // 4 = Letzter Pixelplotergebnistyp: // -1 = noch kein Pixelplot // 0 = Pixelverhältnis Platinenumrandung // 1 = Pixelverhältnis Elementgrenzen // 5 = Letzte Pixelplot-Pixelanzahl // 6 = Letzte Pixelplot-Kupferpixelanzahl // 7 = Skalierungsmodus Generische Printausgabe: // 0 = Fester Skalierungsfaktor // 1 = Skalierung auf Papiergröße/span> // 8 = Flag - Farbtabelle gesichert // 9 = Airlinefarbmodus: // 0 = Airlinefarbe benutzen // 1 = Lagenfarbe benutzen // 10 = Bitmapumrandungsfräsmodus: // 0 = Keine Fräsung // 1 = Gefüllte Umrandung fräsen // 11 = Generischer Printer Zeichenmodus: // 0 = Farbe setzen // 1 = Farbe mischen // 12 = Batchausgabeflag // 13 = Flag - Optimierung Bohrwerkzeugtabelle // 14 = Plotvorschaumodus: // 0 = Keine Plotvorschau // 1 = Plotterstiftbreite & int; // Rückgabe Parameterwert );
Die Funktion cam_getintpar dient der Abfrage von mit cam_setintpar im CAM-Prozessor gesetzten Integerparametern. Der Funktionsrückgabewert ist Null bei erfolgreicher Abfrage oder (-1) im Fehlerfall.
Funktions cam_getdblpar, cam_setdblpar, cam_setintpar.
int cam_getplotlaycode( // HP-GL-Plot-Stiftnummer (CAM4) int; // Lagennummer (LAY1) );
Die Funktion cam_getplotlaycode ermittelt die für die spezifizierte Lage aktuell selektierte bzw. gesetzte HP-GL-Plot-Stiftnummer für Multilayer-Plots. Die lagenspezifischen HP-GL-Plot-Stiftnummern werden auch bei der Erzeugung von Multilayer-Plots in anderen Formaten als HP-GL ausgewertet. Positive Stiftnummern kennzeichnen hierbei Lagen, die für die Ausgabe selektiert sind, während Lagen mit negativer Stiftnummer nicht geplottet werden.
Funktion cam_setplotlaycode.
void cam_getpowpltparam( & double; // Min. Distanz Wärmefalle-Bohrung (STD2) & double; // Min. Distanz Isolation-Bohrung (STD2) & double; // Toleranz Wärmefalle-Bohrung (STD2) & double; // Toleranz Isolation-Bohrung (STD2) & double; // Breite Vers.-lagenumrandung (STD2) & double; // Breite Power Plane Isolation (STD2) );
Die Funktion cam_getpowpltparam gibt die aktuell im CAM-Prozessor eingestellten Versorgungslagen-Plotparameter zurück.
double cam_getwidedraw( // Breite (STD2) );
Der Rückgabewert der Funktion cam_getwidedraw entspricht der Breite, ab der im CAM-Prozessor Leiterbahnen auf dem Bildschirm in Flächendarstellung angezeigt werden.
int cam_plotgerber( // Status int; // Lage (LAY1) string; // Gerber Dateiname double [0.00001,0.01]; // Standardlinienbreite (STD2) double ]0.00000000053,[;// Länge einer Ploteinheit (CAM2) int [0,1]; // Gerber Optimierung: // 0 = Optimierung aus // 1 = Optimierung ein int [0,2]; // Füllverfahren: // 0 = Linien-Füllen // 1 = Multiblenden-Füllen // 2 = G36/G36-Füllmodus int [0,1]; // Kreisbogenausgabemodus: // 0 = Kreisbogeninterpolation // 1 = Ausg. mit Gerber I/J-Befehlen int [0,2]; // Extended Gerber (RS-274-X) Modus: // 0 = Kein Extended Gerber // 1 = Ext. Gerber mit Standard-Blendentabelle // 2 = Ext. Gerber mit dynamischer Blendentabelle int [0,1]; // Error Reset Flag: // 0 = alte Fehler nicht löschen // 1 = alte Fehler löschen & int; // Anzahl geblitzte Strukturen & int; // Anzahl rechteckgefüllte Strukturen & int; // Anzahl kreisgefüllte Strukturen & int; // Anzahl multigefüllte Strukturen & int; // Anzahl liniengefüllte Strukturen & int; // Anzahl gezeichneter Wärmefallen & int; // Anzahl Überzeichnungsfehler );
Die Funktion cam_plotgerber erzeugt die Gerber-Plotdaten für die spezifizierte Lage und schreibt die Plotdaten in eine Datei. Wird für den Dateinamen eine Leerzeichenkette übergeben, so werden nur die übergebenen Parameter für Standardlinienbreite, Füllverfahren und Kreisbogen-Ausgabemodus gesetzt und ggf. die Fehleranzeige gelöscht. Der Rückgabewert dieser Funktion ist Null bei fehlerfreiem Plot, 1 bei ungültigen Parametern (Parameter nicht im Wertebereich, keine passende Blende für Standardlinienbreite, ...), und (-1) wenn Plot-Fehler aufgetreten sind. Überzeichnungsfehler werden am Bildschirm hervorgehoben (d.h. mit Highlight) dargestellt.
int cam_plothpgl( // Status int; // Lage (LAY1) int [1,99]; // Stiftnummer string; // HP-GL Dateiname double [0.1,100]; // Maßstab double [-1.0,99]; // Geschwindigkeit ([Zentimeter/Sekunde]) oder: // -1.0 = volle Geschwindigkeit double [0.00001,0.01]; // Stiftbreite (STD2) int [0,1]; // Füllmodus: // 0 = Füllen aus // 1 = Füllen ein int [0,1]; // Error Reset Flag: // 0 = alte Fehler nicht löschen // 1 = alte Fehler löschen & int; // Rückgabe Anzahl Überzeichnungsfehler );
Die Funktion cam_plothpgl erzeugt die HP-GL-Plotdaten für die spezifizierte Lage und schreibt die Plotdaten in eine Datei. Wird für den Dateinamen eine Leerzeichenkette übergeben, so werden nur die übergebenen Parameter gesetzt. Der Rückgabewert dieser Funktion ist Null bei fehlerfreiem Plot, und (-1) bei ungültigen Parametern bzw. wenn Plot-Fehler aufgetreten sind. Überzeichnungsfehler werden am Bildschirm hervorgehoben dargestellt.
int cam_setdblpar( // Status int [0,[; // Parametertyp/-nummer: // 0 = Wert für dynamische Blendenexpansion hinzufügen, 0.0 = Liste löschen (STD2) // 1 = Bitmapplotpixelauflösung (STD2) // 2 = Letztes Bitmapplotpixelverhätnis double; // Parameterwert );
Die Funktion
cam_setdblpar dient dazu,
CAM-Prozessor-Systemparameter vom Typ
double
zu setzen. Der Funktionsrückgabewert ist Null bei erfolgreicher Parameterzuweisung oder (-1) im Fehlerfall. Die Werte von mit
cam_setdblpar gesetzten Systemparametern können mit der Funktion
cam_getdblpar abgefragt werden.
Funktionen cam_getdblpar, cam_getintpar, cam_setintpar.
int cam_setdrlaccuracy( // Status double [0.0,0.01]; // Bohrwerkzeugtoleranz (STD2) );
Die Funktion cam_getdrlaccuracy setzt den Wert für die Toleranz des Bohrwerkzeugs im CAM-Prozessor. Der Funktionsrückgabewert ergibt sich zu Null bei erfolgreicher Einstellung des Toleranzwerts oder zu einem Wert ungleich Null, wenn die Einstellung nicht vorgenommen werden konnte.
Funktion cam_getdrlaccuracy.
int cam_setgenpltparam( // Status int [0,1]; // Alle Lagen Modus: // 0 = Alle Lagen Modus deaktiviert // 1 = Alle Lagen Modus aktiviert // 2 = Plotten alle angeschlossenen Pins/Vias // 3 = Plotten alle Pins und angeschlossene Vias // 4 = Plotten alle Vias und angeschlossene Pins int [0,1]; // Umrandungsmodus: // 0 = aus // 1 = ein int [0,1]; // Drehung: // 0 = Drehung 0 Grad // 1 = Drehung 90 Grad links int [0,5]; // Spiegelung (CAM1) int [0,1]; // Passermarkenmodus: // 0 = aus // 1 = ein double [0.0,0.01]; // Plotgenauigkeit (STD2) double; // Plot Nullpunkt X-Koordinate (STD2) double; // Plot Nullpunkt Y-Koordinate (STD2) );
Die Funktion cam_setgenpltparam setzt die allgemeinen Plotparameter im CAM-Prozessor. Der Rückgabewert der Funktion ist ungleich Null, wenn ungültige Parameter angegeben wurden.
int cam_setgerberapt( // Status int [1,900]; // Blendentabellenindex int; // Blende D-Code: // 10..999 = gültige D-Codes // (-1) = Blendendef. löschen int [0,3]; // Blendentyp: // 0 = Spezialblende // 1 = Runde Blende // 2 = Quadratische Blende // 3 = Therm. Blende (Wärmefalle) // 4 = Rechteckige Blende int [0,2]; // Blendenzeichenmodus: // 0 = Blende für alle Zeichenmodi // 1 = Blende zum Blitzen // 2 = Blende für Linienstrukturen double [0.0,[; // Blendengröße (STD2) double [0.0,[; // Blendengröße 2 (STD2) );
Die Funktion cam_setgerberapt definiert eine Gerberblende mit den angegebenen Parametern unter dem angegebenen Index der aktuell im CAM-Prozessor geladenen Blendentabelle. Wird der Wert (-1) für den D-Code angegeben, dann wird die in der angegebenen Tabellenposition eingetragene Blendendefinition gelöscht. Bei der Definition einer Spezialblende wird die Blendengröße ignoriert. Der Funktionsrückgabewert ist ungleich Null bei fehlenden bzw. ungültigen Parametern.
int cam_setintpar( // Status int [0,[; // Parametertyp/-nummer: // [ 0 = bae_setcolor benutzen ] // 1 = Wärmefallenbasiswinkel // 2 = Warnmeldemodus: // Bit 0: SCM-Änderungs-Warnungen unterdrücken // Bit 1: im CAM-Prozessor nicht benutzt // Bit 2: Variantenvergleichswarnungen unterdrücken // [ 3 = Systemparameter - kein Schreibzugriff ] // [ 4 = Systemparameter - kein Schreibzugriff ] // [ 5 = Systemparameter - kein Schreibzugriff ] // [ 6 = Systemparameter - kein Schreibzugriff ] // 7 = Skalierungsmodus Generische Printausgabe: // 0 = Fester Skalierungsfaktor // 1 = Skalierung auf Papiergröße/span> // 8 = Flag - Farbtabelle gesichert // 9 = Airlinefarbmodus: // 0 = Airlinefarbe benutzen // 1 = Lagenfarbe benutzen // 10 = Bitmapumrandungsfräsmodus: // 0 = Keine Fräsung // 1 = Gefüllte Umrandung fräsen // 11 = Generischer Printer Zeichenmodus: // 0 = Farbe setzen // 1 = Farbe mischen // 12 = Batchausgabeflag // 13 = Flag - Optimierung Bohrwerkzeugtabelle // 14 = Plotvorschaumodus: // 0 = Keine Plotvorschau // 1 = Plotterstiftbreite int; // Parameterwert );
Die Funktion
cam_setintpar dient dazu, Systemparameter vom Typ im
int
im
CAM-Prozessor zu setzen. Der Funktionsrückgabewert ist Null bei erfolgreicher Parameterzuweisung oder (-1) im Fehlerfall. Die Werte von mit
cam_setintpar gesetzten Systemparametern können mit der Funktion
cam_getintpar abgefragt werden.
Funktions cam_getdblpar, cam_getintpar, cam_setdblpar.
void cam_setplotlaycode( int; // Lagennummer (LAY1) int; // HP-GL-Stiftnummer (CAM4) );
Die Funktion cam_setplotlaycode selektiert bzw. setzt die angegebene lagenspezifische HP-GL-Plot-Stiftnummer für Multilayer-Plots. Die lagenspezifischen HP-GL-Plot-Stiftnummern werden auch bei der Erzeugung von Multilayer-Plots in anderen Formaten als HP-GL ausgewertet. Positive Stiftnummern kennzeichnen hierbei Lagen, die für die Ausgabe selektiert sind, während Lagen mit negativer Stiftnummer nicht geplottet werden.
Funktion cam_getplotlaycode.
int cam_setpowpltparam( // Status double [0.0,0.01]; // Min. Distanz Wärmefalle-Bohrung (STD2) double [0.0,0.01]; // Min. Distanz Isolation-Bohrung (STD2) double [0.0,0.01]; // Toleranz Wärmefalle-Bohrung (STD2) double [0.0,0.01]; // Toleranz Isolation-Bohrung (STD2) double [0.0,0.02]; // Breite Vers.-lagenumrandung (STD2) double [0.0,0.02]; // Breite Power Plane Isolation (STD2) );
Die Funktion cam_setpowpltparam setzt die Versorgungslagen-Plotparameter im CAM-Prozessor. Der Rückgabewert der Funktion ist ungleich Null, wenn ungültige Parameter angegeben wurden.
int cam_setwidedraw( // Status double ]0.0,[; // Breite (STD2) );
Die Funktion cam_setwidedraw setzt die Breite, ab der im CAM-Prozessor Leiterbahnen auf dem Bildschirm in Flächendarstellung angezeigt werden. Es wird ein Wert ungleich Null zurückgegeben, wenn eine ungültige Breite spezifiziert wurde.
Die nachfolgend aufgelisteten Systemfunktionen sind dem Aufruftyp CV zugeordnet, d.h. diese Funktionen können im CAM-View-Modul aufgerufen werden:
int cv_aptgetcolor( // Farbwert (STD18) int; // Blendenindex int; // Blendenmodus );
Die Funktion cv_aptgetcolor ermittelt den Farbwert, der in CAM-View zur Darstellung des angegebenen Gerber-Blendentyps benutzt wird.
Funktion cv_aptsetcolor.
int cv_aptsetcolor( // Status int; // Blendenindex int; // Blendenmodus int [-33554432,33554431]; // Farbwert (STD18) );
Die Funktion cv_aptsetcolor setzt den Farbwert, der in CAM-View zur Darstellung des angegebenen Gerber-Blendentyps benutzt werden soll. Der Funktionsrückgabewert ist Null bei erfolgreicher Zuweisung oder ungleich Null andernfalls.
Funktion cv_aptgetcolor.
int cv_deldataset( // Status int [0,[; // Datensatz Index );
Die Funktion cv_deldataset löscht den angebenen CAM-View-Datensatz aus dem Arbeitsbereich. Der Funktionsrückgabewert ist Null bei erfolgreicher Ausführung der Operation oder ungleich Null andernfalls.
Funktion cv_movedataset.
int cv_getdblpar( // Status int [0,[; // Parametertyp/-nummer: // 0 = Eingabe X-Offset (STD2) // 1 = Eingabe Y-Offset (STD2) // 2 = Wärmefallenisolationsbreite (STD2) // 3 = Breitendarstellung Startbreite (STD2) // 4 = Länge einer Gerber Plottereinheit (STD2) & double; // Rückgabe Parameterwert );
Die Funktion
cv_getdblpar dient der Abfrage von mit
cv_setdblpar in
CAM-View gesetzten Parametern vom Typ
double
. Der Funktionsrückgabewert ist Null bei erfolgreicher Abfrage oder (-1) im Fehlerfall.
Funktionen cv_getintpar, cv_setdblpar, cv_setintpar.
int cv_getintpar( // Status int [0,[; // Parametertyp/-nummer: // 0 = Lagenabfragemodus für Gerber-Import: // 0 = Lage für Line- und Flashstrukturen identisch // 1 = Lagenabfrage für Line- und Flashstrukturen // 1 = Gerber-Lagenabfrage: // 0 = Lage nicht benutzt // 1 = Lage benutzt // 2 = Farbtabelle/Farbzuweisung: // 0 = Blendenspezifische Farbtabelle/Farbzuweisung // 1 = Lagenspezifische Farbtabelle/Farbzuweisung // 3 = Flächenbilddarstellungsmodus: // 0 = Füllflächenanzeige // 1 = Umrandungsanzeige // 4 = Via D-Code // 5 = Wärmefallenbasiswinkel // 6 = Gerber Optimierung: // 0 = Koordinatenoptimierung aus // 1 = Koordinatenoptimierung ein // 7 = Gerber Kreisbogenmodus: // 0 = Beliebige Gerber-Kreisbogenwinkel // 1 = Maximal 90 Grad Gerber-Kreisbogenwinkel // 8 = Eingabedatenspiegelungsmodus: // 0 = Spiegeln aus // 1 = Spiegeln an X-Achse // 2 = Spiegeln an Y-Achse // 3 = Spiegeln am Ursprung // 9 = Nullzifferunterdrückung: // 0 = Führende Nullen unterdrücken // 1 = Nachfolgende Nullen unterdrücken // 10 = Extended Gerber: // 0 = Extended Gerber aus // 1 = Extended Gerber ein // 11 = Gerber Koordinatenangabe: // 0 = Absolut-Koordinaten // 1 = Inkremental-Koordinaten mit Reset // 2 = Inkremental-Koordinaten ohne Reset // 12 = Gerber Documentarlagenmodus: // 0 = Flashes als Dokumentarlinie // 1 = Flashes als Dokumentarfläche & int; // Rückgabe Parameterwert );
Die Funktion
cv_getintpar dient der Abfrage von mit
cv_setintpar in
CAM-View gesetzten Parametern vom Typ
int
. Der Funktionsrückgabewert ist Null bei erfolgreicher Abfrage oder (-1) im Fehlerfall.
Funktionen cv_getdblpar, cv_setdblpar, cv_setintpar.
int cv_movedataset( // Status int [0,[; // Datensatz Index int; // Datensatz Spiegelungsflag double; // Datensatz Verschiebung X-Versatz (STD2) double; // Datensatz Verschiebung Y-Versatz (STD2) );
Die Funktion cv_movedataset verschiebt (und spiegelt) den angebenen CAM-View-Datensatz um den spezifizierten Versatz in X- und Y-Richtung. Der Funktionsrückgabewert ist Null bei erfolgreicher Ausführung der Operation oder ungleich Null andernfalls.
Funktion cv_deldataset.
int cv_setdblpar( // Status int [0,[; // Parametertyp/-nummer: // 0 = Eingabe X-Offset (STD2) // 1 = Eingabe Y-Offset (STD2) // 2 = Wärmefallenisolationsbreite (STD2) // 3 = Breitendarstellung Startbreite (STD2) // 4 = Länge einer Gerber Plottereinheit (STD2) double; // Parameterwert );
Die Funktion
cv_setdblpar dient dazu,
CAM-View-Systemparameter vom Typ
double
zu setzen. Der Funktionsrückgabewert ist Null bei erfolgreicher Parameterzuweisung oder (-1) im Fehlerfall. Die Werte von mit
cv_setdblpar gesetzten Systemparametern können mit der Funktion
cv_getdblpar abgefragt werden.
Funktionen cv_getdblpar, cv_getintpar, cv_setintpar.
int cv_setintpar( // Status int [0,[; // Parametertyp/-nummer: // 0 = Lagenabfragemodus für Gerber-Import: // 0 = Lage für Line- und Flashstrukturen identisch // 1 = Lagenabfrage für Line- und Flashstrukturen // 1 = Gerber-Lagenbenutzung: // Parameter nur für Lesezugriff! // 2 = Farbtabelle/Farbzuweisung: // 0 = Blendenspezifische Farbtabelle/Farbzuweisung // 1 = Lagenspezifische Farbtabelle/Farbzuweisung // 3 = Flächenbilddarstellungsmodus: // 0 = Füllflächenanzeige // 1 = Umrandungsanzeige // 4 = Via D-Code // 6 = Gerber Optimierung: // 0 = Koordinatenoptimierung aus // 1 = Koordinatenoptimierung ein // 7 = Gerber Kreisbogenmodus: // 0 = Beliebige Gerber-Kreisbogenwinkel // 1 = Maximal 90 Grad Gerber-Kreisbogenwinkel // 8 = Eingabedatenspiegelungsmodus: // 0 = Spiegeln aus // 1 = Spiegeln an X-Achse // 2 = Spiegeln an Y-Achse // 3 = Spiegeln am Ursprung // 9 = Nullzifferunterdrückung: // 0 = Führende Nullen unterdrücken // 1 = Nachfolgende Nullen unterdrücken // 10 = Extended Gerber: // 0 = Extended Gerber aus // 1 = Extended Gerber ein // 11 = Gerber Koordinatenangabe: // 0 = Absolut-Koordinaten // 1 = Inkremental-Koordinaten mit Reset // 2 = Inkremental-Koordinaten ohne Reset // 12 = Gerber Documentarlagenmodus: // 0 = Flashes als Dokumentarlinie // 1 = Flashes als Dokumentarfläche int; // Parameterwert );
Die Funktion
cv_setintpar dient dazu,
CAM-View-Systemparameter vom Typ
int
zu setzen. Der Funktionsrückgabewert ist Null bei erfolgreicher Parameterzuweisung oder (-1) im Fehlerfall. Die Werte von mit
cv_setintpar gesetzten Systemparametern können mit der Funktion
cv_getintpar abgefragt werden.
Funktionen cv_getdblpar, cv_getintpar, cv_setdblpar.
Bartels :: Bartels AutoEngineer :: BAE Dokumentation :: User Language Programmierhandbuch :: Systemfunktionen :: PCB-Design-Systemfunktionen |
PCB-Design-Systemfunktionen
© 1985-2025 Oliver Bartels F+E