Exercice 2 : Définir une classe d'objets

Basez chaque nouvelle classe d'objet sur un objet existant. Commencez par ouvrir une carte qui contient des objets types de la classe que vous souhaitez définir (des "objets modèles"). Dans cet exemple, vous allez ouvrir une carte de routes pour définir la classe d'objets Roads.

Remarque : Dans ce didacticiel, chaque jeu d'objets est enregistré dans un fichier distinct. Si vos objets sont enregistrés dans les calques au sein d'un seul fichier, vous pouvez définir toutes les classes d'objets à partir de ce fichier. Le processus est identique.

Lorsque vous définissez une classe d'objets, vous pouvez inclure toute propriété existante de l'objet modèle à la définition de classe d'objets. Vous pouvez également ajouter des propriétés. Pour chaque propriété que vous incluez, vous pouvez indiquer une valeur par défaut et un intervalle autorisé.

Remarque : Cet exercice utilise le fichier de définition de classe d'objets MyDefinition.xml créé dans l'Exercice 1 : Créer le fichier de définition de classe d'objets.

Pour définir une classe d'objets

  1. Dans AutoCAD Map 3D, ouvrez Classify_Roads.dwg. Cliquez sur OuvrirDessin.
  2. Dans l'onglet Explorateur de cartes du volet Tâches, cliquez avec le bouton droit de la souris sur Classes d'objets, puis choisissez Associer le fichier de définition.
  3. Indiquez le fichier de définition MyDefinition.xml que vous avez créé.
  4. Cliquez sur l'onglet Configuration de Mapgroupe de fonctions Classe d'objetsDéfinir. Trouver.
    Trouver

    Définissez une classe d'objets en sélectionnant un objet modèle.

  5. Sélectionnez une route pour qu'elle devienne l'objet modèle de cette classe.
  6. Dans la boîte de dialogue Définir la classification de l'objet, indiquez Roads comme nom pour cette classe d'objets. Sélectionnez la première case de la liste Types d'objets (AcDbEntity).

    Indiquez la méthode de création que les objets existants doivent avoir utilisée pour pouvoir appartenir à cette classe.

    Tous les objets existants que vous ajoutez à cette classe doivent utiliser le type d'objet indiqué par la case que vous venez d'activer. A moins d'être certain que tous les objets route existants ont été créés selon la méthode AcDbLine ou AcDbCurve, il est plus sûr de ne cocher que la case AcDbEntity.

  7. Cliquez sur l'onglet Liste des propriétés et activez les cases des propriétés à inclure dans cette classe d'objets.

    Les objets inclus dans cette classe conservent les propriétés qui leur sont propres. Les propriétés que vous indiquez ici correspondent aux propriétés de la classe dans sa globalité. Choisissez les propriétés pour lesquelles vous souhaitez définir les valeurs par défaut ou les intervalles autorisés ou que vous voulez rendre modifiables pour tous les membres de la classe.

    Par exemple, pour pouvoir modifier globalement le calque, le type de ligne ou la couleur de tous les membres de la classe Roads, sélectionnez ces propriétés. Vous pouvez, dans les cas appropriés, définir des valeurs par défaut. Par exemple, vous pouvez affecter tous les membres de la classe Roads à un calque Roads.

    Vous pouvez inclure les types de propriété suivants :

    • Des propriétés générales, telles que la couleur et le calque
    • Des propriétés diverses, telles que la génération du type de ligne
    • Des propriétés d'objets, telles que les noms de rue (ST_NAME).

    Indiquez les propriétés des objets dans cette classe d'objets et d'éventuelles valeurs par défaut de ces propriétés.

    Le tableau suivant présente un jeu suggéré de propriétés générales et de leurs valeurs pour la classe Roads.

    Propriété Valeur
    Propriétés générales  
    Couleur Rouge
    Calque Schema_Roads
    Type de ligne Aucune valeur
    Epaisseur de ligne 0.13
  8. Renseignez les champs des données d'objets et leurs valeurs.

    Pour les champs de données d'objets, effacez les valeurs spécifiques à l'objet modèle que vous avez choisi. Par exemple, incluez les propriétés NAME et ST_NAME pour garantir que toutes les nouvelles routes seront dotées de ces propriétés. Supprimez les valeurs qui apparaissent dans ces champs, car le nom de chaque nouvelle route sera différent de celui de l'objet modèle.

    Cliquez, par exemple, sur la propriété ST_NAME et observez ses valeurs. La valeur par défaut du nom de rue correspond à celui de l'objet modèle. Cette valeur est incorrecte pour la quasi totalité des routes que vous allez créer. Sélectionnez la valeur et supprimez-la.

    Les objets affectés à cette classe possèdent une propriété ST_NAME, mais la valeur de cette propriété correspondra au nom de la route (enregistré dans ses propriétés d'objet). Si cette valeur n'existe pas, la propriété est vide. Le tableau suivant présente un jeu suggéré de propriétés OD:Schema_Roads et de leurs valeurs pour la classe Roads.

    Propriété Valeur
    Autogenerated_SDF_ID Aucune valeur
    LENGTH Aucune valeur
    NAME Aucune valeur
    PREFIX Aucune valeur
    SEG_ID Aucune valeur
    ST_NAME Aucune valeur
    ST_TYPE Aucune valeur
    SUFFIX Aucune valeur
    TYPE Aucune valeur
  9. Pour ajouter une nouvelle propriété qui indique le nombre de voies d'une route, effectuez les opérations suivantes :
    • Cliquez sur Nouvelle propriété.

      Définissez des propriétés personnalisées pour la classe d'objets.

    • Dans le champ Nom de la propriété, entrez NumberLanes, puis cliquez sur OK.

      La case NumberLanes est activée.

  10. Indiquez que la valeur de NumberLanes est un nombre entier compris entre 1 et 6 et égal à 2 par défaut :
    • Pour Type, sélectionnez Entier.
    • Pour Intervalle, entrez [1,6].
    • Pour Par défaut, entrez 2.
  11. Cliquez sur l'onglet Paramètres de classe. Pour Méthode de création, sélectionnez Polyligne.

    Choisissez la méthode de création des objets à créer dans cette classe.

    Lorsque vous faites appel à cette classe pour créer une route, utilisez une polyligne. Les objets existants que vous ajoutez à cette classe ne doivent pas nécessairement être des polylignes.

  12. Cliquez sur Enreg. définition.
  13. Gardez le fichier Classify_Roads.dwg ouvert.

Pour poursuivre ce didacticiel, passez à l'Exercice 3 : Ajouter des classes d'objets au fichier de définition.