CadXP: Presentations multiples : Automatisation - CadXP

Aller au contenu

  • 3 Pages +
  • 1
  • 2
  • 3
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Presentations multiples : Automatisation

#41 L'utilisateur est hors-ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 12 301
  • Inscrit(e) : 21-décembre 05

Posté 12 février 2021 - 14:58

Re,

J'ai testé les deux Lisps CPP, marche impec, Bravo Bryce (Et merci Patrice)

REGULAR DRAW, fonctionne aussi sauf que je ne sais pas m'en servir,..
A la question :

Citation

Commande: REGULAR_DRAW_SCG
8 trouvé(s)
FACTEUR D'ARRONDI A APPLIQUER AU POINT DE DEFINITION DES OBJETS, RAYON ET HAUTEUR DE TEXTE <0> :?

Je ne vois pas quoi bien répondre,..Image IPB
Et quand aux différents Lisps fourni ci dessus, je les compiles sur un seul fichier ?
Je vais tester à suivre les réglages que tu préconises dans mon cas.
Mais je vais quand mêem cherché à faire un cadre simple (rectangle) en bloc à la bonne dimension, je galererai peut être moins avec les echelles,..
"Manuellement", j'associé la vue de l'espace objet à celle du papier avec un facteur de 1 (1000 mm / m x 1/100, echelle désirée = 1)

Merci encore pour votre aide car ce n'est pas si simple cette affaire,..Image IPB
AutoCAD MAP 3D 2021 - COVADIS_17.1b
https://www.linkedin...3%ABt-95313341/
0

#42 L'utilisateur est hors-ligne   DenisHen 

  • ceinture rouge et blanche 6em dan
  • Groupe : Membres
  • Messages : 3 438
  • Inscrit(e) : 17-décembre 05
  • LocationTRAINEL (10400)

Posté 14 février 2021 - 14:44

Salut à tous...

J'ai longtemps chercher à passer outre le bloc "cadre" pour passer à la polyligne... Qui est beaucoup plus souple, pour l'utilisateur, mais incroyablement plus complexe pour le développeur.

J'avais essayé un truc, dont Maître Gilles m'avait donné un début de code que je n'ai jamais réussi à approfondir... Je ne suis peut-être pas à la hauteur... Ca parlait de "x-data", il m'a semblé, liées avec cette entité... Je n'ai jamais réussi à faire un truc avec ça, et je ne voulais plus le déranger, car il m'avait déjà bien aidé et bien orienté, et ce, depuis des années... Car il n'est pas nouveau le bougre...
Mais je suis sûr qu'avec plus de données et plus d'expérience, on pourrait se débarrasser du bloc "A3" ou "A4", horizontal ou vertical, et se permettre de le faire avec une simple polyligne...
J'ai cherché longtemps à le faire, mais mes capacités intellectuelles ont peut-être été dépassées...

Seul Maître (gile), Je pense, car on est tous d'accord, il est SUPERBALÈSE ! ! ! ! !. (ou un crustacé, Je sais, d'autres auraient pu, mais qu'ils se présentent...) pourrait nous aider, car leurs connaissances, et on le sait tous, sont démesurées... (gile), si tu nous regardes... Reçois déjà toute notre sympathie et notre admiration...

Mais si on pouvait passer d'une polyligne en espace objet vers une présentation dans un espace papier... Wouaouw ! ! ! On fera tous un grand pas dans ce domaine...
Bon, gros bisous à toutes, et PDM à tous les mecs...

Denis...
Windows 10 Pro 64bits
AutoCAD MAP 3D 2019
Mensura Genius 9.1

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres...
Davantage d'avantages, avantagent davantage. (Bobby Lapointe)
La connaissance s'accroît quand on la partage.(Socrate)
0

#43 L'utilisateur est hors-ligne   Olivier Eckmann 

  • ceinture noire 3em dan
  • Groupe : Membres
  • Messages : 1 537
  • Inscrit(e) : 29-décembre 11
  • LocationLongjumeau (91)

Posté 14 février 2021 - 19:28

Bonjour,

REGULAR_DRAW permet d'arrondir les coordonnées et dimensions des objets à une valeur arrondie.
Par exemple, si tu réponds 0.05, alors tous les sommets d'une polyligne, d'une ligne, le centre du cercle, le point d'insertion du bloc, etc seront arrondies à 0.05 près.
Idem pour la hauteur des textes. Par ex si un texte fait 1.53 de haut, sa hauteur sera modifiée pour faire 1.55. Si ça fait 0.92, alors ça sera arrondi à 0.90.

Ce que tu rentres au moment de la demande, c'est la valeur d'arrondi souhaitée pour tous les types d'objets .

Olivier
0

#44 L'utilisateur est hors-ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 12 301
  • Inscrit(e) : 21-décembre 05

Posté 15 février 2021 - 14:41

Bonjour à toutes et tous,
Compris, merci Olivier !Image IPB

