fabbcad Posté(e) le 15 mars 2010 Posté(e) le 15 mars 2010 Bonjour, je me demande s'il est possible sous Autocad de se créér une fenêtre avec les champs que l'on souhaite, ou alors en rajouter à des fenêtre existantes. Par exemple je souhaiterai rajouter à la fenêtre propriété un champs "Surface" qui soit en hectare. Est ce que c'est possible?Merci d'avance.
fabbcad Posté(e) le 16 mars 2010 Auteur Posté(e) le 16 mars 2010 personne ne s'est jamais penché dessus?
lili2006 Posté(e) le 16 mars 2010 Posté(e) le 16 mars 2010 Bonjour à toutes et tous, personne ne s'est jamais penché dessus? SI ! Fais une recherche sur le forum,... J'avais même adapté le "tampon" de bonuscad avec des champs fenêtres,... Désolé, pas le tps de chercher pour le moment,... Mais il va falloir que tu développes un peu car je ne vois pas bien le rapport entre la taille de la fenêtre et une contenance en Ha,Ares, Ca ???? Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
fabbcad Posté(e) le 16 mars 2010 Auteur Posté(e) le 16 mars 2010 Merci pour ta réponse lili.J'avais tenté une recherche mais je me perdais un peu dans les résultats... Je vais retenter. En fait pas de rapport entre la taille de la fenêtre et ce que je souhaite. J'aimerai par exemple dans ma fenêtre propriété rajouter un champs surface qui me donne la valeur de mon objet selectionné en hectares. Donc sur le principe je cherche à savoir comment on crée un champs dans une fenêtre d'Autocad (la fenêtre propriété par ex) et comment on attribut la valeur qu'il renvoie. J'espère que vous voyez mieux. Sinon dites moi je ferais un schéma ou un imprim' ecran.
bonuscad Posté(e) le 16 mars 2010 Posté(e) le 16 mars 2010 Bonjour, J'avais proposé une adaptation d'un lisp de patrick_35 pour l'écriture des surfaces au format h, a, ca -> ici De là a le faire apparaitre dans la fenêtre de propriété, à part peut être avec les od de map... Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
fabbcad Posté(e) le 16 mars 2010 Auteur Posté(e) le 16 mars 2010 Ok merci j'étais passé à côté de ce lisp. L'idée de le mettre dans le champ d'une fenêtre c'est par ce que quand on importe via le menu map des données au format SIG par exemple Autocad crée de nouveau champ renseignés dans la fenêtre propriétés. C'est pour ça que je me demandais si quelqu'un avait déjà creusé cette possibilité.
(gile) Posté(e) le 16 mars 2010 Posté(e) le 16 mars 2010 Salut, À m connaissance, il n'est pas possible de modifier la fenêtre/palette Propriétés ni en AutoLISP, ni en Visual LISP ni avec .NET. Peut être avec ARX/C++ mais ce n'est pas sûr et personnellement, je ne sais pas faire. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
fabbcad Posté(e) le 18 mars 2010 Auteur Posté(e) le 18 mars 2010 Bon, merci pour ces réponses.Je vais continuer à chercher au cas ou...
bonuscad Posté(e) le 18 mars 2010 Posté(e) le 18 mars 2010 Salut fabbcad, Avec Map j'ai essayé ce code (c'est un premier jus, sans contrôles d'erreurs, de tables) et ça à l'air de fonctionner. Si ça t'inspire... (vl-load-com) (defun surf_cadastrale (xs / h a ca) (cond ((and xs (numberp xs)) (setq h (fix (cvunit xs "mètre_carré" "hectare")) a (fix (cvunit xs "mètre_carré" "are")) ca (fix (cvunit xs "mètre_carré" "centare")) ) (strcat (if (not (zerop h)) (strcat (itoa h) "h ") "") (if (not (zerop a)) (strcat (itoa (if (not (zerop h)) (- a (* h 100)) a)) "a ") "") (if (not (zerop ca)) (strcat (itoa (if (not (zerop a)) (- ca (* a 100)) ca)) "ca") "") ) ) ) ) (defun c:surf_cad2od ( / js tbl tbldef n target_obj obj_vlax data_lst tblstr fldnamelist fldtypelist fldtypelist) (or (setq js (ssget "_I")) (setq js (ssget "_P")) ) (cond (js (sssetfirst nil js) (initget "Existant Nouveau _Existent New") (if (eq (getkword "\nTraiter jeu de sélection [Existant/Nouveau] : ") "New") (progn (sssetfirst nil nil) (setq js (ssadd) js (ssget))) ) ) (T (setq js (ssget))) ) (cond (js (ade_oddefinetab '( ("Tablename" . "SURFACES-AGRAIRES") ("TableDesc" . "") ("Columns" ( ("ColName" . "NOM-SURFACE") ("ColDesc" . "Nomination de la surface") ("ColType" . "Character") ("DefaultVal" . "Où") ) ( ("ColName" . "CLASSE-SURFACE") ("ColDesc" . "Appartenance de la surface") ("ColType" . "Character") ("DefaultVal" . "Classe Surface") ) ( ("ColName" . "VALEUR-SURFACE") ("ColDesc" . "Valeur en Hectare Are Centiare") ("ColType" . "Character") ("DefaultVal" . "0ha0a0ca") ) ) ) ) (setq tbl "SURFACES-AGRAIRES" tbldef (ade_odtabledefn tbl)) (repeat (setq n (sslength js)) (setq obj_vlax (vlax-ename->vla-object (setq target_obj (ssname js (setq n (1- n)))))) (cond ((vlax-property-available-p obj_vlax "Area") (setq data_lst (list (vlax-get obj_vlax 'Layer) (itoa (vlax-get obj_vlax 'Color)) (surf_cadastrale (vlax-get obj_vlax 'Area)) ) tblstr (cdr (nth 2 tbldef)) fldnamelist () fldtypelist () ) (foreach fld tblstr (setq fldnme (cdr (nth 0 fld)) fldtyp (cdr (nth 2 fld)) fldnamelist (append fldnamelist (list fldnme)) fldtypelist (append fldtypelist (list fldtyp)) ) ) (ade_odaddrecord target_obj tbl) (mapcar '(lambda (x y) (ade_odsetfield target_obj tbl x 0 y)) fldnamelist data_lst ) ) ) ) ) ) (prin1) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
fabbcad Posté(e) le 18 mars 2010 Auteur Posté(e) le 18 mars 2010 Salut, et merci Bonuscad! Effectivement c'est un bon avancement! Bon par contre je ne connais rien au lisp donc va me falloir un peu de temps pour tout déchiffrer (je viens du vba...). Je n'arrive pas à le lancer en tapant "surf_cadastrale" est ce normal?par contre en tapant "surf_cad2od" et en choisissant le jeu de sélection ça marche.Un grand bravo. Pour qu'il soit ultime il faudrait juste que ça se fasse en temps réel sans avoir à relancer la commande et la selection :p En tout cas encore merci beaucoup pour ta contribution.
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant