Die Methode FeatureLayer.SelectSpecial gibt basierend auf besonderen Kriterien einen AutoCAD-Auswahlsatz von einem angegebenen Feature-Layer zurück. Diese Methode ist nützlich für die Qualitätssicherung und die Compliance-Prüfung vor der Synchronisierung von Web-Feature-Layern oder für die Suche von Objekten basierend auf verschiedenen Bearbeitungs- und Datenzuständen, wenn mit Feature-Layern gearbeitet wird.
Folgende besondere Suchkriterien sind möglich:
- FlaggedAsModified: AutoCAD-Objekte, die als Features des angegebenen Web-Feature-Layers geeignet sind und deren Bearbeitungsstatus als geändert gekennzeichnet ist.
- FlaggedAsNew: AutoCAD-Objekte, die als Features des angegebenen Web-Feature-Layers geeignet sind und deren Bearbeitungsstatus als ein neues Feature gekennzeichnet ist.
- IncorrectGeometry: AutoCAD-Objekte, die aufgrund des AutoCAD-Layers, auf dem sie sich befinden, als Features geeignet wären, aber nicht als Features gelten, da sie den falschen Geometrietyp aufweisen. Ein Beispiel sind Polylinien, die auf einem AutoCAD-Layer von ArcGIS for AutoCAD-Punkt-Features gezeichnet werden.
- OutsideProjectArea: AutoCAD-Objekte, die Features des angegebenen Feature-Layers sind und die sich außerhalb der Grenze des aktuellen Projektbereichs befinden.
- ProxyObjectPresent: AutoCAD-Proxy-Objekte, die verwendet werden, um eine benutzerdefinierte Objektgeometrie darzustellen, wie z. B. COGO-Punkte außerhalb von Autodesk Civil 3D, oder wenn kein Objekt-Enabler vorhanden ist.
- UnclosedPolyline: AutoCAD-Polylinien-Objekte, die als Polygon-Features geeignet wären, bei denen das Kennzeichen für eine geschlossene Polylinie aber nicht für das Objekt festgelegt ist.
Hinweis:
Es wird nicht empfohlen, eine große Anzahl von Auswahlsätzen gleichzeitig zu verwalten. Eine Anwendung kann maximal 128 festgelegte Auswahlsätze gleichzeitig geöffnet haben. (Auf Ihrem System kann die Grenze niedriger sein.) Wenn die Grenze erreicht ist, erstellt AutoCAD keine weiteren Auswahlsätze. Halten Sie jeweils nur eine minimale Anzahl von Sätzen offen, und geben Sie diese so schnell wie möglich aus dem Speicher frei. Wenn die maximale Anzahl an Auswahlsätzen erreicht ist, können Sie keine weiteren mehr erstellen.
Deklaration
public SelectionSet Esri.ArcGISForAutoCAD.FeatureLayer.SelectSpecial(Document doc, string flName, string criteria, string sublayerName = null)
Parameter
| Typ | Name | Beschreibung | Erforderlich |
|---|---|---|---|
Dokument | doc | Das AutoCAD-Dokument, das bearbeitet werden soll. | Erforderlich |
Zeichenfolge | flName | Ein vorhandener Feature-Layer-Name in der Zeichnung. | Erforderlich |
Zeichenfolge | criteria | Die besonderen Kriterien. Die folgenden Optionen sind verfügbar:
| Erforderlich |
| Zeichenfolge | sublayerName | Ein vorhandener Sublayer-Name eines Feature-Layers als eine Zeichenfolge. | Optional |
Rückgaben
| Typ | Beschreibung |
|---|---|
SelectionSet | Ein AutoCAD-Auswahlsatz von Features, die die besonderen Kriterien erfüllen. |
Anmerkungen zur Fehlermeldung
Diese Methode kann eine Ausnahme auslösen oder null zurückgeben, wenn ein Parameter ungültig ist.
Beispiel 1
Ausgeben der Anzahl der Objekte, die zum Feature-Layer Shelters gehören und außerhalb des Projektbereichs der aktuellen Zeichnung liegen.// Initialize
var doc = Application.DocumentManager.MdiActiveDocument;
// Create a selection set with the criteria
var sheltersSelection = Esri.ArcGISForAutoCAD.FeatureLayer.SelectSpecial(doc, "Shelters", "OutsideProjectArea");
// Print the selection count
doc.Editor.WriteMessage("\nNumber of entities selected: " + sheltersSelection.Count.ToString());
/* Example output
Number of entities selected: 30
*/
Beispiel 2
Ausgeben der Anzahl der Objekte in der aktuellen Zeichnung, die zum Sublayer Public des Web-Feature-Layers Roads gehören und von ArcGIS for AutoCAD vor der Synchronisierung als geändert bewertet werden.// Initialize
var doc = Application.DocumentManager.MdiActiveDocument;
// Create a selection set with the criteria
var publicRoadsSelection = Esri.ArcGISForAutoCAD.FeatureLayer.SelectSpecial(doc, "Roads", "FlaggedAsModified", "Public");
// Print the selection count
doc.Editor.WriteMessage("\nNumber of entities selected: " + publicRoadsSelection.Count.ToString());
/* Example output
Number of entities selected: 5
*/
Weitere Informationen
FeatueLayer.Select: Eine .NET-Methode, die einen AutoCAD-Auswahlsatz zurückgibt, der nach dem angegebenen Feature-Layer und optional nach dem Subtype aus der Zeichnung und nach einem optional angegebenen Auswahlsatz und einer Attributabfrage gefiltert ist.
esri_featurelayer_selectspecial: Eine AutoLISP-Funktion, die basierend auf besonderen Kriterien einen AutoCAD-Auswahlsatz von einem angegebenen Feature-Layer zurückgibt.