Aller au contenu

Attribut de polyligne conduite


VtKp

Messages recommandés

Bonjour a tous

Je viens de voir Que l'on peut avec Opendcl crée une control bar.

Pensez vous que l'on peut récupérer par simple sélection dans Autocad un peu le même principe que la fenêtre propriétés d'Autocad récupère les propriétés Xdata d' une entité ?

Il faudrait connaitre dans ce cas la variable qui stocke l'entité sélectionne a l'écran un peu comme quand on fait un

(settq ent (car (entsel)))

Savez vous quelle est la variable en question ?

Ainsi on pourrait afficher les xdatas d'une entité comme map avec les od ou les attributs d'un bloc ?

Merci par avance de votre aide.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Afin de résoudre le problème de non-affichage des valeurs xdata d'une entité dans AutoCAD, j'ai fais un control bar qui affiche les valeurs xdata dans cette control bar en sélectionnant une entité.

Merci de m'indiquer si ce code marche, si il peut être améliorer ou s'il doit être modifier afin de ne pas planter ou mettre une erreur si l'utilisateur sélectionne une autre entité qu'une polyligne par exemple.

 

 

Pour le faire marcher, il faut d'abord tracer par exemple 3 polylignes 3D dans le calque Buse.

Renseigner les 3 entités avec le lisp fourni en réponse 10.

