Bearbeiten von Daten Extraktions Definitions (.dxd) Dateien

Note: In V22 verwendet die Syntax von .dxd Dateien die Version 2.0:
  • Der Abschnitt Paths wurde hinzugefügt.
  • Logische Operationen verwenden die Infix-Notation: (EntityType=="3D Solid") und (Type=="BIM_COLUMN") anstelle der Präfix-Notation: AND (EntityType=="3D Solid") (Type=="BIM_COLUMN")

DXD Dateien (Data Extraction Definition) sind reine Textdateien. Sie können die mit dem Befehl DATENEXTRAKT erstellten DXD Dateien mit einem Texteditor wie MS Notepad bearbeiten und in der Prozedur "Erstellen von Bauteillisten" im Projekt-Browser verwenden.

Zeilen, die mit einem Semikolon (;) beginnen, sind Kommentare und werden beim Parsen ignoriert. Leerzeilen werden ebenfalls ignoriert.

Die Datei kann 4 Abschnitte enthalten, jeder Abschnittsname wird in eckige Klammern geschrieben, Abschnittsnamen sind englische Groß- und Kleinschreibung (ECI) Zeichenfolgen. Die Abschnitte sind:

  • Paths
  • Settings
  • Entity Types
  • Properties
  • Filter

Der Abschnitt Paths

Listet die Pfade auf, die nach Zeichnungsdateien durchsucht werden sollen.

$CurDwg: Aktuelle Zeichnung

$CurProj: Aktuelles Projekt

Der Abschnitt [Settings].

Der Abschnitt enthält Werte für die folgenden Parameter, die das Verhalten steuern:

  • ExtractFromBlocks - gibt an, ob Objekte aus Blöcken unter Berücksichtigung aller Verschachtelungsebenen berücksichtigt werden sollen.
  • ExtractFromXrefs - legt fest, ob Objekte aus externen Referenzblöcken berücksichtigt werden sollen.
  • CountXrefs - legt fest, ob Xrefs überhaupt berücksichtigt werden sollen.
  • CombineEqualRows - legt fest, ob gleiche Zeilen in der Ausgabetabelle gruppiert werden sollen; wenn ja, wird die Spalte Count hinzugefügt, die angibt, wie viele gleiche Datenzeilen enthalten sind.
  • IncludeNameColumn - legt fest, ob die Ausgabe die Name Spalte enthält. Die Spalte Name gibt den Typ des Quellobjekts an: 3D-Volumenkörper, 3D-Volumenkörper Schichten, ...

Parameternamen sind ECI Zeichenfolgen. Das Format ist:

ParameterName=Wert,

Der Wert ist entweder 1 oder 0. Um das Gleichheitszeichen (=) sollten keine Leerzeichen stehen.

Der Abschnitt [Entity Types]

Dieser Abschnitt enthält eine Liste der Objekttypen, die verarbeitet werden sollen. Das Format jeder Zeile kann eines der folgenden sein:

EntityType | DisplayEntityType

  • EntityType ist der Name des ECI Objekttyps, z. B. Circle oder AttributeDefinition. Dies ist der Pflichtbestandteil der Zeile.

  • DisplayEntityType ist optional und kann eine beliebige Zeichenfolge einschließlich Leerzeichen in einer beliebigen Sprache sein. Wenn vorhanden, erscheint diese Zeichenkette im Dialog DATENEXTRAKT und in der Ausgabetabelle.

Block | BlockName | DisplayBlockName

  • Block ist das vordefinierte ECI Wort, und BlockName ist der von Groß- und Kleinschreibung unabhängige Name des zu verarbeitenden Blocks, einschließlich xRefs und MInsert(s).

  • DisplayBlockNameist optional und hat die gleiche Ausprägung und das gleiche Format wie DisplayEntityType.

Block | *

