Aller au contenu

Messages recommandés

Posté(e)

Bonjour, 

 

J'ai beau avoir payé une formation les fondamentaux de Autocad je n'arrive pas à solutionner mon problème 

J'espère que vous pourrez m'aider, la question est la suivante : Comment a partir de plusieurs vue je peux créer un fichier pdf multipage ? 

Capturedcran2024-04-05100646.thumb.png.b39a53f051882fd3b2f0c09442ed11c0.png

D'avance merci. 

 
 
Posté(e)

Hello @Robert7508

Veux tu generer automatiquement les N Presentations / Layouts depuis l Onglet Objet et ses rectangles avec un Texte a l Interieur ?

Chaque Presentation / Layout etant nommee avec le Texte interne ...

Si OUI alors il te faut un routine Lisp / VLisp !

Bye, lecrabe

 

Autodesk Expert Elite Team

Posté(e)
il y a une heure, lecrabe a dit :

Hello @Robert7508

Veux tu generer automatiquement les N Presentations / Layouts depuis l Onglet Objet et ses rectangles avec un Texte a l Interieur ?

Chaque Presentation / Layout etant nommee avec le Texte interne ...

Si OUI alors il te faut un routine Lisp / VLisp !

Bye, lecrabe

 

Merci à toi,  c’est bien ce que l’on m’a expliquer.  Je pars à la recherche de ces fameuses routines !

Posté(e)

Pourquoi pas cela dépend de l’investissement que cela va demander  🙂 Je ne suis pas un gros utilisateur de Autocad à la base mais je suis toujours preneur de nouvelles connaissances ! Et peut être qu’à l’avenir je vais être amener à utiliser beaucoup plus d’où ma formation sur les fondamentaux. 
Pour le moment je fais surtout de l’édition de contenus existant. 

Posté(e)

Bonjour, voici un lisp simple que j'avais fait il y quelques années, il faut que PDFCreator soit installé. c'est pour du A3 sinon changer dans le lisp.

(defun c:impauto()
(vl-load-com)
(setvar "cmdecho" 0)

(setq   pl (getlayer "Selectionne le calque des cadres à imprimer:"))
(setq SS (ssget "_W" (getpoint "pt haut gauche") (getpoint "pt bas droit") (list(cons 0  "LWPOLYLINE") (cons 8 pl))))

(setvar "expert" 5)

 (if (and SS (> (sslength SS) 0))
    (progn
       (repeat (setq iPTS (sslength SS))
	(setq EN (entget (ssname SS (setq iPTS (1- iPTS))))
	      PTS (cons (cdr (assoc 10 EN)) PTS)
	      )
	)
      (setq iPTS
	     (vl-sort-i PTS
	       '(lambda (A B)
		  (cond
		    (
		     (> (cadr A) (cadr B))
		     )
		    ((= 1 1) T)
		    (T nil)))))
     (foreach iX iPTS
	(setq ent (ssname SS iX))
  		(setq ent(entget ent))
  		 (setq j! 0)
  		(setq l_cadre (list ))
  			(setq nb_sommets 0)
		 (repeat (length ent)
				(setq entit (nth j! ent))
				(setq code_entit (car entit))
				(if (= code_entit 10)
					(progn
					  (setq l_cadre (cons (list (car (cdr entit))(cadr (cdr entit))) l_cadre))
					  (setq nb_sommets(+ nb_sommets 1))	
					);fin du progn
				);fin du if
			(setq j! (+ j! 1))
			)
  		 (if (= nb_sommets 4)
		   (progn
			(setq p1 (car l_cadre))
		        (setq p2 (caddr l_cadre))
	(command "-traceur" "o" "" "PDFCreator.pc3" "A3" "M" "A" "N" "F" p1 p2 "1:1" "C" "N" "." "O" "" "N" "N" "O")
		   ))
  )
)))


(defun getlayer	(titre / lay lst tmp file what_next dcl_id nom)
  (while (setq lay (tblnext "LAYER" (not lay)))
    (setq lst (cons (cdr (assoc 2 lay)) lst))
  )
  (setq	lst  (acad_strlsort lst)
	tmp  (vl-filename-mktemp "Tmp.dcl")
	file (open tmp "w")
  )
  (write-line
    (strcat
      "getlayer:dialog{label="
      (cond (titre (vl-prin1-to-string titre))
	    ("\"Choisir un calque\"")
      )
      ";initial_focus=\"tp\";
      :boxed_column{:row{
      :column{:text{label=\"Sélectionner un objet\";alignment=left;}}
      :column{:button{label=\">>\";key=\"obj\";alignment=right;fixed_width=true;}
      spacer;}}
      :edit_box{key=\"tp\";edit_width=50;allow_accept=true;}
      :popup_list{key=\"lay\";edit_width=50;}
      spacer;}ok_cancel;}"
    )
    file
  )
  (close file)
  (setq dcl_id (load_dialog tmp))
  (setq what_next 2)
  (while (>= what_next 2)
    (if	(not (new_dialog "getlayer" dcl_id))
      (exit)
    )
    (start_list "lay")
    (mapcar 'add_list lst)
    (end_list)
    (or	nom
	(setq nom (vlax-ldata-get "getLayer" "n"))
	(setq nom (vlax-ldata-put "getLayer" "n" "0"))
    )
    (if	(member nom lst)
      (set_tile	"lay"
		(itoa (- (length lst) (length (member nom lst))))
      )
      (set_tile "lay" "0")
    )
    (set_tile "tp" nom)
    (action_tile "obj" "(done_dialog 3)")
    (action_tile "tp" "(setq nom $value)")
    (action_tile
      "lay"
      (strcat
	"(if (or (= $reason 1) (= $reason 4))"
	"(progn"
	"(setq nom (nth (atoi $value) lst))"
	"(set_tile \"tp\" (nth (atoi $value) lst))"
	"(mode_tile \"tp\" 2)))"
       )
    )
    (action_tile
      "accept"
      (strcat
	"(if (tblsearch \"LAYER\" nom)"
	"(progn (done_dialog 1)"
	"(vlax-ldata-put \"getLayer\" \"n\" nom))"
	"(progn"
	"(alert (strcat \"Le calque \" nom \" est introuvable.\"))"
	"(setq nom nil) (set_tile \"tp\" (vlax-ldata-get \"getLayer\" \"n\"))"
	"(mode_tile \"tp\" 2)))"
       )
    )
    (setq what_next (start_dialog))
    (cond
      ((= what_next 3)
       (if (setq nom (car (entsel)))
	 (setq nom (cdr (assoc 8 (entget nom))))
	 (setq nom nil)
       )
      )
      ((= what_next 0)
       (setq nom nil)
      )
    )
  )
  (unload_dialog dcl_id)
  (vl-file-delete tmp)
  nom
)

 

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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é