Aller au contenu

Recopier plusieurs calques (avec le contenu) en ajoutant un préfixe


Nos

Messages recommandés

Bonjour,

je souhaiterai dans le même dessin, pouvoir copier des calques en masse avec leur contenu, en les filtrant grâce à leurs préfixe <DVD-MUR01>

et en modifiant ce dernier par <DVD-MUR02>. J'ai essayé mais je n'y arrive pas... :( même en combinant plusieurs commandes...

merci par avance

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

Sans reflechir la commande COPIERVERSCALQUE (COPYTOLAYER) devrait t'aider !?

En ayant selectionne AVANT les bons objets sur le / les bon(s) calque(s) !

Pour les envoyer sur un calque XXXX que tu pourras toujours renommer plus tard ...

 

LA SANTE, Bye, lecrabe

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Merci le geste est sympa...

 

J'ai beau retourné le problème dans tous les sens, je n'y arrive pas même m'aidant des discussions des autres membres (https://cadxp.com/topic/45996-copier-une-selection-dans-un-autre-calque/page__view__findpost__p__267914).

 

Mes connaissances en lisp sont quasi nul donc je me suis orienté vers une série de macro mais même là je me retrouve coincé.

 

Pour décomposer mon souhait:

1er: recopier l'intégralité d'un calque sans avoir à sélectionner les objets (et donc en le sélectionnant par son nom)

2ème: renommer ce calque

 

je cherche...

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

Bon je resume a ma facon :

1) Selectionner TOUS les objets d'un calque PRECIS (ou N calques avec un prefixe)

2) Copier sur UN AUTRE calque PRECIS (prealablement cree)

Suis je OK ??

 

Si OUI, voici l enchainement des commandes :

 

Commande: -COPIERVERSCALQUE

Sélectionnez les objets à copier: (ssget "X" '((8 . "DVD-MUR01*")))

558 trouvé(s)

Sélectionnez les objets à copier:

Spécifiez le nom du calque de destination ou [?/= (sélectionner un objet)] : DVD-MUR02

558 objets copiés et placés sur le calque "DVD-MUR02".

Spécifiez un point de base ou [Déplacement/Quitter] :

 

Commande:

 

Cela va envoyer une copie de tous les objets des N calques DVD-MUR01* sur LE calque DVD-MUR02

 

---- MAIS si tu veux arriver sur N calques DVD-MUR02* je pense qu il te faudra un Lisp / VLisp ----

 

LA SANTE, Bye, lecrabe

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Salut, j'ai retrouvé un vieux truc que j'avais écris il y a des années.

 

On se place dans le calque "cible" et on sélectionne un élément d'un calque source pour copier l'intégralité du calque source vers le calque cible (courant).

;;; ************************************************************
;;;      Copie du contenu d'un calque dans le caque courant     
;;; ************************************************************
(defun c:CopyCalquesCourant (/)
 (princ "\n\tDéveloppé par Denis H. (1.0)")
 (setq doc (vla-get-activedocument (vlax-get-acad-object)))
 (vla-startundomark doc)
 (setq CalqCib (getvar "clayer"))
 (while (not (setq EntSrc (car (entsel "\nSélectionner une entité du calque à copier : "))) ;_ Fin de and
        ) ;_ Fin de not
 ) ;_ Fin de while
 (setq CalqSrc (cdr (assoc 8 (entget EntSrc))))
 (if (= CalqSrc CalqCib)
   (progn (princ "\nAttention, calque source et calque cible identiques") (exit))
 ) ;_ Fin de if
 (setq ss nil)
 (setq ss (ssget "_X" (list (cons 8 CalqSrc))))
 (if ss
   (progn (setq i 0)
          (while (< i (sslength ss))
            (setq etx (entget (ssname ss i)))
            (setq Ent (ssname ss i))
            (command "copier" Ent "" (list 0 0 0) (list 0 0 0))
            (command "chprop" (entlast) "" "ca" CalqCib "")
            (setq i (+ i 1))
          ) ;_ Fin:while
   ) ;_ Fin:progn
 ) ;_ Fin:if
 ;; Active la fin de l'undo
 (vla-EndUndoMark doc)
 (princ)
)
 

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

  • 2 ans après...

Bonjour tout le monde,

je déterre mon post mais j'apporte quelque détails...

je souhaiterais envoyer ma sélection d'objet divers (sélection par deux point à l'écran) vers un nouveaux calque mais avec un ajout de préfixe au calque...

donc en gros j'ai 1 cercle, 1 triangle et 1 texte dans le calque A et j'ai 1 carre dans le calque B je sélectionne le triangle, le texte et le carré

alors la commande souhaitée déplace ma sélection vers deux calques qu'elle crées en ayant ajouté un préfixe au choix, dans notre cas 55, soit vers les calques 55A pour le triangle et le texte et 55B pour le carré

J'espère avoir été clair et merci par avance

Lien vers le commentaire
Partager sur d’autres sites

Salut Nos,

 

Tu as nécessitée à automatiser la tache?

A ta place, je ferais :
 une copie de tous ce que je veut dupliquer
 coller dans un fichier vierge
 commande RENOMMER => calques
 Ancien nom : *
 Nouveau nom : 55*
 Copier-coller dans l'ancien fichier.

Lispeur débutant!
Autocad Map3D 2023
Covadis-Autopist 18.0C

Lien vers le commentaire
Partager sur d’autres sites

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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é