PHILPHIL Posté(e) le 23 avril 2015 Posté(e) le 23 avril 2015 bonsoir j'ai mis a jour le LISP et je le met a disposition ca affiche dans la boite de dialogue ce que l on va réellement copier par rapport a un parametre a+ Phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
Raph_38 Posté(e) le 24 avril 2015 Posté(e) le 24 avril 2015 Salut, Super je testerais dès que possible ... j'adore ce lisp ! Je suis persuadé qu'il sera un jour implémenté nativement dans autocad Raph. Celui qui pose une question est bête 5 minutes, celui qui n'en pose pas l'est toute sa vie !
ahbv Posté(e) le 24 avril 2015 Posté(e) le 24 avril 2015 bonsoir j'ai mis a jour le LISP et je le met a disposition ca affiche dans la boite de dialogue ce que l on va réellement copier par rapport a un parametre a+ Phil salut philphil,je ne comprends pas ce que fait ton lisp, est ce possible d'avoir un exemple stp ?Je pensais qu'il permettait de copier les paramètres bloc dynamique d'un bloc A vers B , j'ai essayé mais rien est copié ?? c'est pour cela que j'aimerais bien une démo si possible.Encore merci du partage.Meilleures salutations AHBV
PHILPHIL Posté(e) le 24 avril 2015 Auteur Posté(e) le 24 avril 2015 hello oui c'est le but d'un bloc dynamique A vers un bloc dynamique A1 ou A2 mais pas vers un bloc B1 ou B2 ... il faut que ce soit des blocs dynamique de meme nom, donc avec des nom de parametre identiques met en place 10 fois le meme blocsmodifie manuellement le premierpasse le LISP sur le 1iere bloc vers les 9 autreset ils seront identique suivant le(s) parametre(s) que tu auras coché faut pas que la couche sur laquelle est implanté le bloc soit verrouillé, ni que l'échelle Z du bloc soit modifie sinon ca donne une multiplication suivant la valeur de Z bizarrement en esperant que ca fonctionne chez toi il y en a t'il d'autre ou cela ne fonctionne pas ? a+ phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
Raph_38 Posté(e) le 24 avril 2015 Posté(e) le 24 avril 2015 idem pour moi, cette version ne fait aucune modification Raph. Celui qui pose une question est bête 5 minutes, celui qui n'en pose pas l'est toute sa vie !
PHILPHIL Posté(e) le 24 avril 2015 Auteur Posté(e) le 24 avril 2015 bonjour j'ai retiré des lignes parasites, ou des demandes de variables qui ne sont trouvées que chez moi mais pas ailleurs en esperant que ca marche cette fois appel de fonction : MDP2 MDP 2.01.LSP a+ Phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
PHILPHIL Posté(e) le 24 avril 2015 Auteur Posté(e) le 24 avril 2015 bonjour j'ai un autre LISP qui force les propriétés dynamiques d'un bloc mais je ne comprend pas pourquoi ca ne fonctionne pas avec les états d'inversionen mettant 0 ou 1 en changeant les parametres numeriques type "longueur" "largeur" ca fonctionnent pourtant j'ai cette erreur TOTO 10 :; erreur: Erreur Automation Entrée incorrecte d'apres la liste PRO2 il faut bien entrer un nombre entier et non une chaine de caractere donc mystere merci pour ceux qui savent Phil (defun c:cpnf (/ ;;; propdynnom2 ) (setvar "cmdecho" 0) (setq osm (getvar "osmode")) (prompt "\nSELECTIONNER LES BLOCS PARAMETRIQUE A MODIFIER :") (setq selinsert (ssget (list '(0 . "INSERT")))) (setq com (sslength selinsert)) (setq compt 0 propdynnom2 nil pop2 nil pro2 nil ) (while (< compt com) (progn (foreach att (vlax-invoke (vlax-ename->vla-object (cdr (assoc -1 (entget (ssname selinsert compt))))) 'getdynamicblockproperties ) (if (/= (vlax-variant-type (vla-get-value att)) 8197) (setq propdynnom2 (cons (vla-get-propertyname att) propdynnom2) pro2 (cons (list (vla-get-propertyname att) (vla-get-unitstype att) (vlax-variant-type (vla-get-value att)) (vlax-variant-value (vla-get-value att)) ) pro2 ) ) ) ) (setq compt (1+ compt)) ) ) (setq propdynnom (remove_doubles (vl-sort propdynnom2 '<))) (boitepropdyn2) (setq compt 0) (setq com (sslength selinsert)) (while (< compt com) (foreach don ret (setq test14 don) (foreach att (vlax-invoke (vlax-ename->vla-object (cdr (assoc -1 (entget (ssname selinsert compt))))) 'getdynamicblockproperties ) (progn (setq test20 att) (if (= (vla-get-propertyname att) (car don)) (progn (if (and (= (vla-get-unitstype att) 0) (= (vlax-variant-type (vla-get-value att)) 2)) (progn (prompt "\nTOTO 10 :") (setq test10 (cdr don)) (setq test100 (atoi (cdr don))) (vla-put-value att (atoi (cdr don))) ) ) (if (and (= (vla-get-unitstype att) 1) (= (vlax-variant-type (vla-get-value att)) 5)) (progn (prompt "\nTOTO 11 :") (setq test11 (cdr don)) (vla-put-value att (* (atof (cdr don)) (/ pi 180))) ) ) (if (and (= (vla-get-unitstype att) 2) (= (vlax-variant-type (vla-get-value att)) 5)) (progn (prompt "\nTOTO 12 :") (setq test12 (cdr don)) (vla-put-value att (atof (cdr don)))) ) ) ) ) ) ) (setq compt (1+ compt)) ) (setvar "osmode" osm) (princ) ) (defun boitepropdyn2 (/ tmp file fuzz ;;; ret pn av dcl_id val) (setq tmp (vl-filename-mktemp "Tmp.dcl") file (open tmp "w") ret nil ) (write-line (strcat "DynBlkProps:dialog{label=\"Blocs dynamiques\";" " :text{label=\"Nom du bloc : \"" (vl-prin1-to-string "Tous les blocs") " ;} :text{label=\"Nombre de bloc : " (itoa com) "\"; } spacer;:boxed_column{label=\"Propriétés dynamiques\";" ) file ) (foreach pn propdynnom (write-line (strcat ":row{:edit_box{label=" (vl-prin1-to-string pn) ";key=" (vl-prin1-to-string pn) ";edit_width=20;allow_accept=true;} }" ) file ) ) (write-line "}spacer;ok_cancel;}" file) (close file) (setq dcl_id (load_dialog tmp)) (if (not (new_dialog "DynBlkProps" dcl_id)) (exit) ) (foreach p pop2 (start_list (car p)) (mapcar 'add_list (cdr p)) (end_list)) (action_tile "accept" "(foreach p propdynnom (if (assoc p POP2) (setq val (nth (atoi (get_tile p)) (cdr (assoc p POP2)))) (setq val (get_tile p))) (if (and val (/= val \"\")) (setq ret (cons (cons p val) ret)))) (and (not ret) (setq ret T)) (setq sel (get_tile \"selset\")) (done_dialog)" ) (action_tile "cancel" "(setq ret nil)") (start_dialog) (unload_dialog dcl_id) (vl-file-delete tmp) ) ;;; REMOVE_DOUBLES - Suprime tous les doublons d'une liste (defun remove_doubles (lst) (if lst (cons (car lst) (remove_doubles (vl-remove (car lst) lst))) ) ) FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
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