Aller au contenu

[Résolu] Copier une fenêtre sur plusieur présentation


CalGory

Messages recommandés

Bonjour à tous,

 

Pourriez-vous m'aider sur un petit problème que je rencontre sur les fenêtres de présentation ?

Je pense que la solution est tellement facile que je passe à côté ^^

En fait je veux juste copier une fenêtre dans une autre présentation tout en gardant les propriétés des calques.

Sur Autocad 2009 je me poser pas la question sa se fesait tous seul, mais depuis le début d'année on m'a installé la version 2012 et j'avoue que je suis en mode repérage.

 

En espérant avoir su me faire comprendre

 

Merci d'avance pour vos réponses

"Visez toujours la lune. Même si vous la manquez, vous atterrirez parmi les étoiles."

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

si j'ai bien compris ta question en ce qui me concerne j'enregistre l'état des calque dans le gestionnaire des états de calque puis je restaure cet état dans ma nouvelle fenêtre de ma nouvelle présentation...

 

en espérant t'avoir aidé...

 

Vincent.

Lien vers le commentaire
Partager sur d’autres sites

Merci Vincent pour ta réponse je vais utiliser ta technique en attendant de voir si j'arrive à trouver cette variable ou option qu'il faut juste activé

 

Merci encore ^^

 

Greg.

"Visez toujours la lune. Même si vous la manquez, vous atterrirez parmi les étoiles."

Lien vers le commentaire
Partager sur d’autres sites

Il existe un lisp nommé CPP qui pourrait être utile mais il faudra tester pour le savoir.

Voici donc ce lisp, commande : CPP

 

