fabcad Posté(e) le 25 octobre 2007 Posté(e) le 25 octobre 2007 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ésentationDessin2.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.
Bred Posté(e) le 25 octobre 2007 Posté(e) le 25 octobre 2007 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ésentationDessin2.dwg : X présentationsJe 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...
Patrick_35 Posté(e) le 25 octobre 2007 Posté(e) le 25 octobre 2007 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 PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Bred Posté(e) le 25 octobre 2007 Posté(e) le 25 octobre 2007 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...
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant