DesignSeries00007.pngWyrażenia stosowane w mapowaniu danych

Każda formuła składa się z co najmniej jednego wyrażenia z następującej listy. Bardziej szczegółowy opis poszczególnych wyrażeń znajduje się w dalszej części tego zagadnienia.

Wyrażenie

Opis

Stałe

Typy danych, takie jak liczby całkowite, stałe boolowskie, liczby i stałe tekstowe

Niezmienne wartości

Ciągi znaków, wartości numeryczne, logiczne itd.

Operatory

Dodanie, odjęcie, porównanie itd.

Zmienne

Źródła danych z Vectorworks, takie jak parametry obiektów, informacje o stylu, nazwa klasy

Funkcje

Funkcje matematyczne, operacje na ciągach znaków, funkcje warunkowe itd.

ELSE

Metoda dodawania alternatywnego mapowania danych, jeśli poprzednia zwraca pustą wartość.

Stałe

Stała

Opis

Przykłady

Typ boolowski

Parametry boolowskie korzystają z wartości Prawda lub Fałsz, zapisywanych jako stałe tekstowe, między apostrofami.

'PRAWDA' 

'FAŁSZ'

Liczba całkowita

Stała może być liczbą dodatnią lub ujemną i 0, zapisywaną liczbowo, bez przecinka dziesiętnego ani apostrofów.

4

125

Liczba wymierna

Stała jest liczbą wymierną, zapisywaną liczbowo z przecinkiem dziesiętnym i bez apostrofów.

3,14

-12,0

248,141539

Tekst

Stała składająca się z ciągu znaków, umieszczonych między apostrofami.

'Ściana bez stylu'

‘Strona wewnętrzna’

‘Niezdefiniowany’

Operatory

Operator

Opis

+

Plus jednoargumentowy

-

Minus jednoargumentowy

+

Plus dwuargumentowy, dodanie, łączenie

-

Minus dwuargumentowy, odjęcie

*

Mnożenie

/

Dzielenie

=

Wartość logiczna EQUALS 

!

Wartość logiczna NOT 

|

Wartość logiczna OR 

&

Wartość logiczna AND 

!=

Wartość logiczna NOT EQUAL 

>

Większy od

<

Mniejszy od

>=

Większy lub równy

<=

Mniejszy lub równy

Zmienne

Zmienne przedstawiają źródła danych z Vectorworks. Można je łączyć ze stałymi, wynikami funkcji i innymi zmiennym za pomocą operatorów. Typ (nazwa) zmiennej jest taka sama jak typ źródła danych. Zmienne zapisywane są w nawiasach kwadratowych, jako że w nazwach dozwolone są spacje.

Zmienna

Format

Przykład

Parametry z obiektu

[Object.NameOfTheParameter]

Jeśli parametr występuje w formie listy rozwijanej, zmienna zwróci zlokalizowaną wartość. Jeśli zamiast tego potrzebna jest uniwersalna wartość, dodaj do nazwy pola asterysk (*).

[Object.Config]

[Object.Column ID]

[Object.Struct Type]

[Object.structuralUse*]

Nazwa Vectorworks

[Object.VW_Name]

[Object.VW_Name]

Dane z pola rekordu

[Record.NameOfTheRecord.NameOfTheField]

Jeśli rekord o tej nazwie nie został dołączony do obiektu, wtedy domyślna wartość pola rekordu zostania przyjęta jako wartość zmiennej.

[Record.MyRecord.Price]

[Record.Plant Record.Latin Name]

Dane ze stylu

[Style.NameOfTheField]

Obecnie obsługiwane są następujące pola danych: Name (nazwa stylu), Mark (oznaczenie), Function (funkcja), Description (opis), Exterior (zewnętrzna, typ boolowski), Load-Bearing (nośna, typ boolowski), Fire Rating (ognioodporność), Combustible Construction (łatwopalna, typ boolowski), Compartmentation (przegroda ogniowa, typ boolowski), U-Value (współczynnik U), Acoustic Rating (izolacyjność akustyczna), Cost Index System (system kosztów), Cost Index Code (kategoria cenowa), Model (model), Manufacturer (producent).

[Style.Function]

[Style.Name]

[Style.Fire Rating]

Komponent

[Component.NameOfTheField]

Obecnie obsługiwane są następujące pola danych: Name (nazwa komponentu), Function, Class, Thickness, Lambda, U-Value. Jeśli funkcja eksportowania z podziałem na komponenty nie jest włączona, te zmienne będą odpowiadały głównemu komponentowi.

[Component.Function]

[Component.Thickness]

Nazwa klasy

[ClassName]

[ClassName]

Nazwa warstwy

[LayerName]

[LayerName]

Nazwa kondygnacji

[StoryName]

[StoryName]

Funkcje

Funkcja

Opis

PI ( )

Zwraca liczbę pi.png

SIN (radiany)

Zwraca sinus

COS (radiany)