Dies ist eine Variante des vorherigen Formats und bedeutet, dass alle Blöcke berücksichtigt werden; falls vorhanden, werden alle anderen Zeilen, die Blöcke in diesem Abschnitt betreffen, ignoriert. Sie können den Abschnitt Filter verwenden, um den zu verarbeitenden Inhalt zu filtern.

*

Es werden alle Objekttypen und Blöcke berücksichtigt, alle anderen Zeilen in diesem Abschnitt werden dann ignoriert. Sie können den Abschnitt Filter verwenden, um den zu verarbeitenden Inhalt zu filtern.

Der Abschnitt [Properties].

Dieser Abschnitt enthält eine Liste aller Eigenschaften, die in die Ausgabe der Datenextraktion aufgenommen werden sollen. Das Format einer jeden Zeile kann einer der folgenden Typen sein: Entity Property, Attribute, Drawing, Formula oder Block View.

EntityPropertyName | DisplayEntityPropertyName | ValueOutputFormat

  • EntityPropertyName ist der ECI Name der Eigenschaft des Objekts, z. B. Lineweight, Color, Center Y und so weiter. Beachten Sie, dass alle Namen keine Leerzeichen enthalten, außer denen, die Koordinaten von 2D- oder 3D-Punkten oder Vektoren darstellen. Im letzten Fall sollten die Koordinatenbuchstaben X, Y und Z durch ein einzelnes Leerzeichen vom allgemeinen Eigenschaftsnamen getrennt werden.

    EntityPropertyName ist der zwingend erforderliche Teil der Zeile, der restliche Teil ist optional.
  • DisplayEntityPropertyName ist benutzerdefiniert und kann eine beliebige Zeichenfolge einschließlich Leerzeichen in einer beliebigen Sprache sein. Standardmäßig ist sie gleich dem EntityPropertyName.

  • ValueOutputFormat ist ein String, der zur Formatierung der Ausgabe verwendet wird. Die Syntax des Strings ist dieselbe wie bei der Feldformatierung.

Attribute | AttributeTagName | DisplayAttributeTagName | ValueOutputFormat

  • Attribute ist das vordefinierte ECI Wort.

  • AttributeTagName ist der Name des ECI Attribut-Tags, wie er in der Zeichnung gespeichert ist.

  • DisplayAttributeTagName hat die gleiche Bedeutung wie für EntityPropertyName (siehe oben).

  • ValueOutputFormat ist ein String, der zur Formatierung der Ausgabe verwendet wird. Die Syntax des Strings ist dieselbe wie bei der Feldformatierung.

Drawing | DrawingPropertyName | DisplayPropertyName | ValueOutputFormat

  • Drawing ist ein vordefiniertes ECI Wort.

  • DrawingPropertyName ist ein ECI Name, der eines der folgenden sein kann:
    • Kommentare
    • DrawingRevisionNumber
    • FileAccessed
    • FileCreated
    • FileLastSavedBy
    • FileLocation
    • FileModified
    • FileName
    • FileSize
    • HyperlinkBase
    • Keywords
    • Subject
    • Title
    • TotalEditingTime
  • DisplayPropertyName hat die gleiche Bedeutung wie EntityPropertyName (siehe oben).
  • ValueOutputFormat ist ein String, der zur Formatierung der Ausgabe verwendet wird. Die Syntax des Strings ist dieselbe wie bei der Feldformatierung.

Formula | EntityPropertyName | DisplayEntityPropertyName=FormulaExpression | ValueOutputFormat

  • Formula ist ein vordefiniertes ECI Wort.

  • EntityPropertyName ist ein eindeutiger Name für dieses Formelelement.

  • DisplayEntityPropertyName ist ein optionaler Name der Eigenschaft, wenn er weggelassen wird, dann wird EntityPropertyName als Titel der Tabellenspalte verwendet.

  • = ist ein zwingendes Zeichen, das auch dann vorhanden sein muss, wenn DisplayEntityPropertyName weggelassen wird.

  • FormulaExpression ist der Ausdruck im Format wie in \AcExpr Formel-Felder, die Konstanten wie PI oder Funktionen wie SIN enthalten können (siehe Verwendung von Ausdrücken). Ein Operand in einem Ausdruck kann ein DisplayPropertyName sein, der in Pfeilklammern (<>) eingeschlossen ist.

    Zum Beispiel: =2 * PI * <Radius> berechnet den Umfang eines Kreises.
  • ValueOutputFormat ist ein String, der zur Formatierung der Ausgabe verwendet wird. Die Syntax des Strings ist dieselbe wie bei der Feldformatierung.

