bbteddy Posté(e) le 30 juillet 2010 Posté(e) le 30 juillet 2010 Bonjour à tous ! Voici un code que vous m'avez très gentiment concocté il y a quelque temps déjà. Celui ci me permet de sélectionner les cadres que je souhaite imprimer et l'impression ce fait toute seule page par page et dans l'ordre ! Je souhaite maintenant l'utiliser avec CutePDF Writer (ou un autre !) .Seulement a chaque page il me demande de lui donner le nom du fichier à enregistrer... Est-il possible qu'il rentre automatiquement le numéros de page (celui-ci lui aillant déjà servi pour faire le tri ! ). Voici le code : (defun c:impt (/ ACDOC B BACKGROUNDPLOT C I P1 P2 SEL XMIN YMAX PLT lst-att LST LST-F LST-NB Y) (vl-load-com) (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)) BACKGROUNDPLOT (getvar "BACKGROUNDPLOT")) (setvar "BACKGROUNDPLOT" 0) ; Récupère Attrib "FOLIO" (repeat (setq i (sslength sel)) (if (equal (vla-get-effectivename (setq c (vlax-ename->vla-object (ssname sel (setq i (1- i)))))) (vla-get-effectivename b)) (if (setq lst-att (vlax-safearray->list (vlax-variant-value (vla-GetAttributes c)))) (repeat (setq y (length lst-att)) (if (equal (strcase (vla-get-TagString (nth (setq y (1- y)) lst-att))) "FOLIO") (setq lst-F (append (list (cons (atoi (vla-get-TextString (nth y lst-att))) c)) lst-F) lst-nb (append (list (atoi (vla-get-TextString (nth y lst-att)))) lst-nb)) ) ) ) ) ) ; Tri (setq lst-nb (vl-sort lst-nb '< ) i 0) (repeat (length lst-nb) (setq lst (append lst (list (cdr (assoc (nth i lst-nb) lst-F)))) i (1+ i)) ) ; trite liste bloc (setq i 0) (repeat (length lst) (setq c (nth i lst) i (1+ i)) (vla-GetBoundingBox c 'xmin 'ymax) (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 (car (vlax-safearray->list xmin)) (cadr (vlax-safearray->list xmin))))) (vlax-make-variant (vlax-safearray-fill p2 (list (car (vlax-safearray->list ymax)) (cadr (vlax-safearray->list ymax))))) (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 plt (vla-get-plot AcDoc)) (vla-put-PlotType (vla-get-activelayout AcDoc) acWindow) (vla-setwindowtoplot (vla-get-activelayout AcDoc) p1 p2) (vla-plottodevice plt (vla-get-configname (vla-get-activelayout AcDoc))) ) (setvar "BACKGROUNDPLOT" BACKGROUNDPLOT) (princ) ) MERCI pour votre aide ! @ bientôt et bon weekend
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