Insertion de combobox dans le xml des classes d'objets
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Lien permanent
- Imprimer
- Signaler
Bonjour à tous !
Après de nombreuses recherches je n'ai toujours pas trouvé une solution à mon problème, je me tourne donc vers vous pour savoir si ce que je désire faire est techniquement possible avec AutoCAD Map 2017 ou pas...
Mon objectif est de pouvoir assigner des attributs pré-établis à des objets (sous un format .dwg) pour ensuite les exporter en shapefile.
La solution que j'utilise actuellement passe par la création de classes d'objets.
J'ai donc adapté un code XML afin de pouvoir assigner un configuration pré-établie sur mes objets.
Jusque là, pas trop de souci, mais je n'arrive pas à trouver une solution pour obtenir des liste déroulantes pour mes caractéristiques.
Voici une partie du code xml:
<Property name="NAT_CO" psrc="ACAD_OCP" primitivetype="OcText" creatable="Oui" storageHint="<Hint className="Assainissement"/>" readOnly="Non" visible="Oui" default="Conduite_assainissement/Conduite_rejet_indus/Caniveau_filtre/Caniveau_fil_eau/Trace_virtuel/Fosse_assainissement/Autre" range=""/> <Property name="TYPE_TR" psrc="ACAD_OCP" primitivetype="OcText" creatable="Oui" storageHint="<Hint className="Assainissement"/>" readOnly="Non" visible="Oui" default="EP/EU/Mixte/Autre" range=""/> <Property name="TYPE_CO" psrc="ACAD_OCP" primitivetype="OcText" creatable="Oui" storageHint="<Hint className="Assainissement"/>" readOnly="Non" visible="Oui" default="Souterrain,Aerien,Autre" range=""/> <Property name="DIAM_TR" psrc="ACAD_OCP" primitivetype="OcNumericI4" creatable="Oui" storageHint="<Hint className="Assainissement"/>" readOnly="Non" visible="Oui" default="200" range=""/> <Property name="GI_AMONT" psrc="ACAD_OCP" primitivetype="OcNumericI4" creatable="Oui" storageHint="<Hint className="Assainissement"/>" readOnly="Non" visible="Oui" default="20" range=""/> <Property name="GI_AVAL" psrc="ACAD_OCP" primitivetype="OcNumericI4" creatable="Oui" storageHint="<Hint className="Assainissement"/>" readOnly="Non" visible="Oui" default="20" range=""/> <Property name="TYPE_CO" psrc="ACAD_OCP" primitivetype="OcText" creatable="Oui" storageHint="<Hint className="Assainissement"/>" readOnly="Non" visible="Oui" default="Beton/PVC/Autre" range=""/> <Property name="ANNEE_POSE" psrc="ACAD_OCP" primitivetype="OcNumericI4" creatable="Oui" storageHint="<Hint className="Assainissement"/>" readOnly="Non" visible="Oui" default="2000" range=""/> <Property name="COMM_TR" psrc="ACAD_OCP" primitivetype="OcText" creatable="Oui" storageHint="<Hint className="Assainissement"/>" readOnly="Non" visible="Oui" default="" range=""/>
(je n'ai pas mis la suite du code c'est inutile à mon avis)
Ce qui permet de définir le type d'attribut est donné par la variable
primitivetype="OcText"
dans le cas d'un texte.
Il est possible d'assigner des valeurs par défaut et même un range de valeurs.
Y-a-t-il un moyen d'obtenir une liste avec des attributs par défaut que l'on peut sélectionner ?
Actuellement je suis obligé de supprimer "à la main" les attributs qui ne conviennent pas comme sur le screenshot ci-dessous:
Cela pourrait amener à des erreurs d'encodage des valeurs et donc biaiser les valeurs insérées dans le shp.
Il est pourtant possible d'obtenir des listes comme ci-dessous:
ou encore
Mais ces variables sont OcLayer et OcBool.
Je cherche juste à afficher une liste avec des attributs que j'aurai moi même intégrés dans mon code mais cela ne me semble pas faisable actuellement 😞
Est-ce qu'une liste existe dans les variables Oc ? Comme par exemple OcListbox ou quelque chose du style.
L'autre solution serait de voir du côté des valeurs assignées par défaut ou la possibilité d'écrire des intervalles spécifiques ?
Y-aurait-il moyen d'obtenir quelque chose grâce à un LISP ?
La seule piste que j'ai trouvé sur un forum montre un code XML de ce style:
<aocStorageHints> <table aocbeneficiaries="Autogenerated_SDF_ID,LENGTH,L_F_ADD,L_T_ADD,NAME,PREFIX,R_F_ADD,R_T_ADD,SEG_ID,ST_NAME,ST_TYPE,SUFFIX,TYPE,ZIPL,ZIPR"> <description> <tabletype>2</tabletype> <name>Schema_Roads</name> <fieldcount>15</fieldcount> <fullname>Schema_Roads</fullname> </description> <field> <order>0</order> <name>Autogenerated_SDF_ID</name> <type>4</type> <key>0</key> <precision>0</precision> <scale>0</scale> </field> <field> <order>1</order> <name>LENGTH</name> <type>8</type> <key>0</key> <precision>0</precision> <scale>0</scale> </field> <field> <order>2</order> <name>L_F_ADD</name> <type>4</type> <key>0</key> <precision>0</precision> <scale>0</scale> </field> <field> <order>3</order> <name>L_T_ADD</name> <type>4</type> <key>0</key> <precision>0</precision> <scale>0</scale> </field> <field> <order>4</order> <name>NAME</name> <type>12</type> <key>0</key> <precision>0</precision> <scale>0</scale> </field> <field> <order>5</order> <name>PREFIX</name> <type>12</type> <key>0</key> <precision>0</precision> <scale>0</scale> </field> <field> <order>6</order> <name>R_F_ADD</name> <type>4</type> <key>0</key> <precision>0</precision> <scale>0</scale> </field> <field> <order>7</order> <name>R_T_ADD</name> <type>4</type> <key>0</key> <precision>0</precision> <scale>0</scale> </field> <field> <order>8</order> <name>SEG_ID</name> <type>4</type> <key>0</key> <precision>0</precision> <scale>0</scale> </field> <field> <order>9</order> <name>ST_NAME</name> <type>12</type> <key>0</key> <precision>0</precision> <scale>0</scale> </field> <field> <order>10</order> <name>ST_TYPE</name> <type>12</type> <key>0</key> <precision>0</precision> <scale>0</scale> </field> <field> <order>11</order> <name>SUFFIX</name> <type>12</type> <key>0</key> <precision>0</precision> <scale>0</scale> </field> <field> <order>12</order> <name>TYPE</name> <type>12</type> <key>0</key> <precision>0</precision> <scale>0</scale> </field> <field> <order>13</order> <name>ZIPL</name> <type>4</type> <key>0</key> <precision>0</precision> <scale>0</scale> </field> <field> <order>14</order> <name>ZIPR</name> <type>4</type> <key>0</key> <precision>0</precision> <scale>0</scale> </field> </table>
Mais ça n'a pas l'air de vraiment fonctionner ou il est possible que quelque chose m'échappe !
Merci à ceux qui ont eu le courage de lire mon sujet jusqu'au bout 😛
Et si vous n'avez pas la solution, croyez-vous que c'est réalisable d'une manière ou d'une autre dans AutoCAD Map 2017 ?
PS: s'il vous faut des infos supplémentaires n'hésitez pas à demander !
Cordialement,
Valentin