BlockView | BlockViewPropertyName | DisplayBlockViewPropertyName | BlockViewOptions

  • BlockView ist ein vordefiniertes ECI Wort

  • BlockViewPropertyName ist ein eindeutiger Name für dieses Blockansichtselement

  • DisplayEntityPropertyName ist der Ausgabename der Eigenschaft; kann nicht weggelassen werden

  • BlockViewOptions ist ein String im folgenden Format:

    ViewType;DwgPath;SectionName
    • ViewType ist eines der folgenden: Front, Top, Left oder Right; kann nicht weggelassen werden.
    • DwgPath ist der Pfad zur DWG Datei, kann relativ zur dxd Datei sein; kann weggelassen werden.
    • SectionName ist der Name des Abschnitts, aus dem die Abschnittseinstellungen für die Konstruktion der Blockansicht extrahiert werden sollen; kann weggelassen werden.

Wenn DwgPath oder SectionName weggelassen oder nicht gefunden werden, werden die Standardeinstellungen verwendet.

Zum Beispiel:

BlockView|BlockViewProperty1|Elevation symbol|Front;../Sections/_SectionSettings.dwg;_BlockViewSettingsSection

*

Wenn vorhanden, werden alle Eigenschaften des Objekts berücksichtigt; alle anderen Zeilen in diesem Abschnitt, mit Ausnahme der Zeichnungs- und Formelzeilen, werden ignoriert.

Note: Leere Felder suchen ist " " (Leerzeichen erforderlich)

Der Abschnitt [Filter].

Beschreibung der Syntax:

Relationale Operatoren:

Operator Bedeutung
== Gleich zu
!= Nicht gleich zu
< Weniger als
> Größer als
<= Kleiner als oder gleich zu
>= Größer als oder gleich zu
  • Relationale Ausdrücke werden in '()' Klammern eingeschlossen.
  • Logische Operatoren AND und OR sind unabhängig von der Groß- und Kleinschreibung.
  • Logische Ausdrücke verwenden eine Infix-Notation.
  • Token können durch Null oder eine beliebige Anzahl von Leerzeichen getrennt werden, außer am Anfang eines logischen Ausdrucks,

    Beispiel:

    ( Layer == "MyLayer" ) and (Thickness<=3)

  • Ausdrücke können in eine beliebige Anzahl von Zeilen aufgeteilt werden; Token werden nicht umgebrochen.
  • Verwenden Sie den EntityPropertyName, um auf Eigenschaften zu verweisen (nicht den DisplayEntityPropertyName).
  • Zeilen können mit ';' kommentiert werden.
  • String-Werte werden in doppelte Anführungszeichen "" gesetzt.

(Type == BIM_WINDOW) or (Type == BIM_DOOR)

Das Ergebnis des Filters im obigen Beispiel ist, dass nur BIM Objekte, die als Fenster oder Türen klassifiziert sind, in die Datenextraktion einbezogen werden. Weitere Informationen über BIM-Objekttypen finden Sie unter dem Befehl BIMKLASSIFIZIEREN.

Der Filterausdruck ist entweder ein einzelner relationaler Ausdruck oder mehrere nach logischen Operationen gruppierte Ausdrücke.

Beispiel:

((0) and ((1) or (2))) or ((3) and (4) and (5)) or (6)

wobei (0),...,(6) relationale Ausdrücke wie (Radius >= 3) sind.