pitt13 Posté(e) le 9 février 2011 Posté(e) le 9 février 2011 Messieurs bonjour,je suis a la recherche d'une routine permettant de créer des présentations depuis des folios dans l'espace objet : j'ai des folios dans l'espace objet espacés a intervalles reguliers et je doit créer une présentation pour chacun des folios afin de pouvoir les publier et les editer sur une imprimante. Pourriez vous m'indiquer si l'un d'entre vous a un LISP pour effectuer cette tache assez gourmande en temps ? Merci d'avance Le Pitt13
lili2006 Posté(e) le 9 février 2011 Posté(e) le 9 février 2011 Bonsoir à toutes et tous, Bienvenue pitt13, Patrick_35 à répondu à une demande similaire ici,... Mais, sans passer par l'espace papier si j'ai bien compris. PS: Balaise les -4 messages,.. :P Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
pitt13 Posté(e) le 9 février 2011 Auteur Posté(e) le 9 février 2011 Merci bien pour votre rapidité :D Oui en fait le but est de ne pas passer par l'espace papier je le test au plus tot Merci encore Le Pitt13
lili2006 Posté(e) le 9 février 2011 Posté(e) le 9 février 2011 Re, Tiens ? J'ai déjà vu cet avatar,... :cool: Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lesourd2 Posté(e) le 9 février 2011 Posté(e) le 9 février 2011 Salut Voire ce lisp , merci à son auteur ;;;Fonctionnement : ;;;- Les cadres de pages doivent être des blocs. ;;;(Si vous avez des cadres en simple rectangle, transformez en un en bloc et faites un réseau ou un copier) ;;;- Afin d'éviter toutes erreur, une présentation déjà paramétré doit exister (Une fenêtre de présentation cadré et mis à l'échelle, Traceur, échelle de tracé pour un cadre). ;;;- Les cadres en Espace Objets peuvent être à n'importe quel échelle, et peuvent être mélangé Portrait et Paysage. ;;;- L'unité d'insertion doit être en millimètre, centimètre ou mètre. ;;;- Le nom des onglet sera incrémenter de +1. ;;;- Commande : CEP ; Crée un onglet EP par cadre (bloc) de page sélectionné en EO ; par Bred - Un onglet déjà paramétrer doit exister (defun c:CEP (/ ACDOC B C FEN I LAYS N-P NOM-P ONG-BASE ONG_DEST SEL XMIN YMAX A-P HAUT LARG P1 P2 NOM ECH LAY LOCK UNIT) (vl-load-com) ; 4 Millimètres 5 Centimètres 6 Mètres (setq Unit (cdr (assoc (getvar "INSUNITS") '((4 . 1) (5 . 10) (6 . 1000))))) (while (not sel) (setq sel (car (entsel "\n Choix du cadre (Bloc) :"))) (if sel (if (not (equal (vla-get-ObjectName (setq b (vlax-ename->vla-object sel))) "AcDbBlockReference")) (setq sel nil))) ) (setq sel (ssget '((0 . "INSERT"))) AcDoc (vla-get-activedocument (vlax-get-acad-object)) nom-p (getstring t "\n Nom des Onglets à Créer :") layS (layoutlist)) (if (> (length layS) 1) (progn (princ "\n Copie configuration traceur d'onglet Existant. \n Plusieurs Présentations détectées.") (while (not ong-base) (princ "\n") (repeat (setq i (length layS)) (princ (strcat (nth (- (length layS) i) layS) " * ")) (setq i (1- i))) (setq ong-base (getstring t "\n Présentation d'où la configuration du traceur sera récupérée :")) (if (not (member ong-base layS)) (setq ong-base nil)))) (setq ong-base (car layS))) (setq a-p (vla-item (vla-get-layouts AcDoc) ong-base)) (vla-getcustomscale a-p 'n 'm) (vla-put-ActiveLayout AcDoc a-p) (vlax-for e (vla-get-paperspace AcDoc) (if (equal (vla-get-ObjectName e) "AcDbViewport") (setq lay (vla-get-Layer e) lock (vla-get-DisplayLocked e))) ) (setq i 0) (repeat (sslength sel) (if (vlax-property-available-p (vlax-ename->vla-object (ssname sel i)) 'effectivename) (setq nom vla-get-effectivename) (setq nom vla-get-name)) (if (equal (nom (setq c (vlax-ename->vla-object (ssname sel i)))) (nom b)) (progn (vla-GetBoundingBox c 'xmin 'ymax) (setq n-p (vla-add (vla-get-Layouts AcDoc) (setq ong_dest (strcat nom-p " - " (rtos (1+ i) 2 0))))) (setq ech (vla-get-XEffectiveScaleFactor c)) (vla-copyfrom n-p a-p) (vla-put-ActiveLayout AcDoc n-p) (setq fen (vla-AddPViewport (vla-get-paperspace AcDoc) (vlax-3d-point '(0 0 0)) (setq Larg (* Unit (/ (- (car (vlax-safearray->list ymax)) (car (vlax-safearray->list xmin))) ech))) (setq Haut (* Unit (/ (- (cadr (vlax-safearray->list ymax)) (cadr (vlax-safearray->list xmin))) ech))))) (vla-put-Layer fen lay) (vla-put-DisplayLocked fen lock) (vla-ZoomExtents (vlax-get-acad-object)) (vla-Display fen :vlax-true) (vla-put-MSpace AcDoc :vlax-true) (vla-put-ActivePViewport AcDoc fen) (vla-ZoomWindow (vlax-get-acad-object) xmin ymax) (vla-put-MSpace AcDoc :vlax-false) (if (> (- (car (vlax-safearray->list ymax)) (car (vlax-safearray->list xmin))) (- (cadr (vlax-safearray->list ymax)) (cadr (vlax-safearray->list xmin)))) (vla-put-PlotRotation (vla-get-activelayout AcDoc) ac90degrees) (vla-put-PlotRotation (vla-get-activelayout AcDoc) ac0degrees)) (setq p1 (vlax-make-safearray vlax-vbdouble (cons 0 1)) p2 (vlax-make-safearray vlax-vbdouble (cons 0 1))) (vlax-make-variant (vlax-safearray-fill p1 (list (- (/ Larg 2)) (- (/ Haut 2))))) (vlax-make-variant (vlax-safearray-fill p2 (list (/ Larg 2) (/ Haut 2)))) (vla-put-PlotType (vla-get-activelayout AcDoc) acWindow) (vla-setwindowtoplot (vla-get-activelayout AcDoc) p1 p2) (setq i (1+ i)) ) ) ) (setvar "TILEMODE" 1) (princ) )
lili2006 Posté(e) le 9 février 2011 Posté(e) le 9 février 2011 Re, merci à son auteur Merci Bred Mais je ne pense pas que ce soit vraiment adapté à la demande de pitt13,... Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
pitt13 Posté(e) le 10 février 2011 Auteur Posté(e) le 10 février 2011 Messieurs bonjour,j'ai testé ce matin le LISP de Patrick_35 dans un post précédent mais celui-ci ne fonctionne pas, par contre celui de Bred fonctionne mais pas comme j'en aurai besoin : ce LISP permet de creer qu'une seule presentation a partir d'une presentation existante : une bonne base pour moi :D Ce que je recherche c'est de pouvoir creer plusieurs presentations suivant le nombre de blocs present dans l'espace objet, par exemple, (bloc rectangle simulant les dimensions d'une feuille A4 ou A3). En gros : si j'ai 14 blocs (les fameux rectangles) dans l'espace objet, le resultat que je cherche a avoir c'est 14 presentations avec incrementation des noms. Assez compliqué Je vous tiens au courant sur l'avancement de ma recherche.
oran Posté(e) le 10 février 2011 Posté(e) le 10 février 2011 Bonjour, Voici 2 lisp(s) qui pourront compléter le tien (je ne me souviens plus de l'auteur mais l'en remercie pour leur efficacité): CLAYOUT: Etablit plusieurs présentations en prenant la première comme référence (présentation papier)et en décalant les suivantes vers le bas. (dans notre cas ==> décalage de 205 vers le bas) CLAYOUTT: Etablit plusieurs présentations en prenant la première comme référence (présentation papier)et en décalant les suivantes vers la droite. (dans notre cas ==> décalage de 300 vers la droite) Pour les décalage il suffit d'ouvrir le lisp et de modifier la mesure. CLAYOUT: (defun llayouts (/ acadobject ActDoc LAYOUTS LLAY n)(setq acadObject (vlax-get-acad-object))(setq ActDoc (vla-get-ActiveDocument (vlax-get-Acad-Object)))(setq LAYOUTS (vla-get-Layouts ActDoc))(setq LLAY nil)(vlax-for n LAYOUTS(setq LLAY (cons (vla-get-name n) LLAY)))LLAY) (defun NewNameLayout (OLDLAY NEWLAY)(setq RES nil)(while NEWLAY(setq ELEM (car NEWLAY))(setq NEWLAY (cdr NEWLAY))(if (not (member ELEM OLDLAY))(setq RES ELEM)))RES) (defun c:clayout ()(vl-load-com)(setq NBPAGE (getint "\nNombre de copies : "))(repeat NBPAGE(setq OLDLLAY (llayouts))(command "_layout" "_c" "" "")(setq NEWLLAY (llayouts))(setq NNAME (NewNameLayout OLDLLAY NEWLLAY))(command "_layout" "_s" NNAME)(command "_MSPACE")(command "_-pan" "_non" '(0 0) "_non" '(0 205))(command "_PSPACE"))(princ)) CLAYOUTT: (defun llayouts (/ acadobject ActDoc LAYOUTS LLAY n)(setq acadObject (vlax-get-acad-object))(setq ActDoc (vla-get-ActiveDocument (vlax-get-Acad-Object)))(setq LAYOUTS (vla-get-Layouts ActDoc))(setq LLAY nil)(vlax-for n LAYOUTS(setq LLAY (cons (vla-get-name n) LLAY)))LLAY) (defun NewNameLayout (OLDLAY NEWLAY)(setq RES nil)(while NEWLAY(setq ELEM (car NEWLAY))(setq NEWLAY (cdr NEWLAY))(if (not (member ELEM OLDLAY))(setq RES ELEM)))RES) (defun c:clayoutt ()(vl-load-com)(setq NBPAGE (getint "\nNombre de copies : "))(repeat NBPAGE(setq OLDLLAY (llayouts))(command "_layout" "_c" "" "")(setq NEWLLAY (llayouts))(setq NNAME (NewNameLayout OLDLLAY NEWLLAY))(command "_layout" "_s" NNAME)(command "_MSPACE")(command "_-pan" "_non" '(0 0) "_non" '(-300 0))(command "_PSPACE"))(princ))
lili2006 Posté(e) le 10 février 2011 Posté(e) le 10 février 2011 Bonjour à toutes et tous, dans l'espace objet, le resultat que je cherche a avoir c'est 14 presentations avec incrementation des noms. Pourquoi dans l'espace objet ? C'est ce que fait CEP de bred mais en présentation EP,... Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
pitt13 Posté(e) le 10 février 2011 Auteur Posté(e) le 10 février 2011 Re bonjour tout le monde merci Oran pour les 2 LISP faudrai que je couple avec le LISP de Bred sur l'espace presentation. lili2006 en fait le truc c'est que j'ai des folios (A4 297x210mm) en espace objet (EO) espacés a intervalles régulier sur X et sur Y, un peu comme une grille. Chaque présentation en espace papier (EP) est une vue en zoom fenetre du folio : - en EP ,nom de la presentation n°1 = F001 qui est une vue en zoom fenetre sur le folio n°1 dans EO ; puis - en EP ,nom de la presentation n°2 = F002 qui est une vue en zoom fenetre sur le folio n°2 etc...
Bred Posté(e) le 10 février 2011 Posté(e) le 10 février 2011 salut,Ce que tu viens d'expliquer est exactement ce que devrait faire le lisp "CEP".Mais ça fait longtemps qu'il a été fait, et je ne l'ai pas testé sur les dernières....quelle version d'Autocad utilises tu ? Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
Bred Posté(e) le 10 février 2011 Posté(e) le 10 février 2011 ... je viens de le tester sur la 2011, ça fonctionnes toujours... (qu'est-ce qu'il est bon le gars qu'à fait ça !) :P - Tu lances CEP- tu sélectionnes un cadre (un bloc)- tu sélectionnes ensuite par une fenêtre de capture tous les cadres que tu veux traiter (si tu les veux dans l'ordre, faut les sélectionner un par un)- tu donnes le nom de l'onglet (ici F00)- tu valides.- tu laisses faire. Pour que tu n'ai pas d'erreur, tu paramètres un onglet (que tu pourras supprimer ensuite) tous comme tu veux : L'imprimante, le zoom, etc... en cadran bien la fenêtre sur un de tes folio. Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
pitt13 Posté(e) le 11 février 2011 Auteur Posté(e) le 11 février 2011 Bonjour Bredje tourne sur une version 2010 Ca ne fonctionne pas trop bien apparement sur 2010 Extrait de la console : Choix du cadre (Bloc) :Choix des objets: Spécifiez le coin opposé: 1 trouvé(s) Choix des objets: Spécifiez le coin opposé: 1 trouvé(s), 2 au total Choix des objets: Spécifiez le coin opposé: 1 trouvé(s), 3 au total Choix des objets: Spécifiez le coin opposé: 1 trouvé(s), 4 au total Choix des objets:Nom des Onglets à Créer :F00Régénération de la présentation.Régénération de la présentation.Régénération de la présentation. Commande: Régénération du modèle. Commande:Commande:Commande: ; erreur: Erreur Automation Entrée incorrecte Une seule présentation est créer : F00-1, je testerai sur une autre version.
Bred Posté(e) le 11 février 2011 Posté(e) le 11 février 2011 Salut,(y'a des bugs dans les avatars on dirait....) Je viens de tester sur 2010 (EN) et ça fonctionne. :casstet: As-tu bien paramétrer un onglet correctement : Echelle, Style, imprimante... et tu fais un cadrage de ton aire de fenêtre par "fenêtre" . Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
pitt13 Posté(e) le 11 février 2011 Auteur Posté(e) le 11 février 2011 Salutoui apparement y a un petit bug avec les avatars :D Je pense que oui, j'ai parametré toute la presentation : echelle, imprimante, style, etc...Qu"entend tu par cadrage fenetre ?
thry0 Posté(e) le 11 février 2011 Posté(e) le 11 février 2011 Bjr à tous, Je me permets d'intervenir ...Par cadrage "fenêtre" il faut comprendrela nécessité de saisir ta zône de tracé au moyen de "fenêtre"dans l'aire du tracé ...
pitt13 Posté(e) le 12 février 2011 Auteur Posté(e) le 12 février 2011 Bonjour tout le monde,merci thry0 pour cette description du cadrage fenetre :D, c'est a cause de ce petit changement que cela ne fonctionnait pas : car toute mes impression sont faite en étendu, du coup erreur. Merci Bred pour ce fabuleux LISP et tout les personnes qui ont participées : lili2006, oran, lesourd2 et patrick_35 CordialementPitt13
lex Posté(e) le 20 février 2011 Posté(e) le 20 février 2011 Bonsoir à tous, j'aurais le même besoinmais en testant le lisp de bred erreur: Erreur Automation Entrée incorrecte un seul onglet est créerj'utilise 2009 fr lex.
lili2006 Posté(e) le 20 février 2011 Posté(e) le 20 février 2011 Bonsoir à toutes et tous, lex erreur: Erreur Automation Entrée incorrecte C'est pour les mêmes raisons,... Et la réponse à été donné par thry0 Par cadrage "fenêtre" il faut comprendrela nécessité de saisir ta zône de tracé au moyen de "fenêtre"dans l'aire du tracé ... Remonte un peu le post pour mieux comprendre éventuellement,... Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Bred Posté(e) le 20 février 2011 Posté(e) le 20 février 2011 Salut,pour info, le sujet de référence est ici et répond à certains problèmes :http://www.cadxp.com/XForum+viewthread-fid-115-tid-19988-page-1.html Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
lex Posté(e) le 20 février 2011 Posté(e) le 20 février 2011 Salut BRED, j'ai fait un test mais j'ai le même résultat .Que dois-je faire? LEX
lili2006 Posté(e) le 20 février 2011 Posté(e) le 20 février 2011 Re, Peux-tu poster ton fichier test ? Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lex Posté(e) le 26 février 2011 Posté(e) le 26 février 2011 Bonsoir, voicihttp://file.ahst.fr/get.php?id=4d69870d93549 merci.
Bred Posté(e) le 27 février 2011 Posté(e) le 27 février 2011 Salut,tu trouveras ci-joint ton fichier avec une présentation paramétrée afin que les autres onglets soient créés comme tu le veux.(j'ai fait un test avec un nom d'onglet "toto", supprimes les avant si tu veux, mais pas la première présentation.) http://file.ahst.fr/get.php?id=4d6a0fa0c7733 [Edité le 27/2/2011 par Bred] Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
lex Posté(e) le 13 mars 2011 Posté(e) le 13 mars 2011 Salut bred, je ne sais pas me connecter à cette page. a+
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