(defun c:CPP (/ acdoc layouts *error* lay clayout ss sa)

; Copie les objets sélectionnés dans toutes les présentations.

 

(vl-load-com)

 

(setq layouts (vla-get-layouts (setq

acdoc (vla-get-ActiveDocument (vlax-get-acad-object))))

)

 

(defun *error* (msg)

(and msg

(or

(member (strcase msg) '("FUNCTION CANCELLED" "QUIT / EXIT ABORT" "FONCTION ANNULEE" "QUITTER / SORTIR ABANDON"))

(princ (strcat "\nErreur : " msg))

)

)

;(if ss (vla-delete ss))

(vla-endundomark acdoc)

(princ)

)

 

(vla-startundomark acdoc)

 

(or

(and

(/= (setq clayout (getvar 'CTAB)) "Model")

(= (getvar 'CVPORT) 1)

)

(progn

(princ "\n** Commande non autorisée dans l'espace Objet**")

(quit)

)

)

 

(if (and

(or

(setq ss (cadr (ssgetfirst)))

(setq ss (ssget))

)

(setq sa (bs:ss2safearray ss))

)

(progn

(vlax-for lay layouts

(if (and (eq :vlax-false (vla-get-modeltype lay))

(/= clayout (vla-get-name lay))

)

(vla-CopyObjects acdoc sa (vla-get-block lay))

)

);vlax-for layout

(princ "\nCopie effectuée !")

)

);if ssget

 

(*error* nil)

);cpp

 

(defun bs:ss2safearray (sset / i entlst)

(setq i 0)

(repeat (sslength sset)

(setq entlst (cons (vlax-ename->vla-object (ssname sset i)) entlst))

(setq i (1+ i))

)

(vlax-safearray-fill

(vlax-make-safearray vlax-vbObject (cons 0 (1- (length entlst))))

entlst

)

)

 

(princ "\nCommande à utiliser: CPP")

(princ)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour mikl63

 

Merci pour ce magnifique lisp, il fonctionne bien. Il me reste à le modifier pour qu'il me le copie que dans une présentation car en général sur mon dwg il y a une quinzaine de présentation.

 

Encore merci ^^

"Visez toujours la lune. Même si vous la manquez, vous atterrirez parmi les étoiles."

Lien vers le commentaire
Partager sur d’autres sites

Tout compte fait je reviens vers vous car le LISP et moi sa fait deux.

Pour ne pas finir inculte, est ce compliquer d'apprendre le langage LISP ?

Sa me gène de demander toutes les secondes de l'aide sans comprendre ^^

 

Et merci encore à vous tous qui prenez de votre temps pour nous aider

 

Greg.

"Visez toujours la lune. Même si vous la manquez, vous atterrirez parmi les étoiles."

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

Le plus simple est de faire une recherche sur le forum. C'est un sujet qui a été largement abordé.

 

De plus, tu as des personnes ici qui maitrise ce langage et qui ne sont pas avare de conseils.

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

hello greg

 

 

regarde ici tu as un LISp qui permet de choisir dans quelle presentation tu veux faire les copies

 

contrairement a l'autre LISP par contre il ouvre la/les presentation(s) et fait la copie

c'est un peu plus long mais ca marche

 

http://cadxp.com/index.php?/topic/25046-copie-dentites-dune-presentations-a-dautres-presentations-a-la-volee/page__p__136217__hl__dupobjpres__fromsearch__1#entry136217

 

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

Re bonjour tous le monde ^^

 

Je viens de test le Lisp de Phil, pour ce qui est de copier dans les présentations que je souhaite c'est topissime par contre sa ne me garde pas l'état des calques gelés.

 

Et pour la version de Mikl sa me garde la fenêtre ainsi que les propiétés des calques, mais sa me la copie sur toutes les présentations présente dans le fichier.

 

Me reste plus qu'à mixer les deux et ce sera bon.

 

Je sais que je le dit souvent, mais sa coute rien : MERCI !!!!

(je sais 4 points d'exclamations trahissent souvent une instabilité mentale mais j'assume ^^)

 

Greg.

"Visez toujours la lune. Même si vous la manquez, vous atterrirez parmi les étoiles."

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Calecx,

 

J'ai un fichier source avec toutes les présentations paramétrer pour l'impression ainsi que le cartouche qui vas bien sur chacune de celles-ci. C'est pour cela que j'essaye de trouver cette solution.

"Visez toujours la lune. Même si vous la manquez, vous atterrirez parmi les étoiles."

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à toutes et à tous

Je vois deux possibilités pour éviter un lisp.....

1)tu peux utiliser la commande : _layout puis G et tu cible ton fichier source pour récupérer les presentations.

ou

2) Comme dit Patrick_35 c'est un très vieux sujet...Ancienne méthode tu sélectionnes la fenêtre, tu fais bloc tu donne le nom du bloc et tu coches la case .Conserver pas convertir en bloc et pointes le point d'insertion puis ok

tu ouvres une présentation et tu fais insérer tu cherches le nom du bloc que tu viens de créer tu l'insères en le décomposant et voilà le tour est joué..

 

@+

 

Michel a

Lien vers le commentaire
Partager sur d’autres sites

je pense que la solution était dans le 1er post...

 

un petit coup de LMAN quand tu es dans le fenêtre source, tu sauvegarde l’état des calques

 

tu fait ton copier coller dans le 2eme présentation tu rentre dans la 2eme fenêtre, re LMAN et tu restaures l'état des calque que tu viens de créer...

Lien vers le commentaire
Partager sur d’autres sites

Pour le moment c'est la manip que j'effectue mais perso j'aime bien automatiser les opérations récurantes.

je t'explique même pas l'usine a gaz que je suis entrain de monter en essayant de combinet la solution de Mikl et Phil ^^ j'espere juste que sa marchera. Au pire sa m'auras fait une leçon LISP

"Visez toujours la lune. Même si vous la manquez, vous atterrirez parmi les étoiles."

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

En fait mon problème est pas de dupliquer mes presentations ou les cartouches quelles contiennent mais les fenêtres ainsi que l'état des calques.

Je suis toujours entrain d'essayer de mixer les deux lisp que l'on ma fourni plus haut, car ils contiennent une partie de la solution. J'avoue je m'arrache un peu les cheveux mais je persevere ^^

"Visez toujours la lune. Même si vous la manquez, vous atterrirez parmi les étoiles."

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Je persiste et signe, ou sinon je n'ai pas compris, mais le fait de créer une nouvelle présentation "A partir du gabarit..." conserve l'état des calques et les fenêtres.

En ce qui concerne l'état des calques, il faut que les calques soient déjà existant dans le dessin courant (sinon passer par lman puis export/import).

Ensuite créer la nouvelle présentation "A partir du gabarit...", l'état des calques de la fenêtre de présentation est importé.

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

j'avoue que c'est une solution, faudrais que je modifie le bloc cartouche en collant quelques attributs et sa pourrais le faire.

 

Merci de votre patience et de vos réponse, car quand j'ai une idée en tête j'ai du mal à voir les autres solutions.

"Visez toujours la lune. Même si vous la manquez, vous atterrirez parmi les étoiles."

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Voici une nouvelle version de CPP, qui permet de choisir dans une boîte de dialogue les présentations dans lesquelles on veut copier les objets sélectionnés :

 

http://www.creao.fr/uploads/lisp/cpp.lsp

 

Merci à (gile) pour sa routine GetLayouts. :)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Merci Bryce d'avoir répondu, j'aurais juste une question car en utilisant le lisp je ne vois pas de boite de dialogue me permettant de choisir sur quelle présentation je désire copier

Pour avoir une boite de dialogue je dois créer un fichier ".dcl" non ?

 

Merci

 

Greg.

"Visez toujours la lune. Même si vous la manquez, vous atterrirez parmi les étoiles."

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

J'ai utilisé la routine GetLayouts de (gile), qui créé toute seule un fichier dcl temporaire.

Je ne vois pas trop pourquoi ça ne fonctionnerait pas chez toi...

Peut-être qu'AutoCAD n'arrive pas à créer ce fichier, pour une raison qui m'échappe... :unsure:

 

Essaie de taper ceci dans la ligne de commande d'AutoCAD :

 

(setq f (open (vl-filename-mktemp "toto.dcl") "w")

 

puis

 

(close f)

 

Et dis-moi ce qu'il te répond dans les 2 cas.

Lien vers le commentaire
Partager sur d’autres sites

Re bonjour,

 

Bryce mille merci en fait sa marche bien c'est moi qui est fait mon boulet ^^ je fesait que charger l'ancien CPP <_<

Merci aussi à tous ceux qui ont participer.

 

Greg.

"Visez toujours la lune. Même si vous la manquez, vous atterrirez parmi les étoiles."

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é