Aller au contenu

Liste des FMULTs et noms des calques utilises par les FMULTs


Messages recommandés

Posté(e)

Hello

 

SVP je cherche une routine Lisp/VLisp pour "verifier" un peu les DWGs au niveau des FMULT/_MVIEW !?

Avec TOUTEs les Infos qui defilent sur l'ecran et/ou peut etre une option (si possible) pour mettre la meme chose dans un fichier texte !?

 

Et je n'ai pas trouve ?

 

Donc voici mon CDC/CCTP !

Dans un DWG quelconque, la routine doit defiler "simplement" sur l'ecran texte et/ou dans un fichier texte ...

 

- Depart de la boucle d'analyse

- Affichage du Nom du DWG courant (avec le chemin)

et du nombre TOTAL de Presentation/Layout ...

et du nombre TOTAL de TOUTEs les FMULT/_MVIEW ...

 

... On "attaque" la 1ere Presentation/Layout ...

 

1) Le nom de la Presentation/Layout

2) Le nombre de FMULT/_MVIEW pour la Presentation/Layout en cours de traitement / Eventuellement : = ZERO

3) Le nom du calque sur lequel est concu/dessine la FMULT/_MVIEW

en commencant si possible par la plus grande (en surface) FMULT/_MVIEW ...

4) Si N FMULT/_MVIEW sur l'onglet Presentation/Layout en cours de traitement alors on "retourne" au point 1 ...

 

5) Passage a la Presentation/Layout suivante ...

6) On retourne au debut de l'analyse des Presentation/Layout ...

 

Voila je pense avoir ete clair !?

 

En resume je ne supporte pas d'avoir des FMULT/_MVIEW sur N Calques/Layers differents !!

Pour moi, il devrait n'y avoir que DEUX calques pour TOUTEs FMULT/_MVIEW

dans TOUTEs les Presentations/Layouts ...

ZZ_FENETRE : pour les FMULT/_MVIEW visibles !

ZZ_FENETRE_INVIS : pour les FMULT/_MVIEW INvisibles !

... J'ai le droit de rever ...

 

Merci d'avance, Bon Dimanche, Bye, lecrabe

Autodesk Expert Elite Team

Posté(e)

Salut Lecrabe

 

Un premier jet pour voir si ça correspond bien à ta demande.

Fonctionne pour l'instant uniquement sur le dessin courant.

Il ne reste pas grand chose à faire pour le faire travailler sur plusieurs dessins d'un même répertoire.

 

(defun c:vfm(/ bg dis doc ele hd lay lst sau)
 (setq doc (vla-get-activedocument (vlax-get-acad-object)))
 (vla-startundomark doc)
 (vlax-for lay (vla-get-layouts doc)
   (setq sau nil lst nil tot 1)
   (vlax-for ele (vla-get-block lay)
     (cond
((and sau (eq (vla-get-objectname ele) "AcDbViewport"))
  (vla-getboundingbox ele 'hd 'bg)
  (setq lst (cons (list (distance (vlax-safearray->list hd) (vlax-safearray->list bg))
			(vla-get-layer ele)
		  )
		  lst
	    )
  )
)
(T
  (setq sau T)
)
     )
   )
   (if lst
     (progn
(foreach obj (vl-sort lst '(lambda (a B)(< (car a)) (< (car B))))
  (princ (strcat "\nPrésentation : " (vla-get-name lay) " - Fenêtre : " (itoa tot) " - Diagonale : " (rtos (car obj)) " - Calque : " (cadr obj)))
  (setq tot (1+ tot))
)
     )
     (princ (strcat "\nPas de fenêtre (viewport) dans la présentation : " (vla-get-name lay)))
   )
 )
 (vla-endundomark doc)
 (princ)
)

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

Hello P35

 

MERCI ton code est super-concis, je suis impressionne ! ... Rien a ameliorer/corriger pour moi ...

 

Neanmoins SVP peux tu simplement ajouter :

- 1 ligne blanche entre le defilement des Infos de chaque Espace/Presentation/Layout (pour separer un peu)

- 2 Totaux generaux a la fin : Nombre total de Presentation/Layout et nombre total de FMULT/_MVIEW

 

L'idee d'afficher la diagonale est excellente , pas besoin de trier par taille !

 

Felicitations, c RARE les developpeurs qui prennent de BONNEs initiatives !!

 

Longue et Heureuse Vie a P35, Bye, lecrabe

Autodesk Expert Elite Team

Posté(e)

Neanmoins SVP peux tu simplement ajouter :

- 1 ligne blanche entre le defilement des Infos de chaque Espace/Presentation/Layout (pour separer un peu)

- 2 Totaux generaux a la fin : Nombre total de Presentation/Layout et nombre total de FMULT/_MVIEW

C'est fait

 

L'idee d'afficher la diagonale est excellente , pas besoin de trier par taille !

 

Felicitations, c RARE les developpeurs qui prennent de BONNEs initiatives !!

Merci, cela me paraissait plus simple que des coordonnées

 

Longue et Heureuse Vie a P35, Bye, lecrabe

Il me reste à saluer de la main ;)

 

Sinon, le lisp fini qui traite un répertoire complet

 

@+

vfm.lsp

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

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é