Valentin-J Posté(e) le 19 septembre 2018 Posté(e) le 19 septembre 2018 Bonjour, Je souhaite récupérer la valeur de plusieurs cotes alignées, angulaires ou pivotées, et les inscrire dans des cellules d'un tableau Excel, pour pouvoir ensuite faire des calculs grâce a des formules présentes dans ce tableau. J'ai tenté de récupérer les infos par le biais du Champ/Objet, mais je ne trouve las la valeur dans la liste... Quelqu'un pourrait me renseigner? Qu'et ce qui cloche dans ma logique? Merci!
lecrabe Posté(e) le 19 septembre 2018 Posté(e) le 19 septembre 2018 Hello No Comprendo ! Tu peux recuperer dans un Champ Dynamique (qui existent depuis la 2005) le Contenu d'une Cotation (Lineaire, Alignee, Diametre, Rayon, Angulaire, etc) par la propriete "Dimensions" ! Bye, lecrabe Autodesk Expert Elite Team
Valentin-J Posté(e) le 19 septembre 2018 Auteur Posté(e) le 19 septembre 2018 C'est etrange, j'ai l'impression de ne jamais arriver a faire des phases comprehensibles du premier coup... Pourtant j'essaye... Bref, Je ne sais pas ou trouver le "Contenu d'une Cotation"... Voila a quoi ressemble les variables quand je selectionne ma cote avec un champ:http://image.noelshack.com/minis/2018/38/3/1537369127-dynamique.png
lecrabe Posté(e) le 19 septembre 2018 Posté(e) le 19 septembre 2018 Hello SVP sais tu lire MON Message ? ... par la propriete "Dimensions" ! ... Ne vois tu pas dans l'ascenseur central en 20eme ligne environ "Dimensions" !? Avec une Bonne Biere ou un Bon Whiskey (Single Malt pour Moi), tu verras tout de suite !! Bye, lecrabe Autodesk Expert Elite Team
lecrabe Posté(e) le 19 septembre 2018 Posté(e) le 19 septembre 2018 Hello Et le Grand Maitre Jedi Gilles a encore frappe ! Ci-apres une routine qui exporte dans un fichier .CSV le Contenu de TOUTES les Cotes d'un calque ... Attention: les Cotes angulaires sont en Radians ! MERCI Gilles, Bye, lecrabe PS: Routine extraite de mon stock de 3000 LSP ... ;; ;; https://forums.autodesk.com/t5/autocad-francais/propriete-de-cotes-dans-excel/m-p/7084190 ;; ;; Routine: Dim2Csv par GC - 07/2010 ;; ;; Chargement par APPLOAD <Entree> ;; ;; Execution par DIM2CSV <Entree> ;; (vl-load-com) (defun c:Dim2Csv (/ lay ss filename n file) (if (and (setq lay (GetLayer nil)) (setq ss (ssget "_X" (list '(0 . "DIMENSION") (cons 8 lay) (cons 410 (getvar 'ctab)) ) ) ) (setq filename (getfiled "Créer un fichier CSV" (getvar 'dwgprefix) "csv" 1 ) ) (setq n -1) ) (progn (setq file (open filename "w")) (while (setq dim (ssname ss (setq n (1+ n)))) (write-line (rtos (cdr (assoc 42 (entget dim)))) file) ) (close file) ) ) (princ) ) ;;; GetLayer par GC 03/11/07 ;;; Retourne le nom du calque entré ou choisi par l'utilisateur ;;; dans une liste déroulante de la boite de dialogue ou en sélectionnant ;;; un objet à l'écran. ;;; Argument : le titre (string) ou nil (défaut : "Choisir un calque") (defun getlayer (titre / lay lst tmp file what_next dcl_id nom) (while (setq lay (tblnext "LAYER" (not lay))) (setq lst (cons (cdr (assoc 2 lay)) lst)) ) (setq lst (acad_strlsort lst) tmp (vl-filename-mktemp "Tmp.dcl") file (open tmp "w") ) (write-line (strcat "getlayer:dialog{label=" (cond (titre (vl-prin1-to-string titre)) ("\"Choisir un calque\"") ) ";initial_focus=\"tp\"; :boxed_column{:row{ :column{:text{label=\"Sélectionner un objet\";alignment=left;}} :column{:button{label=\">>\";key=\"obj\";alignment=right;fixed_width=true;} spacer;}} :edit_box{key=\"tp\";edit_width=25;allow_accept=true;} :popup_list{key=\"lay\";edit_width=25;} spacer;}ok_cancel;}" ) file ) (close file) (setq dcl_id (load_dialog tmp)) (setq what_next 2) (while (>= what_next 2) (if (not (new_dialog "getlayer" dcl_id)) (exit) ) (start_list "lay") (mapcar 'add_list lst) (end_list) (or nom (setq nom (vlax-ldata-get "getLayer" "n")) (setq nom (vlax-ldata-put "getLayer" "n" "0")) ) (if (member nom lst) (set_tile "lay" (itoa (- (length lst) (length (member nom lst)))) ) (set_tile "lay" "0") ) (set_tile "tp" nom) (action_tile "obj" "(done_dialog 3)") (action_tile "tp" "(setq nom $value)") (action_tile "lay" (strcat "(if (or (= $reason 1) (= $reason 4))" "(progn" "(setq nom (nth (atoi $value) lst))" "(set_tile \"tp\" (nth (atoi $value) lst))" "(mode_tile \"tp\" 2)))" ) ) (action_tile "accept" (strcat "(if (tblsearch \"LAYER\" nom)" "(progn (done_dialog 1)" "(vlax-ldata-put \"getLayer\" \"n\" nom))" "(progn" "(alert (strcat \"Le calque \" nom \" est introuvable.\"))" "(setq nom nil) (set_tile \"tp\" (vlax-ldata-get \"getLayer\" \"n\"))" "(mode_tile \"tp\" 2)))" ) ) (setq what_next (start_dialog)) (cond ((= what_next 3) (if (setq nom (car (entsel))) (setq nom (cdr (assoc 8 (entget nom)))) (setq nom nil) ) ) ((= what_next 0) (setq nom nil) ) ) ) (unload_dialog dcl_id) (vl-file-delete tmp) nom ) Autodesk Expert Elite Team
lecrabe Posté(e) le 19 septembre 2018 Posté(e) le 19 septembre 2018 Hello Et comme tu parles de Champ dynamique provenant de UNE cotation Voici la bonne routine LSP "DimField" ... qui cree un Champ dynamique depuis UNE Cote selectionnee ... MERCI Tharwat, Bye, lecrabe PS: Routine extraite de mon stock de 3000 LSP ... ;; ;; http://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/autolisp-and-fields/m-p/5331739#M326684 ;; ;; Routine: DimField from Tharwat ;; (vl-load-com) ;; (defun c:Test (/ space ss pt) (defun c:DimField (/ space ss pt) ; Tharwat 14. 06. 2011 (setq space (vla-get-modelspace (vla-get-ActiveDocument (vlax-get-acad-object)) ) ) (if (and (setq ss (car (entsel "\n Select a Dimension : "))) (setq pt (getpoint "\n Specify Text Location :")) ) (vla-addMText space (vlax-3d-point pt) 4. (strcat "%<\\AcObjProp Object(%<\\_ObjId " (itoa (vla-get-ObjectID (vlax-ename->vla-object ss))) ">%).Measurement \\f \"%lu6\">%" ) ) (princ) ) (princ) ) Autodesk Expert Elite Team
Valentin-J Posté(e) le 19 septembre 2018 Auteur Posté(e) le 19 septembre 2018 Merci Lecrabe pour ces multiples réponses ! C'est parfait. Effectivement je n'avais pas vu l’élément Dimensions. J'ai définitivement besoin d'une pause et d'un whiskey (Benriach 16 ans pour moi)...
lecrabe Posté(e) le 19 septembre 2018 Posté(e) le 19 septembre 2018 Hello Tres bon choix ! ... Nous sommes sur la meme longueur d'onde !! Bye, lecrabe Autodesk Expert Elite Team
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