Zwraca cosinus

ABS (liczba)

Zwraca wartość absolutną

SQRT (liczba)

Zwraca pierwiastek

INT (liczba)

Zwraca liczbę całkowitą po konwersji

REAL (liczba)

Zwraca liczbę rzeczywistą po konwersji

IF (wyrażenie_logiczne, wyrażenie_wartości1, wyrażenie_wartości2)

Oblicza wyrażenie_logiczne i zwraca obliczoną wartość wyrażenia_wartości1, jeśli równa się PRAWDA; w przeciwnym razie zwraca wartość wyrażenia_wartości2.

SELECT1 (wyrażenie_liczbowe, wyrażenie_wartości1, wyrażenie_wartości2, ..., wyrażenie_wartościN)

Oblicza wyrażenie_liczbowe i zwraca obliczoną wartość wyrażenia_wartości1 - jeśli wynik wynosi 0, wartość wyrażenia_wartości2 - jeśli wynik wynosi 1 itd. Zwraca wartość ostatniego wyrażenia, jeśli wynik wynosi więcej niż N-1. Funkcja musi posiadać co najmniej 3 parametry.

SELECT2 (wyrażenie_logiczne1, wyrażenie_wartości1, wyrażenie_logiczne2, wyrażenie_wartości2, wyrażenie_logiczneN, wyrażenie_wartościN)

Oblicza pierwsze wyrażenie logiczne i zwraca obliczoną wartość wyrażenia_wartości1, jeśli otrzymanym wynikiem jest PRAWDA; w przeciwnym razie przechodzi do kolejnej pary wyrażeń. Funkcja musi posiadać parzystą liczbę parametrów, większą niż 2.

COUNTER (“nazwa”)

Zwraca wartości uzyskane w procesie autoinkrementacji, czyli automatycznie zwiększone o jeden (w celu wygenerowania jednoznacznych wartości)

BOUNDS (“nazwa”)

Zwraca współrzędne X, Y i Z lub wymiary Szerokość/Wysokość/Głębokość obiektu.

LEFT (tekst, liczba)

Zwraca lewą część łańcucha, posiadającą określoną liczbę znaków. Zwraca pusty ciąg znaków, jeśli liczba jest nieprawidłowa.

RIGHT (tekst, liczba)

Zwraca prawą część łańcucha, posiadającą określoną liczbę znaków. Zwraca pusty ciąg znaków, jeśli liczba jest nieprawidłowa.

MID (tekst, indeks, liczba)

Zwraca prawą część ciągu znaków, rozdzieloną indeksem pozycyjnym (gdzie 0 to położenie pierwszego znaku), wykorzystując określoną liczbę znaków. Zwraca pusty ciąg znaków, jeśli indeks lub liczba jest nieprawidłowy(-a).

FIND (subtekst, tekst)

Zwraca rozpoczynające się od zera położenie subtekstu w tekście, jeśli takie zostanie znalezione; w przeciwnym razie zwraca -1.

Na przykład: przykład FIND (‘fo’, ‘foo’) zwraca 0, a FIND(‘oo’, ‘foo’) zwraca 1.

LEN (ciąg_znaków)

Zwraca długość ciągu znaków.

INSERT (ciąg_znaków1, indeks, ciąg_znaków2)

Wstawia ciąg_znaków2 w określonym indeksie pozycyjnym w ciągu_znaków1.

DELETE (ciąg_znaków1, indeks, liczba)

Usuwa prawą część ciągu znaków, rozdzieloną indeksem pozycyjnym (gdzie 0 to położenie pierwszego znaku), posiadającą określoną liczbę znaków.

REPLACE (ciąg_znaków1, ciąg_znaków2, ciąg_znaków3)

Zastępuje wszystkie wystąpienia ciągu_znaków2 napotkane w ciągu_znaków1 ciągiem_znaków3.

TRIMLEFT (ciąg_znaków)

Zwraca lewą część łańcucha, pozbawioną białych znaków (czyli znaków odstępu, tabulacji itp.).

TRIMRIGHT (ciąg_znaków)

Zwraca prawą część łańcucha, pozbawioną białych znaków (czyli znaków odstępu, tabulacji itp.).

MAKEUPPER (ciąg_znaków)

Zwraca ciąg znaków napisany wersalikami.

MAKELOWER (ciąg_znaków)

Zwraca ciąg znaków napisany małymi literami.

 GETCOMPONENTINFO (indeks, selektor)

Zwraca informacje o zaznaczonym komponencie (ścianie lub płycie), gdzie indeks to numer komponentu, a selektor to jedna z następujących opcji:

1 (nazwa komponentu)

2 (funkcja komponentu)

3 (klasa komponentu)

4 (grubość komponentu)

~~~~~~~~~~~~~~~~~~~~~~~~~

Przykłady mapowania danych IFC

Tworzenie lub edycja formuł mapowania danych

Zastosowanie Menedżera danych