Cette méthode obtient un dictionnaire des noms de champs et de leurs valeurs attributaires.
- Si seul l’ObjectId ArcGIS pour AutoCAD est spécifié, tous les champs attributaires et leurs valeurs stockés sur l’entité sont renvoyés.
- Si la valeur flName est spécifiée, seuls les attributs appartenant à cette couche d’entités sont inclus.
- Si les valeurs flName et fieldName sont toutes les deux spécifiées, seule la valeur stockée du champ ou sa valeur par défaut est renvoyée, et ce, uniquement si elle appartient à la couche d’entités.
Déclaration
public Dictionary<string, IConvertible> Esri.ArcGISForAutoCAD.Attributes.Get(Document doc, ObjectId objId, string flName = null, string fieldName = null)
Paramètres
| Type | Nom | Description | Requis |
|---|---|---|---|
Document | doc | Document AutoCAD sur lequel intervenir. | required |
ObjectID | objId | ObjectId AutoCAD de l’entité. | required |
chaîne | flName | Nom de la couche d’entités. On suppose que l’entité appartient à cette couche d’entités et n’inclura que les valeurs de champs de la couche d’entités spécifiée. Les valeurs par défaut sont renvoyées si aucune valeur n’est définie. | obligatoire si fieldName est spécifié |
chaîne | fieldName | Nom de champ unique. La valeur renvoyée est limitée à ce seul champ. | facultatif |
Retours
| Type | Description |
|---|---|
Dictionary<chaîne, IConvertible> | Dictionnaire des noms de champs et de leurs valeurs attributaires. Key : nom de champ, Value : valeur attributaire. |
Remarques sur les conditions d’erreur
Si un paramètre n’est pas valide, cette méthode peut générer une exception ou renvoyer null.
Exemple 1
Affiche les attributs de la couche d’entités Centerlines pour l’entité désignée.// Initialize
var doc = Application.DocumentManager.MdiActiveDocument;
var flName = "Centerlines";
var objId = Esri.ArcGISForAutoCAD.FeatureLayer.SelectEntity(doc, flName);
// Get the attributes
var centerlinesAttributes = Esri.ArcGISForAutoCAD.Attributes.Get(doc, objId, flName);
// Print the attributes
foreach (var attribute in centerlinesAttributes)
{
doc.Editor.WriteMessage("\nKey = {0}, Value = {1}", attribute.Key, attribute.Value);
}
/* Example output
Key = EntityHandle, Value = 252
Key = EntityType, Value = LWPOLYLINE
Key = StreetName, Value = S Roosevelt Blvd
Key = Pavement, Value = 6
Key = Rating, Value = 0.6259
*/
Exemple 2
Affiche la seule valeur de champ StreetName de la couche d’entités Centerlines pour l’entité désignée.// Initialize
var doc = Application.DocumentManager.MdiActiveDocument;
var flName = "Centerlines";
var objId = Esri.ArcGISForAutoCAD.FeatureLayer.SelectEntity(doc, flName);
// Get the attribute from the single field
var streetNameAttribute = Esri.ArcGISForAutoCAD.Attributes.Get(doc, objId, flName, "StreetName");
// Print the street name
doc.Editor.WriteMessage("The street name is " + streetNameAttribute["StreetName"]);
/* Example output
The street name is Truman Avenue
*/
Voir aussi
FeatureLayer.GetAttributes : méthode .NET qui renvoie un ensemble de dictionnaires contenant tous les noms de champ et les valeurs associées pour toutes les entités de la couche d’entités spécifiée dans le dessin.
FeatureLayer.SelectEntity : méthode .NET qui invite à sélectionner une seule entité et renvoie l’élément ObjectIdAutoCAD associé.
esri_attributes_get : fonction AutoLISP qui extrait une liste associée des noms de champs et de leurs valeurs attributaires par défaut.
Vous avez un commentaire à formuler concernant cette rubrique ?