Installer (si ce n'est pas déjà fait) OpenDcl

Placer le fichier aff_xdata.lsp dans le répertoire C:/Temp/

Loader dans autocad le fichier Aff1.lsp

Lancer en barre de commande le lisp "aff1"

Cliquer sur le bouton "Infos" de la control bar

Sélectionner une entité (auparavant dessiné)

Voir si les renseignements s'affiche dans la control bar.

 

Je débute en Lisp surtout avec Opendcl donc merci de m'indiquer si avec la version d'AUtocad le code marche et s'il peut être amélioré car je suis sur que j'oubli des trucs.

Le code et le fichier odcl sont ici :

 

Le code :

 

 (defun c:aff1 (/ )

(setvar "CMDECHO" 0)
(command "OPENDCL")

(dcl_Project_Load "C:/Temp/aff_xdata.lsp" T)

(dcl_Form_Show aff_xdata_Form_Xdata)

(dcl_Grid_AddColumns aff_xdata_Form_Xdata_GRL1 (list "Etiquette"))
(dcl_Grid_AddColumns aff_xdata_Form_Xdata_GRL1 (list "Valeur"))

(princ)
)

(defun c:aff_xdata_Form_Xdata_BUT7_OnClicked (/ ent)

(prompt "\nSélectionner une entitée renseignée : ")
(setq ent (car (entsel)))

(if 
(and
(/= (cdr (assoc 8 (entget ent))) "Buse")
(/= (cdr (assoc 0 (entget ent))) "POLYLINE")
)
(progn
(alert "L'entité sélectionné n'est pas valable")
(exit)
)
(progn

(prompt "\n ")

(dcl_Grid_Clear aff_xdata_Form_Xdata_GRL1)

(dcl_Grid_AddString aff_xdata_Form_Xdata_GRL1 "ObjectID")
(dcl_Grid_AddString aff_xdata_Form_Xdata_GRL1 "Type_Conduite")
(dcl_Grid_AddString aff_xdata_Form_Xdata_GRL1 "Diamètre")
(dcl_Grid_AddString aff_xdata_Form_Xdata_GRL1 "Longueur")
(dcl_Grid_AddString aff_xdata_Form_Xdata_GRL1 "Pente")
(dcl_Grid_AddString aff_xdata_Form_Xdata_GRL1 "Num_Regard_Haut")
(dcl_Grid_AddString aff_xdata_Form_Xdata_GRL1 "Num_Regard_Bas")
(dcl_Grid_AddString aff_xdata_Form_Xdata_GRL1 "Nom_Rue")
(dcl_Grid_AddString aff_xdata_Form_Xdata_GRL1 "Abandonnée")
(dcl_Grid_AddString aff_xdata_Form_Xdata_GRL1 "Ref_Rec")
(dcl_Grid_AddString aff_xdata_Form_Xdata_GRL1 "Precision_Rec")

(dcl_Grid_SetCellText aff_xdata_Form_Xdata_GRL1 0 1 (cdr (assoc 5 (entget ent))))
(dcl_Grid_SetCellText aff_xdata_Form_Xdata_GRL1 1 1 (cdr (assoc 1000 (cdadr (assoc -3 (entget ent '("TYPE_CONDUITE")))))))
(dcl_Grid_SetCellText aff_xdata_Form_Xdata_GRL1 2 1 (cdr (assoc 1000 (cdadr (assoc -3 (entget ent '("DIAMETRE")))))))
(dcl_Grid_SetCellText aff_xdata_Form_Xdata_GRL1 3 1 (cdr (assoc 1000 (cdadr (assoc -3 (entget ent '("LONGUEUR")))))))
(dcl_Grid_SetCellText aff_xdata_Form_Xdata_GRL1 4 1 (cdr (assoc 1000 (cdadr (assoc -3 (entget ent '("PENTE")))))))
(dcl_Grid_SetCellText aff_xdata_Form_Xdata_GRL1 5 1 (cdr (assoc 1000 (cdadr (assoc -3 (entget ent '("NUM_REG_HAUT")))))))
(dcl_Grid_SetCellText aff_xdata_Form_Xdata_GRL1 6 1 (cdr (assoc 1000 (cdadr (assoc -3 (entget ent '("NUM_REG_BAS")))))))
(dcl_Grid_SetCellText aff_xdata_Form_Xdata_GRL1 7 1 (cdr (assoc 1000 (cdadr (assoc -3 (entget ent '("NOM_RUE")))))))
(dcl_Grid_SetCellText aff_xdata_Form_Xdata_GRL1 8 1 (cdr (assoc 1000 (cdadr (assoc -3 (entget ent '("ABANDONNEE")))))))
(dcl_Grid_SetCellText aff_xdata_Form_Xdata_GRL1 9 1 (cdr (assoc 1000 (cdadr (assoc -3 (entget ent '("REF_REC")))))))
(dcl_Grid_SetCellText aff_xdata_Form_Xdata_GRL1 10 1 (cdr (assoc 1000 (cdadr (assoc -3 (entget ent '("PRECISION_REC")))))))
)
)

)


(defun c:aff_xdata_Form_Xdata_QBUT1_OnClicked (/)
(dcl_Form_Close aff_xdata_Form_Xdata)
)

(princ)

 

Le fichier odcl

 

'("YWt6A94MAACJezSOBuKT6LcVLS9quMHKNw2taOoor9OmFD902M83C50uDtIIPq/7bKTK/6Q3yhQO"
"rdOtvOuQI5a43/Q9SPzGbqOHeXawJJnzVWnzmaJyicPRL1co1p4DwpqAkEeJoo/FiVO2M5kuBl1l"
"7+hZ93KEr/UPB31+4Pr/Nvsauttf9ChPiF9UwdNmPs3CJKxRx0uM2m/poiTPOW/t4oTSOHRTNvbT"
"KUKk2tpboRowXVjaWlhAFDX3Kc0my+vG80Zez0ow5crubBDoyB0c9fcp4SbLKKKEeS/dP8u5q4wc"
"dzJ+pBPluirDZx1G8m9nnsCsfrNdqmsDdLDYORxr7DhNbYix2FeXzcf5bkK3Ql7QDYCJWxlUfYAG"
"CeOjhKFYwD0C9QbHESbfnM7cTvEDaOZYMTHKmE8qa0Uck1n2Dbox9/FtIV5ANeKPzSPeNGpoFmtR"
"LtZl5c55xQtay8DkVSwmWfW7xU33DDXk+vXtOlk4r/AfcrSIZ+xzrXEN4wQH64Zkj2ucn6yAzs0V"
"+PY5NM1ghtiFG/KSefexLoKx2ye3jcqNyYWZdauB+s7xZdaAKalhFVHNm1Ue9DvYrRPkPbQrwDt0"
"CZ3WMpjGQn1Mixis97uowD+c11gYz/KE3cm1fJQcizeSP+Hq6NSJB/TI5oSkm8Y1x6XPcK4CWv9K"
"RAXlNAvpne2Uwf3aqT/C7QZFTzaEUq7rSmDxHsm0FXvNMk0kzOB7baL8YArWInCuaNRfAP8kMU1O"
"EffhmSVWD+iUwV+B6botJpqdCdaJjxWMATvigrVspTWPMW/NejFtUVqgQcFahf86i6AT3ZFEQ226"
"P5kRxZnvgkebNQ1UnOUqpV2UWGsjQ1zbpMdnbMGCDbclNwVa4Ttnt0HdhHGXNsc2HYe7bx+dB/D2"
"Eh5w8PYnYnft/sU90/4Yot+/grPphr0tQMoz0LPKItA5mK93gcWbsJ6hRJ9JVoVBCmQZid8tIpKB"
"4UdNsTIzQX5GzPZ7") 

 

 

Je n'ai pas réussi à trouver de site pour déposer le fichier Odcl

Ci-joint n'accepte pas les fichiers avec extension odcl

 

Petite correction :

Enregistrer le code du fichier odcl dans un fichier aff_xdata.lsp dans le répertoire C:/Temp

Supprimer les lignes vides et les espaces vides lors du copier-coller dans le fichier aff_xdata.lsp

Il sera chargé automatiquement au lancement du lisp

 

Opendcl peut être téléchargé ici

http:// http://www.opendcl.com/download/

 

 

J'espère que vous allez pouvoir tester ce code.

En attendant vos réponses

Merci par avance de votre aide.

 

[Edité le 20/3/2011 par VtKp]

Lien vers le commentaire
Partager sur d’autres sites

Bonjour

Je cherche depuis des heures le moyen de modifier les valeurs de mes xdatas affiches dans le control bar

J'ai cherche dans les fonctions de grid de Opendcl mais existe t-il un moyen d'editer une cellule dans un grid avec Opendcl et faire appliquer ces motifs a l'xdata correspondante ?

Je crois que Tramber est un as sur le sujet Non ?

Merci encore de votre aide.

Lien vers le commentaire
Partager sur d’autres sites

  • 3 ans après...

Bonjour,

 

Ce sujet correspond exactement à ce que je recherche, par contre il semble que les liens soit mort, est ce que quelqu'un à des infos concernant des lisp qui me permettrai d’intégrer à des polylignes des données d'objet concernant le diamètre, le matériau et autre info de conduite sur des polylignes, j'ai copier le lisp CONDUITE_VTKP mais soit je ne connais pas la bonne commande pour le lancer soit il ne marche pas.

 

Pour info j'ai map.

 

Merci de votre aide, je continu a chercher en attendant d'avoir un retour.

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité