ACAD666 Posté(e) le 29 septembre 2008 Partager Posté(e) le 29 septembre 2008 J'apporte un peu d'eau à la moulinette, si j'ose dire ... Avec AutoCAD 2007après avoir suivi les instructions à la lettreune présentation apparait, nommée comme prévu, indice 1puis le message suivant: Commande: ; erreur: Erreur Automation Entrée incorrecteet c'est la fin Remarques:la présentation créée a les memes parametres d'impression que la presentation modele :) dans l'espace papier l'objet fenetre cadre parfaitement le bloc "cadre" :D le barycentre de l'objet fenetre est aux coordonnées 0,0 (coin BG de la "feuille") :( [Edité le 29/9/2008 par ACAD666] Et AutoCAD se tourna vers le dessinateur à bout de nerfs, et lui dit:"ERREUR FATALE: Unhandled Access Violation Reading 0x5e43dff0 Exception at 5e43dff0h"Ce à quoi le dessinateur répondit:"Ca tombe bien je vais en profiter pour écouter un peu de rock qui décrasse les esgourdes"http://www.facebook.com/pages/Ex-Voto/206836112741129?sk=wall Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bred Posté(e) le 5 octobre 2008 Auteur Partager Posté(e) le 5 octobre 2008 Salut,désolé pour ma réponse tardive, mais je n'avais pas accès à Internet dernièrement.ACAD666, pourrais-tu joindre ton fichier stp ?(tu peux supprimer le plan si tu veux, mais laisses les cadres !)merci. Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose... Lien vers le commentaire Partager sur d’autres sites More sharing options...
ACAD666 Posté(e) le 6 octobre 2008 Partager Posté(e) le 6 octobre 2008 Bon, va falloir que j'apprenne à parler aux hebergeurs de fichiers .. ... je suis tarte en info mais y a bien un des trucs suivants qui va marcher, mordious! http://www.sendspace.com/file/hvll05 http://www.sendspace.com/file/hvll05 http://www.sendspace.com/file/hvll05 cool ça marche, tout espoir d'adaptation au monde moderne n'est pas perdu ! le fichier est tel que apres la manip et le message d'erreur [Edité le 6/10/2008 par ACAD666] Et AutoCAD se tourna vers le dessinateur à bout de nerfs, et lui dit:"ERREUR FATALE: Unhandled Access Violation Reading 0x5e43dff0 Exception at 5e43dff0h"Ce à quoi le dessinateur répondit:"Ca tombe bien je vais en profiter pour écouter un peu de rock qui décrasse les esgourdes"http://www.facebook.com/pages/Ex-Voto/206836112741129?sk=wall Lien vers le commentaire Partager sur d’autres sites More sharing options...
lili2006 Posté(e) le 6 octobre 2008 Partager Posté(e) le 6 octobre 2008 Bonsoir à toutes et tous, En effet ACAD666, même constat chez moi ! Désolé, je n'ai pas le temps de chercher,... De plus, je pense que bred va rapidement trouver le pourquoi du comment,... :P Il me semble bien avoir déjà vu ce message d'erreur, quelque part dans ce fil,... Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bred Posté(e) le 6 octobre 2008 Auteur Partager Posté(e) le 6 octobre 2008 Salut,j'ai regardé, et en effet, ça ne fonctionne pas, car il faut paramétrer ton aire de tracé, non pas en "présentation", mais en sélectionnant une "fenêtre", car cela me permet de calculer l'echelle de tirage.Désolé, je ne l'avais pas signalé dans l'introduction du lisp, c'est corrigé. Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose... Lien vers le commentaire Partager sur d’autres sites More sharing options...
ACAD666 Posté(e) le 7 octobre 2008 Partager Posté(e) le 7 octobre 2008 GLORIA HALLELUIA!HARE KRISHNA! Ce lisp libère toute une génération de dessinateurs peinant à peine moins que des galériens sur leurs planches de PT particuliers exportés de macao ou d'ailleurs, bravo! Un petit ronchonnement pour la forme ... Quel dommage que ça ne marche pas aussi bien pour des blocs-cadre de rotation différente de zéro! Et AutoCAD se tourna vers le dessinateur à bout de nerfs, et lui dit:"ERREUR FATALE: Unhandled Access Violation Reading 0x5e43dff0 Exception at 5e43dff0h"Ce à quoi le dessinateur répondit:"Ca tombe bien je vais en profiter pour écouter un peu de rock qui décrasse les esgourdes"http://www.facebook.com/pages/Ex-Voto/206836112741129?sk=wall Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bred Posté(e) le 7 octobre 2008 Auteur Partager Posté(e) le 7 octobre 2008 Re,C'est marrant ce que cet outil peux plaire...moi, j'en ai aucune utilité, faut que je regarde si je n'en trouve pas une.... Quel dommage que ça ne marche pas aussi bien pour des blocs-cadre de rotation différente de zéro!normalement ça doit marché si tu as des bloc cadre est tourné de 90°... ça configure l'impression en paysage/portrait selon le cas.... non ? Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose... Lien vers le commentaire Partager sur d’autres sites More sharing options...
ACAD666 Posté(e) le 17 octobre 2008 Partager Posté(e) le 17 octobre 2008 à 90° je crois que c'est OK de mémoire (désolé pas le temps de tester) mon ronchonnement venait du fait que j'ai 100 présentations à faire, toutes identiques mais dont le cadre est d'orientation variable (corps de rue au 1/200 sur 20km) ouin! PS: ce n'est pas une incitation à améliorer ton programme!PPS: et d'ailleurs si tu finalisais un lisp qui ferait toutes les présentations quelquesoit leur orientation, vends le, ta fortune serait assurée! :) Et AutoCAD se tourna vers le dessinateur à bout de nerfs, et lui dit:"ERREUR FATALE: Unhandled Access Violation Reading 0x5e43dff0 Exception at 5e43dff0h"Ce à quoi le dessinateur répondit:"Ca tombe bien je vais en profiter pour écouter un peu de rock qui décrasse les esgourdes"http://www.facebook.com/pages/Ex-Voto/206836112741129?sk=wall Lien vers le commentaire Partager sur d’autres sites More sharing options...
PHILPHIL Posté(e) le 16 décembre 2008 Partager Posté(e) le 16 décembre 2008 hello BRED GIL et toutes et tous bred je me suis permis une tite modification a ton lisp c'est pour un bloc qui a six attributs "IMA1 IMA2 ... IMA6"qui peuvent etre ou non renseignes mais qui doivent etre tous differentssinon on se retrouve avec des noms de presentations en double et la ca bloque j'ai essaye de recuperer le nom du bloc 'NOMBLOC" pour la deuxieme selection mais je bloque merci phil ;;; Crée un onglet EP par cadre de page sélectionné en EO ;;; par Bred - Un onglet déjà paramétrer doit exister - ;;; Version 1.1 (defun C:CEP2 (/ 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 ;; (progn (if (not (equal (vla-get-objectname (setq B (vlax-ename->vla-object SEL))) "AcDbBlockReference")) ;;; (setq NOMBLOC (vlax-get-property (vlax-ename->vla-object SEL) 'EFFECTIVENAME)) ;; ) (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 LSTIMA (GETATT C) NBLSTIMA (length LSTIMA) IMA1 (cdr (nth 0 LSTIMA)) IMA2 (cdr (nth 1 LSTIMA)) IMA3 (cdr (nth 2 LSTIMA)) IMA4 (cdr (nth 3 LSTIMA)) IMA5 (cdr (nth 4 LSTIMA)) IMA6 (cdr (nth 5 LSTIMA)) ) (setq ONG_DEST IMA1) (if (/= IMA2 "") (setq ONG_DEST (strcat ONG_DEST "_" IMA2)) ) (if (/= IMA3 "") (setq ONG_DEST (strcat ONG_DEST "_" IMA3)) ) (if (/= IMA4 "") (setq ONG_DEST (strcat ONG_DEST "_" IMA4)) ) (if (/= IMA5 "") (setq ONG_DEST (strcat ONG_DEST "_" IMA5)) ) (if (/= IMA6 "") (setq ONG_DEST (strcat ONG_DEST "_" IMA6)) ) (setq N-P (vla-add (vla-get-layouts ACDOC) ONG_DEST)) (setq ECH (vla-get-yscalefactor 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 10) (/ (- (car (vlax-safearray->list YMAX)) (car (vlax-safearray->list XMIN))) ECH))) (setq HAUT (* (/ UNIT 10) (/ (- (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) ) ;; GETATT ;; Retourne une liste d'association des attribut du bloc ;; ;; Argument ;; bl : la référence de bloc (ename ou vla-object) ;; ;; Retour ;; une liste d'association du type : ((etiquette . valeur) ...) (defun GETATT (BL) (vl-load-com) (or (= (type BL) 'VLA-OBJECT) (setq BL (vlax-ename->vla-object BL)) ) (if (and (= (vla-get-objectname BL) "AcDbBlockReference") (= (vla-get-hasattributes BL) :vlax-true) ) (mapcar (function (lambda (X) (cons (vla-get-tagstring X) (vla-get-textstring X)) ) ) (vlax-invoke BL 'GETATTRIBUTES) ) ) ) FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bred Posté(e) le 16 décembre 2008 Auteur Partager Posté(e) le 16 décembre 2008 Salut,j'ai du mal à comprendre ce que tu veux faire...c'est pour un bloc qui a six attributs "IMA1 IMA2 ... IMA6"qui peuvent etre ou non renseignes mais qui doivent etre tous differentssinon on se retrouve avec des noms de presentations en double et la ca bloque Pourrais-tu énumérer les étapes que tu essayes de faire, car voilà ce que je comprends en lisant tes modifs, et je ne suis pas sûr : - Tu boucle sur ta sélection de cadre :- tu récupères les valeurs des 6 attributs du blocs "cadre" sortis- Si la valeur n'est pas égale à "", tu la récupères, mais toujours la dernières valeur renseigné (vu que tu fait un if et pas un cond, c'est le dernier "if qui gagne" )- Tu nommes l'onglet avec ce nom récupéré (attention, si tout est vide tu n'as rien renseigné !)- Tu cadres, etc...- puis tu passes au bloc suivant.... - et en effet, si tu récupères un même nom, tu ne peux pas créée un nouvel onglet.Il faut donc tester la liste des noms des onglets, et si il existe déjà de l'indicer par exemple... ou autreJe te laisse regarder ce que tu veux faire, et si tu ne t'en sort pas fais le savoir !(une piste : (layoutlist) ) ... et si je n'ai rien compris, désolé, explique moi encore ! Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose... Lien vers le commentaire Partager sur d’autres sites More sharing options...
PHILPHIL Posté(e) le 17 décembre 2008 Partager Posté(e) le 17 décembre 2008 hello bred ca marche justement je le mettais a disposition pour les autres j'ai fait un bloc : un cadre et six attributs "ANI1, ANI2, .... je pose ce bloc sur les plans en renseignant les attributs et faisant attention que les concatenation des attributs soit toutes differentes avec le LISP je selectionne le premier bloc pour la reférencepuis tous les autres , je designe l'onglet de reférencepuis le LISP créer les onglets sans probleme le nom de l'onglet est créer a partir de la concatenation de "ANI1_ANI2_ANI3_ANI4_ANI5_ANI6" et si par exemple ANI5 et ANI6 sont vide le nom de l'onget "ANI1_ANI2_ANI3_ANI4" non je bloque juste sur le fait que je voudrais recuperer le nom du bloc reference pour ne selectionner que les bloc du meme nom (setq SEL (ssget '((0 . "INSERT") (8.nombloc))) salut phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bred Posté(e) le 17 décembre 2008 Auteur Partager Posté(e) le 17 décembre 2008 (setq SEL (ssget (list '(0 . "INSERT") (cons 8 nombloc)))) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose... Lien vers le commentaire Partager sur d’autres sites More sharing options...
PHILPHIL Posté(e) le 22 mars 2009 Partager Posté(e) le 22 mars 2009 HELLO bred bon ca date un peu comme postmais voila que j'utilise le lisp a nouveau une fois tous les 5 mois le bloc cadre est un A4 ou A3 ca marche tres bien quand les cadres "blocs" ont un angle de 0 ou 90 degresca donne des presentations en paysage ou portrait sans problememais quand celui ci a certains angle il y a un certains souci la presentation n'est plus aligné au bloc cadre comment modifier ton LISP de base "CEP" pour qu'il recupere l'angle du bloc pour aligner la presentation dessus ce qui devrait normalement ne donner ensuite plus que des presentations en version paysage avec un A4 ou A4 merci de ton aide BRED a+ phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bred Posté(e) le 22 mars 2009 Auteur Partager Posté(e) le 22 mars 2009 Salut,j'avoue ne pas comprendre.Si ton bloc cadre à un angle différent de 90°, ce n'est plus un cadre...Si tu as une images pour m'expliquer, ça me serais plus simple.merci.(je risque de ne pas pouvoir répondre aussi rapidement qu'avant, j'ai d'autres projets qui me prennent beaucoup de temps) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose... Lien vers le commentaire Partager sur d’autres sites More sharing options...
PHILPHIL Posté(e) le 22 mars 2009 Partager Posté(e) le 22 mars 2009 hello bred voila j'ai un plan de batiment ici il est en tripode je mets 3 bloc cadre dessus 1 horizontal angle 01 vertical angle 901 oblique il peut avoir n'importe quel angle en fait pour s'adapter a tous type de batiment http://images.imagehotel.net/x33hab6ve9.jpg le cadre horizontal donne une presentation en paysagele cadre vertical donne une presentation en portrait mais l'oblique donne une presentation en portrait avec le cadre oblique dedans http://images.imagehotel.net/beeua54ewk.jpg un autre angle aurait donne une presentation en paysage avec le cadre oblique j'ai a peut pret pigé que c'est le rapport hauteur / largeur du cadre qui influe sur paysage ou portrait il serait plus sympa que l'on est plutot une presentation en paysage avec le cadre horizontale dedans que la presentation soit alignée en fait au cadre bloc suivant l'angle d'insertion de celui ci comme ca meme le bloc qui est vertical ne serait plus en portrait mais aussi en paysage voili voila merci phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bred Posté(e) le 23 mars 2009 Auteur Partager Posté(e) le 23 mars 2009 Re,ok, j'ai compris.Mais le truc c'est que le lisp ne fonctionne pas du tout avec l'angle du bloc (il regarde la différence hauteur/largeur).De plus il faudrait faire faire un rotation à la vue dans la fenêtre... Cela me semble possible, mais il faudrait que je puisse avoir le temps de regarder ton problème, et en ce moment je ne l'ai pas.Peut-être que d'autre peuvent le faire, mais là, je ne veux pas te promettre quelque chose que je ne tiendrais pas. Désolé. Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose... Lien vers le commentaire Partager sur d’autres sites More sharing options...
PHILPHIL Posté(e) le 23 mars 2009 Partager Posté(e) le 23 mars 2009 hello ok bredje verrais plus tard doncmerci a+phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal Lien vers le commentaire Partager sur d’autres sites More sharing options...
grosseel Posté(e) le 4 juin 2009 Partager Posté(e) le 4 juin 2009 Salut tous le monde, Tout comme PHILPHIL, je cherche à pousser plus loin la routine de Bred, mais je bloc sur le même point c.a.d sélectionner automatiquement l'ensemble des blocs étant identique au bloc référence. De plus je cherche à inverser la liste créer afin de ranger les présentations dans le bon ordre.Ci-joint ma version du programme De BRED avec les modifications de PhilPhil et les miennes. (defun C:CEPX (/ 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) :"))) (setq BLK (cdr (assoc 2 (entget SEL)))) (if SEL (if (not (equal (vla-get-objectname (setq B (vlax-ename->vla-object SEL))) "AcDbBlockReference")) (setq SEL NIL))) ) [surligneur] (setq SEL (ssget "X" (list (cons 2 BLK))) ACDOC (vla-get-activedocument (vlax-get-acad-object)) LAYS (layoutlist) ) (setq BLK NIL) [/surligneur] (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 LSTIMA (GETATT C) NBLSTIMA (length LSTIMA) IMA1 (cdr (nth 27 LSTIMA)) ;;; Numéro de folio du bloc ;;; IMA2 (cdr (nth 28 LSTIMA)) ;;; Nom de document ERAS ) (setq ONG_DEST IMA1) ;;; (if (/= IMA2 "") ;;; Concatenation de numéro de folio et du Nom du document ERAS ;;; (setq ONG_DEST (strcat ONG_DEST "_" IMA2)) ;;; ) (setq N-P (vla-add (vla-get-layouts ACDOC) ONG_DEST)) (setq ECH (vla-get-yscalefactor 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)))) ;;;GR (vla-put-plottype (vla-get-activelayout ACDOC) acwindow) (vla-setwindowtoplot (vla-get-activelayout ACDOC) P1 P2) (setq I (1+ I)) ) ) ) (setvar "TILEMODE" 1) (princ) ) En surligné jaune, ce que j'ai modifié. Apparemment c la deuxième partie qui pose probléme. :exclam: -------------------- Ok, j'ai résolu le 1er probléme (J'ai modifier le code du poste en conséquence) mais je ne sais toujours pas comment inverser l'ordre de la liste créer avec SSGET [Edité le 4/6/2009 par grosseel] Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bred Posté(e) le 4 juin 2009 Auteur Partager Posté(e) le 4 juin 2009 Salut,sélectionner automatiquement l'ensemble des blocs étant identique au bloc référenceJ'ai répondu en réponse 2 de cette page.Mis dans la partie surlignée : (setq SEL (ssget (list '(0 . "INSERT") (cons 8 nombloc))) AcDoc (vla-get-activedocument (vlax-get-acad-object)) nom-p (getstring t "\n Nom des Onglets à Créer :") layS (layoutlist)) Ensuiteinverser la liste créer afin de ranger les présentations dans le bon ordreTu n'as pas besoin d'inverser la liste.Si tu veux inverser le traitement, tu incrémente de -1 en partant du nombre total d'élément dans la sélection : Je te laisses un peu chercher, mais la base c'est ça : (setq i 0) inutile(repeat (setq i (sslength sel)) ..... (ssname sel (setq i (1-i)))) .... [Edité le 4/6/2009 par Bred] Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose... Lien vers le commentaire Partager sur d’autres sites More sharing options...
grosseel Posté(e) le 5 juin 2009 Partager Posté(e) le 5 juin 2009 Merci Bred, ca marche NickelAu passage, vraiment génial ton programme Lien vers le commentaire Partager sur d’autres sites More sharing options...
canartik2 Posté(e) le 15 octobre 2009 Partager Posté(e) le 15 octobre 2009 Bonjour, ça fait des semaines, voir des mois que je cherche une solution pour imprimer des carnets de ferraillage, et là je tombe sur le post de BIGC-ROMU qui souhaitait imprimer des feuillets depuis l'EO.N'y connaissant strictement rien à la programmation, (je ne savais même pas comment utiliser la routine poster par bred dans le post ...), là je suis comblé.C'est exactement ce dont j'avais besoin Bred, alors un gros, gros merci pour ton travail. Sache que ça va m'être fortement utile et pas qu'à moi.Thanks a lot! Lien vers le commentaire Partager sur d’autres sites More sharing options...
grand_sapin Posté(e) le 30 septembre 2014 Partager Posté(e) le 30 septembre 2014 Bonjour à tous je déterre ce post pour une requête sur le lisp de Bred :J'utilise CEP très régulièrement, ce lisp est toujours super. Cependant, serait-il possible de passer PSLTSCALE à 0 à chaque création de présentation ?Sinon, on se les retape une par une et c'est pas terrible !J'ai bien essayé de rajouter (setvar "psltscale" 0) à la fin, mais sans succès ! Merci d'avance pour le coup de pouce Sapin Lien vers le commentaire Partager sur d’autres sites More sharing options...
Goldorak44 Posté(e) le 1 octobre 2014 Partager Posté(e) le 1 octobre 2014 Salut, tu peux procéder comme ceci : (defun c:Ech (/ presentation ) (foreach presentation (layoutlist) (setvar "ctab" presentation) (command "_LAYOUT" "_Set" lay "PSLTSCALE" 0); ) (princ) ) Et tu inclus la commande Ech à la fin du programme. PS:Je n'ai pas regardé en détail le lisp, il est surement possible d'intégrer ta demande directement à la création de la présentation ! ;) PIRO CharlesDeveloppeur Revit, RV/RA - Formateur RevitPIRO CIE Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bred Posté(e) le 1 octobre 2014 Auteur Partager Posté(e) le 1 octobre 2014 Bonjour, Si je ne me trompe pas, rajoutes (setvar "psltscale" 0) juste avant (setq i (1+ i)) (à la fin). Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose... Lien vers le commentaire Partager sur d’autres sites More sharing options...
grand_sapin Posté(e) le 1 octobre 2014 Partager Posté(e) le 1 octobre 2014 Ah cool, effectivement, je l'avais mis juste après et du coup ça ne fonctionnait pas !Merci Bred, pour ça et pour la routine en général ! Sapin Lien vers le commentaire Partager sur d’autres sites More sharing options...
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