filou69470 Posté(e) le 20 décembre 2023 Posté(e) le 20 décembre 2023 Salut, je viens vous déranger car j'aurai besoin d'informations, actuellement je réalise mes plan en utilisant des XREF et j'aimerai savoir si je peux récupéré le x et y d'un block ce trouvant dans un des XREF afin de l'incorporé directement dans un bloc ce trouvant dans la mise en page. exemple en photo :
lili2006 Posté(e) le 20 décembre 2023 Posté(e) le 20 décembre 2023 Bonsoir à toutes et tous, Si tu as les express tools d'installés, tu peux tenter "_ncopy" Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lecrabe Posté(e) le 20 décembre 2023 Posté(e) le 20 décembre 2023 Hello @lili2006 Mais Zero Express/Bonus Tools avec AutoCAD LT ! Bye, lecrabe 1 Autodesk Expert Elite Team
Eric Posté(e) le 21 décembre 2023 Posté(e) le 21 décembre 2023 _NCOPY ou NCOPIE est intégré dans AutoCAD et AutoCAD LT depuis bon nombre d'années. Plus besoin des Express pour ça. 😉 1 Eric est formateur, revendeur sur AutoCAD LT, DraftSight, ZWCAD, SketchUp et PDF2CAD
lecrabe Posté(e) le 21 décembre 2023 Posté(e) le 21 décembre 2023 Hello @Eric Merci j ai appris un Truc sur "_NCOPY" ! Je viens de tester sur AutoCAD LT 2024 et en effet ca marche ! Bye, lecrabe Autodesk Expert Elite Team
Eric Posté(e) le 21 décembre 2023 Posté(e) le 21 décembre 2023 Sinon, ça semble faisable en créant dans le fichier source un champ objet bidon pour récupérer l'expression en copier coller. Ensuite, dans le fichier cible, on colle cette expression dans un champ formule. Eric est formateur, revendeur sur AutoCAD LT, DraftSight, ZWCAD, SketchUp et PDF2CAD
lecrabe Posté(e) le 21 décembre 2023 Posté(e) le 21 décembre 2023 Hello Ci joint une variante amelioree de NCOPY que j utilise de temps en temps ... Routine VLisp "NCOPY_MULTIPLE" qui permet de selectionner N objets (1 par 1) dans la XREF pour les importer dans le DWG principal ! Je l ai testé sur AutoCAD LT 2024 ... C OK Bye, lecrabe ;; ;; https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-ncopy-multiple-at-same-place-or-pause-the-ncopy-command/td-p/10932882 ;; ;; ---- How to ncopy multiple at same place or pause the ncopy command ? ---- ;; ;; Not so easy to do. Possibly like this : ;; (while (setq e (cadr (nentsel))) (command "ncopy" e "" "" "")) ;; ;; But is it really necessary? I mean, how difficult is it to hit enter a couple of times. ;; ;; Anyway, just a few threads lower @pbejse posted a nice example of code ;; how this could be done without the need to fight with ncopy. HERE ;; https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/is-there-alisp-to-pick-polyline-from-apoly-line-in-or-out-block/m-p/10931411/highlight/true#M426966 ;; (vl-load-com) (defun c:NCopy_Multiple (/ obj tmp) (while (setq obj (nentselp "\nSelect (One by One) Objects to copy from XREF ... " ) ;_ end of nentselp ) (progn (setq tmp (entmakex (entget (car obj)))) (vla-transformby (vlax-ename->vla-object tmp) (vlax-tmatrix (caddr obj)) ) (Vla-put-layer (vlax-ename->vla-object (entlast)) (getvar 'clayer)) ) ) ) Autodesk Expert Elite Team
Luna Posté(e) le 21 décembre 2023 Posté(e) le 21 décembre 2023 Coucou @lecrabe, Alors il me semble que NCOPIE (tout comme (nentsel) d'ailleurs) creusent aussi loin qu'elles peuvent. Autrement dit, si ici le but est de récupérer le bloc d'une XREF et de copier le BLOC de l'XREF directement dans le dessin, alors ni NCOPIE ni NCOPY_Multiple fonctionnent.. Car elle iront copier l'entité sélectionnée dans le bloc et vont donc copier un objet (ligne, texte, etc...) mais pas le bloc... Pour accéder aux informations du bloc, il faut vérifier la longueur de (nentsel) car si elle mesure 4, cela signifie que l'entité sélectionnée appartient à un bloc. Et le détail des nested blocks est donné dans (last (nentsel)) J'avais un programme pour vérifier le calque et nom de bloc des objets d'un (nentsel) donc globalement par exemple cela permet d'avoir la liste des blocs/XREF avec une liste d'association correspondant à l'EffectiveName du bloc/XREF suivi du nom d'entité de la référence de bloc: (setq nlst (nentsel)) (setq name (car nlst)) (if (= 4 (length nlst)) ;; entity is inside a block/XREF (mapcar '(lambda (e) (cons (vla-get-EffectiveName (vlax-ename->vla-object e)) e)) blst) ) Je ne maîtrise pas suffisamment les matrices de transformation pour savoir s'il est possible d'insérer un bloc avec ses attributs correctement. Mais en tout cas il faut utiliser la dernière liste d'entité fournie par (nentsel) pour avoir la liste des blocs/XREF liés à l'objet sélectionné. A savoir que la première entité est le bloc/XREF contenant directement le sous-objet sélectionné, et le dernier nom d'entité correspond donc au bloc/XREF directement implanté dans notre dessin. Bisous, Luna
Vincent P. Posté(e) le 21 décembre 2023 Posté(e) le 21 décembre 2023 Bonjour, J'ai la vague impression qu'on est au bord du hors sujet ... La question de base de filou ne parlais pas de sortir les blocs de la XREF. Le sujet était plutôt exploiter les coordonnés XY des blocs et les faire apparaitre dans une présentation. Le fait que ce soit un bloc dans une Xref relève plus du contexte que de la demande il me semble. Lispeur éternel débutant! Autocad Map3D 2023 Covadis-Autopist 18.2
lecrabe Posté(e) le 21 décembre 2023 Posté(e) le 21 décembre 2023 Hello @Vincent P. OUI desole je me suis laisse emporte par NCOPY ! Belle fin 2023, La Sante, 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