Aller au contenu

NCOPY depuis XREF sur N entités?


lecrabe

Messages recommandés

Hello

 

La commande NCOPY des Express Tools ne permet d extraire que UNE SEULE Entité!

 

SVP qq un aurait il une routine capable depuis une sélection classique de N entités (Clic sur entite, Fenêtre, Capture, etc) d extraire dans le DWG principal N entités depuis 1 XREF ?

 

J ai un peu cherché sans vraiment trouver ce que je désirais!?

 

Encore un truc ou AutoCAD est ridicule versus Microstation!

 

Encore Merci a Gilles pour la routine ARC Tangent Tangent qui rapproche "un poil" ACAD de Microstation...

 

Ah si Autodesk pouvait parfois s inspirer de Microstation !? Car il faut avouer que MicroStation a "pique" plein de bonnes choses dans AutoCAD...

 

Merci d avance, Bye, lecrabe

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Hello Lecrabe,

Heuuuu pas sur de comprendre. Mais avec l'utilisation que j'ai de NCOPY, je peux faire l'extraction de plusieurs entités. Et je m'en sers très souvent.

Je lance la commande puis je sélectionne mes n entités, et enfin je fais directement Echap. Cela évite de faire toutes les validations.

 

Le truc, c'est qu'il faut cliquer toutes les entités voulues, une fenêtre de sélection ne marche pas.

 

A voir.

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Lien vers le commentaire
Partager sur d’autres sites

Hello Gilles

 

MERCI et SVP c quel Msg / Routine qui permet une extraction multiple depuis une XREF avec une selection classique ??

 

Elle semble traiter (Non teste) specifiquement l'extraction de Bloc avec un facteur d' echelle non uniforme !?

 

Car la routine NN (XShrimp) ne traite que UN SEUL Objet !

 

Bye, lecrabe

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

hello lecrabe

 

l idée ne vient pas de moi mais du forum autodesk et je viens de l'a tester

 

avec la commande EDITREF sélection le bloc ou l'xref

 

sélection se que tu veux dupliquer, et copie le a 500 unités a droite a gauche comme tu veux

 

supprime du jeu de sélection les copies des entités a 500 unités ( elles changent de couleur )

 

sort de EDITREF sans sauvegarder avec "ignorer les modifications", ton XREF ou BLOC reste

intact

 

tu redéplaces les nouvelles entités de 500 unités dans l'autre sens

 

et tu as les copies au meme endroit

 

maintenant tout ça peut être intégrer dans un lisp sans avoir a déplacer les entités, le jeu de sélection

 

a voir les lispeurs

 

a+

 

Phil

 

et tu as les copies des enti

Autodesk Architecture 2023 sous windows 11 64

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

  • 4 mois après...

HELLO LECRABE

 

ca date mais bon

 

un truc comme ca ?

 

apres test fonctionne si le bloc ou l'Xref ne contient pas de bloc ou xref

cette version marche

 

;;;------------------------------------------
;;;EXTRAIRE DES ENTITEES D'UN BLOC OU XREF
;;;------------------------------------------


(defun c:extraire_entite_xref_bloc ()
 (setq osm (getvar "osmode"))
 (prompt "\nVEUILLEZ SELECTIONNER UN XREF OU BLOC POUR L'EXTRACTION D'ENTITES ")
 (command-s "-editref" pause "" "OK" "T" "N")
 (prompt "\nCLIQUER SUR LES OBJETS A EXTRAIRE:")
 (setq obj nil)
 (while (null obj) (setq obj (ssget)))
 (setvar "osmode" 0)
 (command-s "ALIGNER3D" obj "" "c" "0,0,0" "100000,0,0" "" "0,0,0" "100000,0,0" "q")
 (command-s "_refset" "S" obj "")
 (command-s "_refclose" "e")
 (setvar "osmode" osm)
)

 

s'il y a des bloc ou xref dans le bloc ou l'xref

cette version ouvrira la boite de dialogue pour choisir le bloc "enfant" ou "papa"

 

;;;------------------------------------------
;;;EXTRAIRE DES ENTITEES D'UN BLOC OU XREF
;;;------------------------------------------


(defun c:extraire_entite_xref_bloc ()
 (setq osm (getvar "osmode"))
 (prompt "\nVEUILLEZ SELECTIONNER UN XREF OU BLOC POUR L'EXTRACTION D'ENTITES ")
 (command-s "editref")
 (prompt "\nCLIQUER SUR LES OBJETS A EXTRAIRE:")
 (setq obj nil)
 (while (null obj) (setq obj (ssget)))
 (setvar "osmode" 0)
 (command-s "ALIGNER3D" obj "" "c" "0,0,0" "100000,0,0" "" "0,0,0" "100000,0,0" "q")
 (command-s "_refset" "S" obj "")
 (command-s "_refclose" "e")
 (setvar "osmode" osm)
)

 

 

a+

 

Phil

Autodesk Architecture 2023 sous windows 11 64

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

Merci Mr PHILPHIL de tes efforts !

 

ET la bonne solution vient de tomber ces jours sur le Forum Lisp d'Autodesk US ...

 

Test rapide avec des objets (y compris des Blocs) provenant de planche cadastrale en XREF ...

 

Par contre a priori, il y a un petit bug : la routine de BeekeeCZ ne fonctionne que UNE SEULE FOIS !

 

Merci BeekeeCZ, Bye, lecrabe "triste"

 


;; 
;; https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/ncopy-with-window-selection/td-p/9091896
;; 
;; Routine: CopyNestedObjects by BeekeeCZ
;; 
;; NCOPY with window selection
;;
;; Seems that a vla-copy method does a better job.
;;  

(vl-load-com)

(defun c:CopyNestedObjects (/ ss sn doc obj objnew)
 
 (command "_.-REFEDIT" pause "_Ok" "_All" "_No")

 (if (and (setq ss (ssget "_:L"))
   (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
   (setq sn (ssadd))
   )	 
   (repeat (setq i (sslength ss))
     (setq obj (vlax-ename->vla-object (ssname ss (setq i (1- i)))))
     (if (setq objnew (vla-Copy obj))
(ssadd (vlax-vla-object->ename objnew) sn))))
 
 (if (> (sslength sn) 0)
   (command "_.REFSET" "_R" sn ""))
 (command "_.REFCLOSE" "_Disc")
 (command-s "_.MOVE" sn "")
 (princ)
) 

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité