Search Criteria Format/de
Filterkriterienformat
Syntax
Filterkriterien in Skripten bestehen aus zwei Teilen: dem Suchattribut-Typ und dem Suchwert. Der Suchattribut-Typ gibt an, welches Attribut zum Filtern von Objekten im Dokument verwendet wird; der Suchwert gibt den Wert an, der durch den Filtervorgang gefunden und abgeglichen werden soll. So gibt z. B. der Filterkriterien-Ausdruck
(C=’Wand’)
an, dass nach allen Objekten gesucht werden soll, deren Klasse Wand ist. Im Filterkriterien-Ausdruck gibt der Attributtyp C an, dass die Suche nach dem Klassenattribut von Objekten im Dokument durchgeführt werden soll. Der Suchwert Wand gibt an, welche Klasse beim Filtern als übereinstimmend gewertet wird.
Die allgemeine Syntax für Filterkriterien-Ausdrücke lautet:
(<Suchattribut Type> = <Suchwert>)
Klammern werden üblicherweise verwendet, um einzelne Filter-Ausdrücke einzuschließen und zu kennzeichnen; sie sind nicht erforderlich.
Mehrfache Filterkriterien
Es können mehrere Kriterien angegeben werden, um den Suchvorgang auf eine spezifischere Untergruppe von Objekten einzuschränken. Mehrere Filterkriterien werden mit dem Operator & erstellt, um einzelne Filterkriterien zu verketten. Im Ausdruck
((L='Neue Bebauung') & (C='Phase 1'))
werden zwei Suchbegriffe kombiniert, um nach einer bestimmten Gruppe von Objekten zu filtern, in diesem Fall nach allen Objekten auf der Ebene Neue Bebauung, deren Klasse Phase 1 ist. Um die Suche noch weiter einzugrenzen, fügen Sie einfach weitere Suchbegriffe hinzu:
((L='Neue Bebauung') & (C='Phase 1') & (VSEL=TRUE))
Im Beispiel wurde der Attributtyp "Objektwahlstatus" hinzugefügt, so dass jetzt nur aktivierte Objekte der Klasse "Phase 1" auf der Ebene "Neue Bebauung" der Suche entsprechen.
Mehrfache Suchwerte
Es ist auch möglich, anhand von Filterkriterien nach mehreren übereinstimmenden Werten zu filtern. Mehrere übereinstimmende Werte verwenden die folgende Syntax:
(<Attribut Type> IN [<Suchwert>,<Suchwert>,...])
Wenn ein Suchbegriff auf diese Weise angegeben wird, werden Objekte, die mit einem beliebigen Wert in der durch Komma getrennten Werteliste übereinstimmen, in die Liste der Objekte aufgenommen, die der Suche entsprechen. Zum Beispiel:
(R IN ['Bauteildaten','Baugruppendaten','Montagedaten'])
Eine Suche mit dem oben gezeigten Filterkriterien-Ausdruck führt zu allen Objekten mit einer verknüpften Datenbank, der mit einer der Datenbanken in der Suchliste übereinstimmen.
Attribut-Typen
Diese Standard-Attribut-Typen sind für die Verwendung in Suchbegriffen verfügbar.
Attribut | Tastenkürzel | Beschreibung | Bemerkungen |
---|---|---|---|
Datenbank | (R) | Mit dem Attribut "Datenbank" wird nach Objekten gesucht, denen die angegebene Datenbank zugeordnet ist.
Das Attribut "Datenbank" erfordert die Verwendung des Mehrfachkriterienformats zur Angabe des Datenbanknamens. Um zum Beispiel nach Objekten zu suchen, mit denen die Datenbank "Bauteildaten" verknüpft ist, würde der Suchbegriff lauten: (R IN ['Bauteildaten']) Der Datenbankname muss ein literaler STRING-Wert sein. |
|
Klasse | (C) | Mit dem Attributtyp "Klasse" wird nach Objekten gesucht, die der angegebenen Klasse zugeordnet sind. Der Suchwert sollte ein STRING-Wert mit einer Länge von bis zu 64 Zeichen sein. | (Literale und Variablen werden unterstützt.) |
Füllhintergrundfarbe | (FB) | Mit dem Attributtyp "Füllhintergrundfarbe" wird nach Objekten gesucht, die die angegebene Füllhintergrundfarbe aufweisen. Der Suchwert sollte ein Standard-Vectorworks-Farbindexwert sein. | (Diesen können Sie erhalten mit RGBToColorIndex). |
Füllvordergrundfarbe | (FF) | Mit dem Attributtyp "Füllvordergrundfarbe" wird nach Objekten gesucht, die die angegebene Füllvordergrundfarbe aufweisen. Der Suchwert sollte ein Standard-Vectorworks-Farbindexwert sein. | (Diesen können Sie erhalten mit RGBToColorIndex). |
Füllmuster | (FP) | Mit dem Attributtyp "Füllmuster" wird nach Objekten gesucht, die das angegebene Füllmuster aufweisen. Der Suchwert sollte ein Standardwert der Vectorworks Füllmuster-Auswahl sein. | (in einem Bereich von 0 – 71) |
Ebene | (L) | Mit dem Attributtyp "Ebene" wird nach Objekten auf der angegebenen Ebene gesucht. Der Suchwert sollte ein STRING-Wert mit einer Länge von bis zu 64 Zeichen sein. | (Literale und Variablen werden unterstützt.) |
Linienstil | (LS) | Mit dem Attribut "Linienstil" wird nach Objekten gesucht, die den angegebenen Stiftstil aufweisen. | (Solid, Stiftmuster, Stiftart etc.). Der Suchwert sollte ein Standardwert der Linienstil-Auswahl sein. |
Linienart | (LT) | Mit dem Attribut "Linienart" wird nach Objekten gesucht, die die angegebene Linienart aufweisen. Der Suchwert sollte ein STRING-Wert mit einer Länge von bis zu 64 Zeichen sein. | (Literale und Variablen werden unterstützt.) |
Liniendicke | (LW) | Mit dem Attribut "Liniendicke" wird nach Objekten gesucht, die die angegebene Liniendicke aufweisen. Der Suchwert sollte ein INTEGER-Wert sein, der die Liniendicke angibt. | |
Pfeiltyp | (AR) | Der Attributtyp "Pfeiltyp" sucht nach dem angegebenen Pfeiltyp. Der Suchwert sollte einer der unterstützten Pfeiltyp-Flag-Auswahlwerte sein. | (in einem Bereich von 0 – 27) |
Name | (N) | Mit dem Attribut "Name" wird nach dem Objekt gesucht, dem der angegebene Objektname zugeordnet ist. Der Suchwert sollte ein STRING-Wert mit einer Länge von bis zu 64 Zeichen sein. | (Literale und Variablen werden unterstützt.) |
Objekttyp | (T) | Mit dem Attribut "Objekttyp" wird nach Objekten gesucht, die dem angegebenen Objekttyp entsprechen. Der Suchwert muss einer der vordefinierten Objekttypen in der Auswahl sein. | (Eine vollständige Liste finden Sie in der Tabelle am Ende dieses Abschnitts.) |
Deckkraft | (OPA) | Mit dem Attribut "Deckkraft" wird nach Objekten mit dem angegebenen Deckkraft-Prozentsatz gesucht. | |
Stifthintergrundfarbe | (PB) | Mit dem Attributtyp "Stifthintergrundfarbe" wird nach Objekten gesucht, die die angegebene Stifthintergrundfarbe aufweisen. Der Suchwert sollte ein Standard-Vectorworks-Farbindexwert sein. | (Diesen können Sie erhalten mit RGBToColorIndex). |
Stiftvordergrundfarbe | (PF) | Mit dem Attributtyp "Stiftvordergrundfarbe" wird nach Objekten gesucht, die die angegebene Stiftvordergrundfarbe aufweisen. Der Suchwert sollte ein Standard-Vectorworks-Farbindexwert sein. | (Diesen können Sie erhalten mit RGBToColorIndex). |
Stiftmuster | (PP) | Mit dem Attributtyp "Stiftmuster" wird nach Objekten gesucht, die das angegebene Stiftmuster aufweisen. Der Suchwert sollte ein Standardwert der Stiftmuster-Auswahl sein. | |
Selection Status | (SEL) | The selection status specifier will search for selected or deselected objects. The search value is a BOOLEAN value indicating the selection state | (TRUE for selected, FALSE for deselected). |
Slab Style | (SLST) | (Design Series required) The slab style attribute specifier will search for slab styles with the specified name. The search value should be a STRING value which is up to 64 characters in length | (literals and variables are supported). |
Story | (STO) | (Design Series required) The story attribute specifier will search for objects on the specified layer. The search value should be a STRING value which is up to 64 characters in length | (literals and variables are supported). |
Symbol Name | (S) | The symbol name attribute specifier will search for symbol instances based on the specified symbol name. The search value should be a STRING value which is up to 64 characters in length | (literals and variables are supported). |
Text Style | (TSTY) | The text style attribute specifier will search for text styles with the specified name. The search value should be a STRING value which is up to 64 characters in length | (literals and variables are supported). |
Tile Fill | (TFI) | The tile fill attribute specifier will search for tile fills with the specified name. The search value should be a STRING value which is up to 64 characters in length | (literals and variables are supported). |
Visibility | (V) | The visibility attribute specifier will search for objects based on their visibility status. The search value is a BOOLEAN value indicating the visibility state | (TRUE for visible, FALSE for invisible). |
Specialized Searches
In addition to the standard attribute types available for use in search terms, scripts also provide specialized search attribute types for additional flexibility in searching a file.
Record Field Values
Record fields may be searched for specific matching values using a specialized attribute type to query the field value. The syntax for querying record fields is:
(<record name>.<field name>[< = |<> |> |>= |< |<= ><search value>])
The record and field names are STRING values and should be enclosed in single quotes. Any one of the optional comparison operators can be used to focus the search on a specific subset of items which have the attached record. For example:
('Assembly Data'.'Base Cost' < 250.00)
will search for any items with the attached record whose base cost is less than 250.00 dollars.
[CMP] undocumented but very useful feature: wildcards ? and * can be used in search values. e.g.
('Device'.'Name' = 'VJF_*')
will match all fields whose values begin with VJF_. My tests show that you can have multiple instances of * and ? in a search term and thet behave quite intelligently. So you can search for strings containing a sub string for example.
Search Symbol Instances (INSYMBOL)
The INSYMBOL attribute specifier will cause the search to enter any symbols encountered and perform a search on the symbols’ definition. For example, suppose you are laying out a large office and wish to count the total number of desk components that will need to be purchased. Your document contains a mixture of individual desk and desk return symbols, plus symbols which are comprised of a combination of the two desk components. A search using the term
(S IN ['3660 Desk','3660 LH Return'])
will return an inaccurate count, as it does not include instances of those symbols which are themselves inside another symbol. Adding the INSYMBOL type specifier to the term:
((S IN ['3660 Desk','LH Return']) & (INSYMBOL))
will force the search to enter any symbols encountered and detect any nested instances of the symbols in the search term.
Search Plug-in Objects (INOBJECT)
The INOBJECT specifier causes the search to enter plug‐in objects and also evaluate their component objects. Normally, components of plug‐in objects and symbols are ignored by search criteria. The INSYMBOL and INOBJECT specifiers affect the traversal of the drawing and cause more objects to be evaluated against the search criteria.
For example, to count the number of rectangles in the drawing, including rectangles that are inside symbols and plug‐in objects, use the following:
COUNT(INSYMBOL & INOBJECT & (T=RECT))
Search Viewport Instances (INVIEWPORT)
The INVIEWPORT attribute specifier will cause the search to enter the annotation space of any viewports encountered and perform a search. For example, you may wish to search for drawing labels, or perhaps dimensions, within the annotation space. A search using the term
(S IN [T=DIMENSION])
will return an inaccurate count, as it does not include viewport instances. Adding the INVIEWPORT type specifier to the term:
(S IN (INVIEWPORT)&(T=DIMENSION))
will force the search to detect any dimensions in the annotation space of viewports.
In a similar way, you can exclude non‐referenced design layer viewports with the specifier NOTINDLVP and exclude referenced design layer viewports with NOTINREFDLVP.
(S IN (NOTINDLVP)&(PON='Door'))
finds all doors that are not in non‐referenced design layer viewports.
(S IN (NOTINREFDLVP)&(PON='Door'))
finds all doors that are not in referenced design layer viewports.
Location (LOC)
The LOC specifier finds objects that are located within the bounds of a named object, like a fence.
Symbol Flip Status (ISFLIPPED)
The ISFLIPPED attribute specifier will check the flipped status of symbols or other objects. For example, to perform a count of all flipped instances of a particular symbol:
((S=’3680 Door’) & (ISFLIPPED))
will find only those instances of the symbol which have been flipped. The ISFLIPPED specifier is useful for determining orientation of objects for editing or related tasks.
All Objects (ALL)
Using the ALL attribute type specifier will select all the objects in the document.
Search Criteria Tables
The script criteria attribute specifiers are listed in the following table.
Attribute Type | Type Selector | Example |
---|---|---|
All objects | ALL | n/a |
Attached Record | R | 64 character STRING |
Class | C | C=“Millwork” |
Descend into plug‐in objects | INOBJECT | (T=RECT) & INOBJECT |
Descend into symbols | INSYMBOL | & (INSYMBOL) |
Descend into viewport annotations | INVIEWPORT | & (INVIEWPORT) |
Do not descend into non‐referenced design layer viewports | NOTINDLVP | & (NOTINDLVP) |
Do not descend into referenced design layer viewports | NOTINREFDLVP | & (NOTINREFDLVP) |
Fill Background | FB | Color index value |
Fill Foreground | FF | Color index value |
Fill Pattern | FP | FP=4 |
Flipped status | ISFLIPPED | n/a |
Font | FOT | FOT=“Arial” |
Font Size | FSZ | FSZ=10 |
Gradient Fill | GFI | GFI=“Fall” |
Hatch Fill | HFI | HFI=“Stipple Dark” |
Image Fill | IFI | IFI=“Stones” |
Layer | L | L=”First Floor” |
Line Style | LS | INTEGER value |
Line Type | LT | LT=”Line Type‐1” |
Line Weight | LW | INTEGER value |
Location is contained within boundary of a named object | LOC | (LOC=‘MyRoom’) |
Marker | AR | INTEGER selector value |
Marker Size | ASZ | ASZ=0.125 |
Object Name | N | 64 character STRING |
Object Type | T | Type selector (see table) |
Opacity | OPA | OPA=70 |
Pen Background | PB | Color index value |
Pen Foreground | PF | Color index value |
Pen Pattern | PP | PP=3 |
Selected status | SEL | BOOLEAN value |
Sketch Style | SST | SST=“Rough” |
Slab Style | SLST | SLST=”SlabStyle‐1” |
Story | STO | STO = “Second Floor” |
Symbol Name | S | 64 character STRING |
Texture | TX | TX=“Glass” |
Text Style | TSTY | TSTY=”Text Style‐1” |
Tile Fill | TFI | TFI=”Tile‐1” |
Visibility status | V | BOOLEAN value |
Wall Style | WST | WST=“Wallstyle‐1” |
Object Type | Type Selector | Example |
---|---|---|
2D Locus | LOCUS | T=LOCUS |
3D Locus | LOCUS3D | T=LOCUS3D |
3D Polygon | POLY3D | T=POLY3D |
Arc | ARC | T=ARC |
Bitmap Image | BITMAP | T=BITMAP |
Component Index (objects that have components; available only in IFC mapping formulas) |
INDEX | T=INDEX |
Cone, Sphere, Pyramid | SOLID | T=SOLID |
CSG Solid | CSGSOLID | T=CSGSOLID |
Dimension | DIMENSION | T=DIMENSION |
Extrude | XTRD | T=XTRD |
Freehand | FHAND | T=FHAND |
Group | GROUP | T=GROUP |
Layer Link | LAYERLINK | T=LAYERLINK |
Line | LINE | T=LINE |
Mesh | MESH | T=MESH |
Multiple Extrude | MXTRD | T=MXTRD |
Oval | OVAL | T=OVAL |
PICT Image | PICT | T=PICT |
Plug-in Object | PLUGINOBJECT | T=PLUGINOBJECT |
Polygon | POLY | T=POLY |
Polyline | POLYLINE | T=POLYLINE |
Quarter Arc | QARC | T=QARC |
Rectangle | RECT | T=RECT |
Roof | ROOF | T=ROOF |
Roof Element | ROOFELEMENT | T=ROOFELEMENT |
Roof Face, Floor, Column | SLAB | T=SLAB |
Round Wall | ROUNDWALL | T=ROUNDWALL |
Rounded Rectangle | RRECT | T=RRECT |
Sub Type (all objects except plug-in objects; available sub types are listed in VS:Search_Criteria#Search Criteria Sub Types ) |
ST | ST=CONE |
Sub Type (plug-in object names only) | PON | PON=“DOOR” |
Sweep | SWEEP | T=SWEEP |
Symbol | SYMBOL | T=SYMBOL |
Text | TEXT | T=TEXT |
Wall | WALL | T=WALL |
Worksheet | SPRDSHEET | T=SPRDSHEET |
Search Criteria Sub Types
When using the ST object type selector for objects other than plug‐in objects, the following sub types are available.
Object Sub Type | Object Type | Sub Type Selector | Example |
---|---|---|---|
Directional Light | Light | DIRLIGHT | ST=DIRLIGHT |
Spot Light | Light | SPOTLIGHT | ST=SPOTLIGHT |
Point Light | Light | POINTLIGHT | ST=POINTLIGHT |
Custom Light | Light | CUSTLIGHT | ST=CUSTLIGHT |
Area Light | Light | AREALIGHT | ST=AREALIGHT |
Line Light | Light | LINELIGHT | ST=LINELIGHT |
Regular Viewport | Viewport | REGVIEWPORT | ST=REGVIEWPORT |
Section Viewport | Viewport | SECTVIEWPORT | ST=SECTVIEWPORT |
Floor | Floor | FLOOR | ST=FLOOR |
Roof Face | Roof face | ROOFFACE | ST=ROOFFACE |
Pillar | Pillar | PILLAR | ST=PILLAR |
Cone | Solid | CONE | ST=CONE |
Sphere | Solid | SPHERE | ST=SPHERE |
Hemisphere | Solid | HEMISPHERE | ST=HEMISPHERE |
Circle | Arc | CIRCLE | ST=CIRCLE |
Opened Arc | Arc | OPENEDARC | ST=OPENEDARC |
Solid Subtraction | CSG Solid | CSGSUBTR | ST=CSGSUBTR |
Solid Addition | CSG Solid | CSGADD | ST=CSGADD |
Solid Intersection | CSG Solid | CSGINTER | ST=CSGINTER |
Solid Section | CSG Solid | CSGSECT | ST=CSGSECT |
Shell | CSG Solid | CSGSHELL | ST=CSGSHELL |
Chamfer | CSG Solid | CSGCHAMFER | ST=CSGCHAMFER |
Fillet | CSG Solid | CSGFILLET | ST=CSGFILLET |
Control Point Based NURBS Surface | NURBS Surface | NURBSSURFCTRLP | ST=NURBSSURFCTRLP |
Interpolated NURBS Surface | NURBS Surface | NURBSSURFINTERP | ST=NURBSSURFINTERP |