AutoCAD MAP 3D 2021 - COVADIS_17.1b
https://www.linkedin...3%ABt-95313341/
0

#45 L'utilisateur est hors-ligne   PHILPHIL 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1 073
  • Inscrit(e) : 24-janvier 06
  • LocationNANTES

Posté 16 février 2021 - 19:03

HELLO

j'ai modifié le Lisp de FRED
bon, c'est pas écrit très proprement pour les puristes pour mon rajout mais ca fonctionne et dépanne

il faut créer une polyligne rectangulaire du meme format que celui désiré dans l'espace papier dans le calque "T_FENETRE IMAGE"

ou supprimer ceci dans le lisp
(cons 8 "T_FENETRE IMAGE")


il faut aussi connaitre le facteur d’échelle du cadre polyligne dessiné dans l'espace objet par rapport a la fenetre dans l'espace papier de destination

si espace papier en millimètre pour un A4V(erticale) : fenetre = 204x267
cadre polyligne = 204x267
facteur =1

si espace papier en millimètre pour un A4V(erticale) : fenetre = 204x267
cadre polyligne = 102x133.5
facteur =0.5

si espace papier en millimètre pour un A4V(erticale) : fenetre = 204x267
cadre polyligne = 408x534
facteur =2


(defun c:cep2_polyligne (/ 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 facteurechellepoly (atof (getcfg "APPDATA/FACTEURECHELLEPOLY")))
  (initget 4)
  (setq tmp (getdist
              (strcat "\nENTRER LE FACTEUR D'ECHELLE DE LA POLYLIGNE CADRE DANS L'ESPACE OBJET PAR RAPPORT A LA FENETRE PAPIER <"
                      (rtos facteurechellepoly 2 8)
                      ">: "
              )
            )
  )
  (if tmp
    (setq facteurechellepoly tmp)
  )
  (setcfg "APPDATA/FACTEURECHELLEPOLY" (rtos facteurechellepoly 2 8))
  (setq unit (/ 1 facteurechellepoly))
  (setq sel   (ssget (list '(0 . "LWPOLYLINE") (cons 8 "T_FENETRE IMAGE")))
        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)
    (setq c (vlax-ename->vla-object (ssname sel i)))
    (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)))))
           (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)))))
                                       (setq haut (* unit (- (cadr (vlax-safearray->list ymax)) (cadr (vlax-safearray->list xmin)))))
                     )
           )
           (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)
)


a+
Phil
Autodesk Architecture 2019 sous windows 10 64
24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
0

#46 L'utilisateur est hors-ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 12 301
  • Inscrit(e) : 21-décembre 05

Posté 20 février 2021 - 10:37

Bonjour à toutes et tous,
Super, Merci PHILPHIL,
Je souhaite garder mon bloc dans le calque ""T_FENETRE IMAGE"", est-ce que ce Lisp le permet ? (Pas moyen de tester pour le moment,..)

Citation

si espace papier en millimètre pour un A4V(erticale) : fenetre = 204x267
cadre polyligne = 408x534
facteur =2

En suivant cette logique, pour mon A3H à l'échelle 1/1000, je fais donc :
si espace papier en millimètre pour un A3H(orizontal) : fenetre = 294x417
cadre polyligne = 294x417
facteur =1
??

D'avance, merci,
AutoCAD MAP 3D 2021 - COVADIS_17.1b
https://www.linkedin...3%ABt-95313341/
0

#47 L'utilisateur est hors-ligne   PHILPHIL 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1 073
  • Inscrit(e) : 24-janvier 06
  • LocationNANTES

Posté 21 février 2021 - 21:41

hello Lili

attention le Lisp au dessus fonctionne avec un rectangle donc une polyligne et non plus avec un bloc implanté dans l'espace papier

a+, Phil
Autodesk Architecture 2019 sous windows 10 64
24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
0

#48 L'utilisateur est hors-ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 12 301
  • Inscrit(e) : 21-décembre 05

Posté 22 février 2021 - 10:52

Bonjour à toutes et tous,


Salut PHILPHIL,

Citation

attention le Lisp au dessus fonctionne avec un rectangle donc une polyligne



Oui, d'où mon interrogation,..Je préfère garder mon bloc car il sert aussi de repérage sur un onglet indépendant à une autre échelle, de la position des différents feuillets,..


Te souviens tu des paramètres utilisés dans l'exemple que tu m'avais fait sur ce post ?


Cette version me conviendrait parfaitement,..


Encore merci !
AutoCAD MAP 3D 2021 - COVADIS_17.1b
https://www.linkedin...3%ABt-95313341/
0

#49 L'utilisateur est hors-ligne   quentinQS 

  • ceinture jaune
  • Groupe : Membres
  • Messages : 7
  • Inscrit(e) : 01-mars 21

Posté 03 mars 2021 - 13:50

Bonjour à tous
Quand je lance la commande NOG rien ne se passe !
0

Partager ce sujet :


  • 3 Pages +
  • 1
  • 2
  • 3
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)