Thema: Feature-Technik
Diese Funktion durchsucht eine Tabelle im Katalog nach beliebigen Kriterien und liefert den Index des ersten gefundenen Eintrags zurück.
item_id('tabelle';('spalte';'Wert');('spalte2';'wert2');...)
Der erste Parameter ist dabei der interne Name der zu durchsuchenden Tabelle im Katalog. Diesen erhalten Sie, indem Sie im Katalogeditor die gewünschte Tabelle mit der rechten Maustaste anklicken und im Kontextmenü den Eintrag Aliasnamen ändern auswählen. Der interne Name der Tabelle steht im dann erscheinenden Dialogfenster im Feld Eintrag. Diesen Dialog können Sie anschließend über einen Klick auf die Schaltfläche Abbrechen wieder schließen.
Zudem können Sie beliebig viele, mindestens jedoch einen Suchfilter angeben. Suchfilter bestehen aus einer Liste, welche aus dem Namen der Spalte als String und den zu suchenden Wert als Zahl oder String besteht. Beispiele für Suchfilter sind:
('DN';12)
sucht in der Spalte DN
nach dem Zahlenwert 12
('TYPE';'R')
sucht in der Spalte TYPE
nach dem Stringwert R
('P';1.5)
sucht in der Spalte P
nach dem Zahlenwert 1,5
Dabei sind die Klammern als Kennzeichnung für die Liste nötig und können nicht weggelassen werden.
Als Rückgabewert gibt diese Funktion die Zeilennummer des ersten Eintrags zurück, der alle Suchfilter erfüllt. Gibt es keinen passenden Eintrag, wird 0
zurückgegeben.
item_id('DIN_158_I';('DN';12))
sucht in der Tabelle aus dem obigen Screenshot nach Einträgen, die in der Spalte DN
den Wert 12
eingetragen haben, und gibt die Zeilennummer des ersten gefundenen Eintrags zurück.
item_id('DIN_158_I';('DN';12);('TYPE';'R');('P';1.5))
sucht in der Tabelle nach Einträgen mit DN=12
, TYPE='R'
und P=1.5
.
Diese Formeln wurden durch die moderne Funktion item_id
ersetzt, können aber weiterhin verwendet werden.
Diese Formel sucht IDs aus beliebigen Hicad-Normdateien (IPT-Dateien) anhand von gegebenen Kriterien.
Syntax: item_id_v('Normdatei';'Spaltenname';Wert)
v = value
|
Variablentyp |
Beschreibung |
1. Parameter |
String |
Name der Normdatei |
2. Parameter |
String |
Name der Spalte (Typ INT oder DBL) |
3. Parameter |
Real |
gesuchter Wert (Typ INT oder DBL) |
Rückgabewert |
Real |
Item-Id, welche das gesuchte Teil beschreibt |
item_id_sv('Normdatei','Spaltenname 1';'Wert 1';'Spaltenname 2'; Wert 2)
sv = string,value
|
Variablentyp |
Beschreibung |
1. Parameter |
String |
Name der Normdatei |
2. Parameter |
String |
Name der 1.Spalte (Typ STR) |
3. Parameter |
Real |
gesuchter Wert (Typ STR) |
4. Parameter |
String |
Name der 2.Spalte (Typ INT oder DBL) |
5. Parameter |
Real |
gesuchter Wert (Typ INT oder DBL) |
Rückgabewert |
Real |
Item-Id, welche das gesuchte Teil beschreibt |
Beispiele:
Stirnplatten-Dicke und Material beeinflussen:
Stirnplatte-Feature: Parameter Kennung: item_id_sv ('BLECH';'MATERIAL';'S235JRG2';'S';20)
Trägerhöhe eines I-Profils:
I-Profil-Feature: Parameter Kennung: item_id_v('DIN_1025-1';'H';200)
Erläuterung
Wie komme ich an die Norm-Bezeichnung?
Angenommen es soll die Dicke einer Stirnplatte parametrisiert werden. Die Dicke selber wird nicht im Feature angeboten, da sie sich aus einer Zeile einer Normdatei ergibt. Klappt man das Erzeugungsfeature der Stirnplatte auf, sieht man den Eintrag 'Katalog: 127'. Die Zahl 127 ist die interne Repräsentation der Normdatei für Bleche. Um nun von der Zahl auf den Namen der Normdatei zu schließen, öffnet man die Datei \Kataloge\sys\TBLIDs.DAT. Hier sucht man die Zeile mit dem Wert 127 und erhält so die genaue Bezeichnung der Normdatei: 'BLECH'.
Wie komme ich an die Spaltennamen?
Nun sucht man im Verzeichnis \Kataloge nach der Datei 'BLECH.ipt' und öffnet diese mit einem Texteditor. Hier findet man die Spalten mit ihren genauen Bezeichnungen und Datentypen im Klartext.
© Copyright 1994-2021, ISD Software und Systeme GmbH |
Datenschutz • AGB • Cookies • Kontakt • Impressum