bono05 Posté(e) le 5 octobre 2009 Posté(e) le 5 octobre 2009 Bonjour, Voici ce que je cherhce à faire avec un lisp peut-être...? J'ai des plans qui ont chacuns 3 présentations (layouts) et j'ai besoin d'avoir pour chaque plan un" enregistrer sous" vers 3 plans...donc 1 plan par présentation (layout) existante. merci pour vos lumières! :)
capde06 Posté(e) le 5 octobre 2009 Posté(e) le 5 octobre 2009 simpleactive l'onglet en questionbouton de droite sur l'ongletetexporter présentation en objet Vous fîtes ce que vous pûtes et vous m'épatâtes !!!!
bono05 Posté(e) le 5 octobre 2009 Auteur Posté(e) le 5 octobre 2009 Merci pour ta réponse....mais exporter vers le model n'est pas la solution que je recherche. En effet chaque présentation doit se retrouver dans le plan sauver... et avec son nom d'origine de la présentation. Exemple: Plan Master avec 3 présentations:-1° présentation avec le nom (045001)-2°présentation avec le nom(045002)-3°présentation avec le nom(045003) Au finish je devrai avoir 3 plans: 1 plan avec la présentation 0450011 plan avec la présentation 0450021 plan avec la présentation 045003 Merci.
Bred Posté(e) le 5 octobre 2009 Posté(e) le 5 octobre 2009 Salut,Je ne vois pas comment faire rapidement, donc, tu as vu juste, c'est possible en lisp. Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
bono05 Posté(e) le 5 octobre 2009 Auteur Posté(e) le 5 octobre 2009 Bred, Mais encore? Cela existe déjà? :(
Bred Posté(e) le 5 octobre 2009 Posté(e) le 5 octobre 2009 Re,Personnellement je ne l'ai pas.Il faut le faire.Tu en es capables ou tu demandes à ce qu'il soit fait ? Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
bono05 Posté(e) le 5 octobre 2009 Auteur Posté(e) le 5 octobre 2009 je suis un utilisateur acharné de lisps et de SAS (superAutoScript)...mais malheureusement je suis incapable d'en créer un... :(
Bred Posté(e) le 5 octobre 2009 Posté(e) le 5 octobre 2009 ... et tu en as beaucoup à traiter comme ça ? Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
bono05 Posté(e) le 5 octobre 2009 Auteur Posté(e) le 5 octobre 2009 Effectivement...et à chaque mise à jour c'est le même problème que je dois faire pour le mettre sur un serveur de plans où il ne veulent pas plusieurs layouts par plan...d'où mon intêret de pouvoir le faire avec SAS... ;)
capde06 Posté(e) le 5 octobre 2009 Posté(e) le 5 octobre 2009 essai ca (defun c:tata ()(vl-load-com)(setq lliste (layoutlist)) (foreach a lliste (setvar "ctab" a) (command "_exportlayout" a) ) ) [Edité le 5/10/2009 par capde06] [Edité le 5/10/2009 par capde06] Vous fîtes ce que vous pûtes et vous m'épatâtes !!!!
bono05 Posté(e) le 6 octobre 2009 Auteur Posté(e) le 6 octobre 2009 Salut capde06, As-tu personellement testé cette routine? Car chez moi il me bloque tout à 33 % ??De plus il semble vouloir exporter les layouts vers le model space. Mais peut-etre que je me trompe !? :( J'ai tester la commande _exportlayout toute seule et apparemment c'est elle qui me bloque autocad?! Voilà ce que j'ai pû tester pour l'instant... [Edité le 6/10/2009 par bono05]
capde06 Posté(e) le 7 octobre 2009 Posté(e) le 7 octobre 2009 je l'ai testé sur un plan acev environ 25 ongletsca a tres bien marché Vous fîtes ce que vous pûtes et vous m'épatâtes !!!!
lili2006 Posté(e) le 7 octobre 2009 Posté(e) le 7 octobre 2009 Bonjour à toutes et tous, Testé vite fait sur une 2008 full => Commande: (defun c:tata ()(_> (vl-load-com)(_> (setq lliste (layoutlist))(_> (foreach a lliste((_> (setvar "ctab" a)((_> (command "_exportlayout" a)((_> )(_> )C:TATACommande: tataRégénération de la présentation.Régénération de l'objet - fenêtres en mémoire cache._exportlayout Commande inconnue "EXPORTLAYOUT". Appuyez sur F1 pour obtenir de l'aide.Commande: A Commande inconnue "A". Appuyez sur F1 pour obtenir de l'aide.Commande: Régénération de la présentation.Régénération de l'objet - fenêtres en mémoire cache._exportlayout Commande inconnue "EXPORTLAYOUT". Appuyez sur F1 pour obtenir de l'aide.Commande: B Commande inconnue "B". Appuyez sur F1 pour obtenir de l'aide.Commande: Régénération de la présentation.Régénération de l'objet - fenêtres en mémoire cache._exportlayout Commande inconnue "EXPORTLAYOUT". Appuyez sur F1 pour obtenir de l'aide.Commande: C Commande inconnue "C". Appuyez sur F1 pour obtenir de l'aide.Commande: Régénération de la présentation.Régénération de l'objet - fenêtres en mémoire cache._exportlayout Commande inconnue "EXPORTLAYOUT". Appuyez sur F1 pour obtenir de l'aide.Commande: D Commande inconnue "D". Appuyez sur F1 pour obtenir de l'aide.Commande: Régénération de la présentation.Régénération de l'objet - fenêtres en mémoire cache._exportlayout Commande inconnue "EXPORTLAYOUT". Appuyez sur F1 pour obtenir de l'aide.Commande: E Commande inconnue "E". Appuyez sur F1 pour obtenir de l'aide.Commande: Régénération de la présentation.Régénération de l'objet - fenêtres en mémoire cache._exportlayout Commande inconnue "EXPORTLAYOUT". Appuyez sur F1 pour obtenir de l'aide.Commande: Format Libre Commande inconnue "FORMAT LIBRE". Appuyez sur F1 pour obtenir de l'aide.Commande: Régénération de la présentation._exportlayout Commande inconnue "EXPORTLAYOUT". Appuyez sur F1 pour obtenir de l'aide.Commande: Garde CARNET Commande inconnue "GARDE CARNET". Appuyez sur F1 pour obtenir de l'aide.Commande: Régénération de la présentation._exportlayout Commande inconnue "EXPORTLAYOUT". Appuyez sur F1 pour obtenir de l'aide.Commande: Sommaire CARNET Commande inconnue "SOMMAIRE CARNET". Appuyez sur F1 pour obtenir de l'aide.Commande: nil MAIS, je n'ai rien modifié de mes calques auparavent, surement une raison,... capde06, peux-tu mettre en ligne ton fichier test STP ? Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
bono05 Posté(e) le 7 octobre 2009 Auteur Posté(e) le 7 octobre 2009 Salut capde06 (et les autres), Je te confirme que cela fonctionne bien, il est vrai que c'est un peu lent et c'est la raison pour laquelle je pensais qu'il bloquait.Le seul truc c'est que comme je le mentionne plus haut il me sauve la presentation dans le "modele"...or je recherche la solution pour sauver le tout mais en gardant la présentation et son nom. Exemple: Plan Master avec 3 présentations:-1° présentation avec le nom (045001)-2°présentation avec le nom(045002)-3°présentation avec le nom(045003) Au finish je devrai avoir 3 plans: 1 plan avec la présentation 0450011 plan avec la présentation 0450021 plan avec la présentation 045003 Merci pour ton aide... :D
bono05 Posté(e) le 9 octobre 2009 Auteur Posté(e) le 9 octobre 2009 Je me sens comme ....abandonné. :cool: Peux t-on me dire si c'est possible ...ou pas? Merci à tous.
capde06 Posté(e) le 9 octobre 2009 Posté(e) le 9 octobre 2009 je ne pense pas que cela soit possible desolé Vous fîtes ce que vous pûtes et vous m'épatâtes !!!!
bono05 Posté(e) le 9 octobre 2009 Auteur Posté(e) le 9 octobre 2009 pas de quoi... Merci d'avoir essayé! :D
Bred Posté(e) le 9 octobre 2009 Posté(e) le 9 octobre 2009 Salut,bon, j'avais un peu de temps ce midi... mais je n'ai pas encore réussis.Je met le code, mais il ne fonctionne pas.(c'est du bicolage / colage, pas propre, mais c'est le "brouillon"...) Si un chef lisp à une idée... 1er lisp : enregistre les fichiers avec le nom de l'onglet (dans le répertoire du fichier "de Base") ça, ça marche.(defun c:enr-lay (/ AC-DOC LST-LAYOUT N NAME-FILE-B) (setq Ac-Doc (vla-get-activedocument (vlax-get-acad-object)) name-file-B (vla-get-fullname Ac-Doc) lst-layout (layoutlist)) (repeat (setq n (length lst-layout)) (vl-cmdf "_saveas" "" (strcat (vlax-get-property Ac-Doc 'Path) "/" (nth (setq n (1- n)) lst-layout))) ) (princ) ) Deuxième étape : Rouvrir le "Fichier de Base", charge le lisp.le principe : j'utilis les ObjectDBX pour traiter les fichiers présent dans le répertoire (les fichiers ayant le nom des onglts du fichier de base ouvert)par contre, le bug, c'est qu'au lieu de me suprimer le layouts du fichier ouvert en arrière plan, il me suprime celui du fichier en cours.....Si quelqu'un à la solution, là j'ai plus le temp. (defun c:sup-lay (/ AC-DOC FILE-T LAYTS LST-LAYOUT N NAME-FILE-B) ;;; [b]routine de patrick_35[/b] (defun Ouvrir_dessin_dbx(dwg / dbx) (if (< (atoi (substr (getvar "ACADVER") 1 2)) 16) (setq dbx (vlax-create-object "ObjectDBX.AxDbDocument")) (setq dbx (vlax-create-object (strcat "ObjectDBX.AxDbDocument." (substr (getvar "ACADVER") 1 2)))) ) (vla-open dbx dwg) dbx ) (setq Ac-Doc (vla-get-activedocument (vlax-get-acad-object)) name-file-B (vla-get-fullname Ac-Doc) lst-layout (layoutlist)) (repeat (setq n (length lst-layout)) (setq file-T (Ouvrir_dessin_dbx (strcat (vla-get-Path Ac-Doc) "\\" (nth (setq n (1- n)) lst-layout) ".dwg")) layts (vla-get-layouts file-T)) (vlax-for o layts (if (or (not (equal (vl-string-subst "" ".dwg" (substr (vl-string-subst "" (vla-get-Path Ac-Doc) (vla-get-name file-T)) 2)) o)) (equal (strcase "Model") (strcase (vla-get-name o)))) [b](vla-delete o)[/b] ) (vla-save file-T) ) (vlax-release-object file-T) ) (princ) ) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
zebulon_ Posté(e) le 9 octobre 2009 Posté(e) le 9 octobre 2009 Bonjour, (defun c:SplitLayout () (vl-load-com) (setq PREFIX (getvar "DWGPREFIX")) (setq NOM (getvar "DWGNAME")) (setq LLAY (layoutlist)) (foreach LAY LLAY (command "_undo" "_begin") (setq RemoveList (vl-remove-if '(lambda(x) (= x LAY)) LLAY)) (foreach RLAY RemoveList (command "_layout" "_d" RLAY) ) (command "_saveas" "" (strcat PREFIX LAY "-" NOM ) ) (command "_undo" "_end") (command "_undo" "1") ) (princ) ) un petit truc vite fait, avec que des command et en faisant joujou avec les undo AmicalementVincent C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
Bred Posté(e) le 9 octobre 2009 Posté(e) le 9 octobre 2009 Hey !bien joué !J'avais pas pensé au undo.Bravo, bonne idée. Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
bono05 Posté(e) le 12 octobre 2009 Auteur Posté(e) le 12 octobre 2009 Hè bien, ma semaine commence très bien!!! Je remercie particulièrement capde06, Bred et zebulon pour avoir fait que cette commande soit possible. Vous êtes genial!! :D
zebulon_ Posté(e) le 12 octobre 2009 Posté(e) le 12 octobre 2009 géniaux, au pluriel, comme le sujet, c'est mieux ;) On peut surement mieux faire. A commencer par rajouter une CMDECHO à off, puis remplacer les (command... ) par son équivalent en VLISP. AmicalementVincent C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
bono05 Posté(e) le 13 octobre 2009 Auteur Posté(e) le 13 octobre 2009 Je ne voudrai pas trop en demander...mais quand même. :cool: Comment faire pour que ce script soit utilisable avec SAS (SuperAutoScript)? Merci!!
bono05 Posté(e) le 16 octobre 2009 Auteur Posté(e) le 16 octobre 2009 Up?? Comment faire pour que ce script soit utilisable avec SAS (SuperAutoScript)? Merci!! :D
philous2 Posté(e) le 16 octobre 2009 Posté(e) le 16 octobre 2009 BJr tt le monde, Vincent j'ai chargé ton lisp (defun c:SplitLayout () (vl-load-com) (setq PREFIX (getvar "DWGPREFIX")) (setq NOM (getvar "DWGNAME")) (setq LLAY (layoutlist)) (foreach LAY LLAY (command "_undo" "_begin") (setq RemoveList (vl-remove-if '(lambda(x) (= x LAY)) LLAY)) (foreach RLAY RemoveList (command "_layout" "_d" RLAY) ) (command "_saveas" "" (strcat PREFIX LAY "-" NOM ) ) (command "_undo" "_end") (command "_undo" "1") ) (princ) ) et j'ai ce message d'erreur [surligneur] Commande: appload SplitLayout.LSP correctement chargé(s)Commande: ; erreur: structure incorrecte de la liste en entréeCommande:Commande: SplitLayoutCommande inconnue "SPLITLAYOUT". Appuyez sur F1 pour obtenir de l'aide[/surligneur] IL y a un truc qui ne fonctionne pas chez moi dommage car ton lisp était très intéressant A+PHIL
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