Aller au contenu

Carnets EO passé en Présentation


Messages recommandés

Posté(e)

J'apporte un peu d'eau à la moulinette, si j'ose dire ...

 

Avec AutoCAD 2007

après avoir suivi les instructions à la lettre

une présentation apparait, nommée comme prévu, indice 1

puis le message suivant: Commande: ; erreur: Erreur Automation Entrée incorrecte

et 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

  • Réponses 81
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Meilleurs contributeurs dans ce sujet

Images postées

Posté(e)

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...

Posté(e)

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

Posté(e)

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...

Posté(e)

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

Posté(e)

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...

  • 2 semaines après...
Posté(e)

à 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

  • 1 mois après...
Posté(e)

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 differents

sinon 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

Posté(e)

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 differents

sinon 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 autre

Je 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...

Posté(e)

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érence

puis tous les autres , je designe l'onglet de reférence

puis 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

Posté(e)
(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...

  • 3 mois après...
Posté(e)

HELLO bred

 

bon ca date un peu comme post

mais 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 degres

ca donne des presentations en paysage ou portrait sans probleme

mais 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

Posté(e)

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...

Posté(e)

hello bred

 

voila j'ai un plan de batiment

ici il est en tripode

 

je mets 3 bloc cadre dessus

 

1 horizontal angle 0

1 vertical angle 90

1 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 paysage

le 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

Posté(e)

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...

Posté(e)

hello

 

ok bred

je verrais plus tard donc

merci

 

a+

phil

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

  • 2 mois après...
Posté(e)

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]

Posté(e)

Salut,

sélectionner automatiquement l'ensemble des blocs étant identique au bloc référence

J'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))

 

Ensuite

inverser la liste créer afin de ranger les présentations dans le bon ordre

Tu 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...

  • 4 mois après...
Posté(e)

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!

  • 4 ans après...
Posté(e)

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

Posté(e)

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 Charles

Developpeur Revit, RV/RA - Formateur Revit

PIRO CIE

Posté(e)

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...

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é