PHILPHIL Posté(e) le 23 avril 2010 Posté(e) le 23 avril 2010 salut gille avait ecrit ceci http://cadxp.cadmag.info/sujetXForum-20908.htm ca marche pour des blocs ayant le meme nomest il possible d'avoir la meme chose pour des blocs de nom differents mais avec des parametre qui peuvent avoir les meme noms gracias phil bloc de face bloc de dessus longueur a tranmetre / en commun longueurhauteur n'existe pas / pas en commun ------------visibilite a transmetre / en commun visibilite---------- n'existe pas / pas en commun epaisseur FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
(gile) Posté(e) le 23 avril 2010 Posté(e) le 23 avril 2010 Salut, ;;; MatchDynProp (gile) ;;; Copie les propriétés dynamiques d'un bloc source vers les blocs sélectionnés (defun c:MatchDynProp (/ source dynval target pname) (vl-load-com) (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument (vlax-get-acad-object))) ) (if ;; on sélectionne le bloc source et on contrôle sa validité (bloc dynamique) (and (setq source (car (entsel "\nSélectionnez le bloc source: "))) (setq source (vlax-ename->vla-object source)) (= (vla-get-ObjectName source) "AcDbBlockReference") (= (vla-get-IsDynamicBlock source) :vlax-true) ) ;; on sélectionne les blocs cible (if (ssget (list '(0 . "INSERT"))) (progn (vla-StartUndoMark *acdoc*) ;; on récupère le nom et la valeur de chaque propriété dynamique (setq dynval (mapcar (function (lambda (p) (cons (vla-get-PropertyName p) (vla-get-Value p) ) ) ) (vlax-invoke source 'GetDynamicBlockProperties) ) ) ;; on traite le jeu de sélection (vlax-for b (setq target (vla-get-ActiveSelectionSet *acdoc*)) ;; on attribue les valeurs des propriétés dynamiques du bloc source ;; aux propriétés de même nom des blocs cible (if (= (vla-get-IsDynamicBlock B) :vlax-true) (foreach p (vlax-invoke b 'GetDynamicBlockProperties) (setq pname (vla-get-PropertyName p)) (if (and (/= pname "Origin") (assoc pname dynval)) (vla-put-Value p (cdr (assoc pname dynval))) ) ) ) ) (vla-delete target) (vla-EndUndoMark *acdoc*) ) ) (princ "\nEntité non valide") ) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
PHILPHIL Posté(e) le 23 avril 2010 Auteur Posté(e) le 23 avril 2010 Hello gille TRES GRAND MERCI A TOI on ne le dirat jamais assez je pense A+ tres bon week end phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
zebzeb Posté(e) le 19 septembre 2014 Posté(e) le 19 septembre 2014 Bonjour, Je déterre ce post … Désolé Mais je n’arrive pas à le modifier pour que les propriétés dynamiques se copient même sur des blocs de noms différents, car j’ai plusieurs blocs qui ont tous les mêmes paramètres dynamiques. Merci
(gile) Posté(e) le 20 septembre 2014 Posté(e) le 20 septembre 2014 Bonjour, Je déterre ce post … Désolé Mais je n’arrive pas à le modifier pour que les propriétés dynamiques se copient même sur des blocs de noms différents, car j’ai plusieurs blocs qui ont tous les mêmes paramètres dynamiques. Merci Le LISP ci-dessus (réponse #2) ne tient pas compte des noms de blocs, il prend uniquement en compte les noms des propriétés dynamiques. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
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