Aller au contenu

Comptabiliser les présentations papier


fabcad

Messages recommandés

Je souhaiterais en vlisp comptabiliser les présentations papier soit :

- avec l'ouverture d'un dessin DWG.

- avec une sélection de fichiers DWG et créer un listing TXT a la manière de :

Dessin1.dwg : 1 présentation

Dessin2.dwg : X présentations

...

...

...

...

DessinN.dwg : Y présentations

 

Merci d'avance car je dois comptabiliser le nombre de plans à imprimer de 56 fichiers dwg d'impression.

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Je souhaiterais en vlisp comptabiliser les présentations papier soit :

- avec l'ouverture d'un dessin DWG.

Dans AutoCAD.lsp, met ceci en direct :

(Alert (strcat "\n Nombre de Présentation(s) : " (rtos (length (layoutlist)))))

 

- avec une sélection de fichiers DWG et créer un listing TXT a la manière de :

Dessin1.dwg : 1 présentation

Dessin2.dwg : X présentations

Je suis en train de regarder, mais j'ai un souci avec ceci...

 

 

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

Pour compter les présentations

(vla-get-count (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object))))

L'espace objet est compris dans le résultat.

Il faut aussi vérifier qu'une présentation n'est pas vide.

 

Donc, pour compter les éléments sur la première présentation par exemple

(vla-get-count (vla-get-block (vla-item (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object))) 1)))

Et pour finir, pour travailer sur plusieurs fichiers avec ObjectDbx

 

Ah ! Bred est passé le premier ;), mais ta solution ne fonctionne pour compter les présentations avec ObjectDbx.

 

@+

 

[Edité le 25/10/2007 par Patrick_35]

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

Lien vers le commentaire
Partager sur d’autres sites

Re,

alors, grâce à Patrick_35 :

 

- ouvre un gabarit et charge ces lisps.

- tape test

- vas choisir un fichier dans le repertoire ou tu désirs analyser tous les fichiers le contenant

- cela créra un fichier Listing-Présentations.txt dans le répertoire que tu viens de choisir.

 

(defun c:[b]test[/b] (/ F F-DWG I LST-F R X)
(setq r (vl-filename-directory
  (getfiled "Sélectionnez un fichier dans le répertoire à traiter :" "c:/" "dwg" 8)))
(setq lst-f (mapcar
      '(lambda (x) (strcat r "\\" x)) (vl-directory-files r "*.dwg" 1)))

(setq f (open (strcat r "//Listing-Présentations.txt") "w"))

(repeat (setq i (length lst-f))
 (setq f-dwg (Ouvrir_dessin_dbx (nth (setq i (1- i)) lst-f)))
 (princ (strcat (nth i lst-f) " : " (rtos (1- (vla-get-count (vla-get-layouts f-dwg))))
	 " Présentations\n") f)
 (vlax-release-object f-dwg)
)
(close f)
 (princ "OK")
(princ)
 )


(defun Ouvrir_dessin_dbx (dwg / dbx)
 (if (< (atoi (substr (getvar "ACADVER") 1 2)) 16)
   (setq dbx (vlax-create-object "ObjectDBX.AxDbDocument"))
   (setq dbx (vlax-create-object (strcat "ObjectDBX.AxDbDocument." (substr (getvar "ACADVER") 1 2))))
   )
 (vla-open dbx dwg)
dbx
)

 

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Lien vers le commentaire
Partager sur d’autres sites

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é