Gebruikersattribuutwaarden importeren
U kunt gebruikersattribuutwaarden (UDA) vanuit een tekstbestand in een model importeren. U kunt bijvoorbeeld een lijst met gefabriceerde of gecontroleerde merken importeren. U kunt ook bestaande waarden van gebruikersattributen wissen via attribuutimport.
U kunt attribuutwaarden in Tekla Structures-modelobjecten, tekeningen en enkele referentiemodelobjecten importeren (indien geconfigureerd, raadpleeg Gebruikersattributen (UDA´s) in referentiemodellen toevoegen). U definieert overeenkomende criteria voor de attribuutimport in het invoerbestand en u kunt daarnaast ook de importomvang beperken tot objecten die u in het model selecteert of tot referentiemodelobjecten.
Het invoerbestand kan het volgende zijn:
-
Geëxporteerd uit andere software.
-
Handmatig gemaakt met een standaard teksteditor, bijvoorbeeld Microsoft Kladblok.
-
Gemaakt vanuit Microsoft Excel door het bestand met het commando Opslaan als op te slaan naar de indeling Tekst (tab is scheidingsteken) (*.txt).
-
Een eenvoudige Tekla Structures-lijst met de onderdeel-GUID's en gebruikersattributen.
Er zijn alternatieve manieren om gegevens in gebruikersattributen te importeren. Gebruikersattributen kunnen bijvoorbeeld worden gevuld wanneer u IFC-objecten importeert en deze naar oorspronkelijke Tekla Structures-objecten converteert. Er zijn ook verschillende extensies in Tekla Warehouse waarmee u gebruikersattribuutgegevens kunt wijzigen.
Structuur invoerbestand
Scheidingstekens
Een scheidingsteken is een teken dat verschillende velden scheidt die zich op dezelfde regel bevinden. U kunt velden afscheiden met elk ASCII-teken dat niet verschijnt in de namen of waarden van de attributen die u importeert. U kunt meerdere alternatieve scheidingstekens in hetzelfde invoerbestand gebruiken. Veelvoorkomende scheidingstekens bevatten de komma, tab, puntkomma en spatie.
Veld- en waardedefinities
De eerste regel in het invoerbestand is een header die de velden voor de rest van het invoerbestand definieert. Alle andere regels in het invoerbestand bevatten de waarden voor de velden die u op de eerste regel hebt genoemd.
De eerste regel moet ten minste één sleutelveld bevatten dat de modelobjecten of tekeningen identificeert en ten minste één gebruikersattribuutnaam die een gebruikersattribuutveld identificeert waarin u nieuwe waarden wilt importeren. De namen van veel van de velden zijn anders dan de veldlabels die u in de gebruikersinterface ziet. De namen van de gebruikersattributen worden gedefinieerd in de bestanden objects.inp die op het model van toepassing zijn (raadpleeg de referentie over hoe het bestand moet worden gelezen).
Het configuratiebestand import_macro_data_types.dat (dat verderop wordt uitgelegd) definieert welke velden u in de attribuutimport kunt gebruiken en wat elk gegevenstype van het attribuut is. Het is niet mogelijk om de sleutelvelden toe te voegen of te wijzigen, maar u kunt de set met gebruikersattributen bewerken. De waarden worden als strings (tekst) geïmporteerd tenzij er in het bestand import_macro_data_types.dat een ander gegevenstype voor het attribuut wordt gedefinieerd.
Beschikbare sleutelvelden
De sleutelvelden voor modelobjecten zijn:
Sleutelveld |
Voorbeeld |
Actie |
---|---|---|
|
|
Tekla Structures wijst de gebruikersattributen op deze regel in het invoerbestand aan het modelobject met de |
of
|
|
Tekla Structures wijst de gebruikersattributen op deze regel in het invoerbestand aan het merk met een Herhaal deze regel voor ieder merk dat u wilt opnemen. |
|
|
Tekla Structures wijst de gebruikersattributen op deze regel in het invoerbestand aan het merk met een U moet ook |
De sleutelvelden voor tekeningobjecten zijn:
Sleutelveld |
Voorbeeld |
Actie |
---|---|---|
|
|
Tekla Structures wijst de gebruikersattributen op deze regel in het invoerbestand aan de tekening met een Gebruik beide sleutelvelden in het invoerbestand. |
|
|
Tekla Structures wijst de gebruikersattributen op deze regel in het invoerbestand aan het tekeningobject met een |
Lege waarden
Het is mogelijk dat sommige regels in het invoerbestand niet voor alle attribuutvelden een waarde hebben (er kunnen twee of meer opeenvolgende scheidingstekens tussen waarden staan). Deze lege waarden kunnen tijdens het importeren worden overgeslagen zonder wijzigingen aan de gebruikersattributen aan te brengen of u kunt deze lege waarden gebruiken om bestaande gebruikersattribuutwaarden in uw model te wissen. Lege waarden worden standaard overgeslagen. Als u bestaande waarden in plaats daarvan wilt wissen, stelt u de variabele XS_ERASE_UDA_VALUE_WITH_ATTRIBUTE_IMPORT_NULL_AND_BLANK
in een ini-bestand in op TRUE
.
Inleesvolgorde
Tekla Structures leest het invoerbestand in volgorde vanaf de eerste regel. Als er dubbele sleutelvelden op de volgende regels staan, wordt alleen het eerste exemplaar geïmporteerd.
Gegevensbestand (import_macro_data_types.dat)
Als u in een gebruikersattribuut een waarde wilt importeren, moeten de veldnaam en het gegevenstype in het gegevensbestand import_macro_data_types.dat correct worden gedefinieerd. U kunt gebruikersattribuutvelden waarin de gegevens worden geïmporteerd, toevoegen, bewerken en verwijderen. Bewerk het gedeelte sleutelvelden van het bestand niet. Het is niet mogelijk om nieuwe sleutelvelden toe te voegen.
Bestandslocatie
Het standaard gegevensbestand bevindt zich in de map system in de omgevingsmap, bijvoorbeeld C:\ProgramData\Trimble\Tekla Structures\<version>\environments\common\system. Er kan zich in de omgeving die u gebruikt ook een gelokaliseerde versie van het bestand bevinden.
Breng geen wijzigingen in de standaard bestanden aan. Maak in plaats daarvan een kopie van het bestand en sla deze in een andere locatie op, bijvoorbeeld in de bedrijfsmap of in de map attributes in de modelmap. Op deze manier worden uw wijzigingen niet overschreven wanneer u Tekla Structures opnieuw installeert of bijwerkt. Als het bestand op meerdere locaties bestaat, wordt de standaard zoekvolgorde voor mappen gevolgd en wordt alleen het eerst gelezen bestand gebruikt.
Bestandsinhoud
Het bestand import_macro_data_types.dat is tekst zonder opmaak. U kunt het bestand in elke standaard teksteditor wijzigen, bijvoorbeeld Microsoft Kladblok.
Elke regel in het bestand is een velddefinitie die de volgende attributen in deze volgorde kan bevatten:
User-defined attribute name,Data type,Conversion factor,Comments
-
User-defined attribute name
. Schrijf de interne veldnaam zoals voor het veld in een objects.inp bestand wordt gedefinieerd.In de definitie
attribute("USER_FIELD_1", "j_user_field_1", string, "%s", no, none, "0.0", "0.0")
van objects.inp is de naam van het gebruikersattribuut bijvoorbeeld USER_FIELD_1. Data type
.De waarde kan de volgende zijn:
INT
(geheel getal),STRING
(tekst),FLOAT
(decimaal getal) ofDATE
(datumvelden met een kalenderwidget). Als de waarde ontbreekt of onjuist is, wordt de waarde standaard opSTRING
ingesteld.Een discrepantie tussen de waardetypen voorkomt het importeren van gegevens niet, maar de resultaten zijn mogelijk niet altijd correct, afhankelijk van de gegevens en het veld. Datumvelden kunnen bijvoorbeeld onjuist worden ingesteld als het gegevenstype niet
DATE
is. U kunt daarentegen zonder problemen een nummer met het gegevenstype geheel getal in een tekstveld importeren.Velden met optielijsten worden als nummervelden van het waardetype
INT
gedefinieerd. Objectvergrendelingen kunnen bijvoorbeeld op Nee, Ja en Organisatie worden ingesteld met in het invoerbestand de corresponderende nummers 0, 1 en 2.-
Conversion factor
(optioneel, alleenFLOAT
). Voor het converteren van Engelse waarden naar metrische waarden in Engelse omgevingen.Opmerking:We raden u aan de
FLOAT
-waarden te controleren om fouten in conversiefactoren te voorkomen. Comment
(optioneel). Tekens die de bovenstaande definities volgen, worden genegeerd en kunnen voor het schrijven van uw opmerkingen worden gebruikt. Deze opmerkingen moeten echter spaarzaam worden gebruikt, omdat het bestand eenvoudiger kan worden gelezen als u de meeste opmerkingen in plaats daarvan op een aparte regel schrijft, zoals hieronder uitgelegd.
Tekla Structures behandelt regels die met twee slashes (//
) beginnen als opmerkingen en deze worden bij het lezen van het bestand genegeerd.
Voorbeelden:
//Regular attributes
R1_ISSUED_FOR_APPRL, STRING
R1_DATE_APPROVED, DATE
//Attribute with conversion factor and comment
shear1, FLOAT, 4448.2222, For kips
Voorbeelden van invoerbestanden
Voorbeeld van invoerbestanden voor onderdelen
Gegevens in dit invoerbestand worden door tabs gescheiden.
ASSEMBLY_POS
en PHASE
zijn de sleutelvelden. Tekla Structures voegt meerdere gebruikersattributen aan de merken toe met waarden die overeenkomen met de waarden die in de kolommen ASSEMBLY_POS
en PHASE
worden weergegeven.
Een merk met het ASSEMBLY_POS
(merknummer) van B5 in fase 1 krijgt bijvoorbeeld de volgende gebruikersattributen:
STATUS
: 3
USER_PHASE
: 6
USER_ISSUE
: 3/25/2019
ASSEMBLY_POS PHASE STATUS USER_PHASE USER_ISSUE
B1 1 7 3 3/25/2019
B2 1 7 3 3/25/2019
B3 1 7 3 3/25/2019
B4 1 7 3 3/25/2019
B5 1 3 6 3/25/2019
B1 1 3 5 3/26/2019
B2 2 3 4 3/26/2019
Het invoerbestand bevat twee vermeldingen voor B1. In dit geval schrijft Tekla Structures het bericht >Dubbele invoer in input bestand. in het logboekbestand en wordt alleen de eerste vermelding in het bestand geïmporteerd. Dus in dit voorbeeld heeft B1 na de attribuutimport de volgende gebruikersattributen:
STATUS
: 7
USER_PHASE
: 3
USER_ISSUE
: 3/25/2019
Voorbeeld van invoerbestanden voor tekeningen
Gegevens in dit invoerbestand worden door tabs gescheiden.
TYPE
en NAME
zijn de sleutelvelden. In Tekla Structures voegt een waarde voor het gebruikersattribuut User field 4
toe voor tekeningen met waarden die overeenkomen met de waarden in de kolommen TYPE
en NAME
.
Voor een tekening met TYPE A
(merktekening) en NAME
B.2 krijgt bijvoorbeeld de waarde 4 in het veld User field 4
.
TYPE NAME DRAWING_USERFIELD_4
A B.1 3
A B.2 4
A C.1 1
A C.2 2
Een invoerbestand verwerken
Lege waarden worden standaard overgeslagen. Als u bestaande waarden in plaats daarvan wilt wissen, stelt u de variabele XS_ERASE_UDA_VALUE_WITH_ATTRIBUTE_IMPORT_NULL_AND_BLANK
in een ini-bestand in op TRUE
.