Aller au contenu

Messages recommandés

Posté(e)

salut à tous,

 

Je vous explique mon porblème et j'espère vraiment que quelq'un pourra m'aider:

 

En fait ya pas longtemp que j'utilise Autocad pour faire des schémas électrique ou pour les modifier mais seulement voila quand j'en ai une centaine à corriger et que chaque folio coresspond à un fichier, il faut alors que j'ouvre chaque fichier 1 par 1 et que j'effectue les modification sur chaque folio et ensuite que je les imprimes 1 à 1.C'est une tache longue et ennuyante.

 

C'est la raison pour laquelle j'aimerai savoir si il existai une fonction ou une commande qui puisse m'aider à réunir tous ces fichiers en 1 seul ficher pour qu'ils soient sous forme d'onglet lorsque j'ouvre ce fichier. Si c'est pas possible de faire ça directement sous Autocad il faudrait une macro (ou un truc comme ça) qui me permette d'aller chercher tous ces fichier et de les convertir en 1 seule et ça, ça me ferai gagner énermoment de temps et je pense que beaucoup de personne ici serai interessé par ça car cet outil leur permettrai d'aller plus vite dans leur travail au lieu de s'endormir comme moi la dernière fois que j'ai du imprimer chaque folio.

 

je vous remercie d'avance et j'espère que quelque pourra me venir en aide....

Posté(e)

salut,

 

J'ai le mm probleme que toi ..... et en plus qlq fois les fichiers arrivent en DXF.....Donc olige de tout ouvrir et copier coler dans un mm dosier pour faire une presentation par page et enfin pouvoir editer .......GALERE .........

 

Je ne vois pas comment resoudre le pbl ........ sauf de demander aux "envoyeurs" de bien vouloir

reunir les pages de schemas dans un seul et mm fichier .......Mais on peut toujours rever ........

 

Je viens d'editer 3 folios de 75 pages recus en DXF page par page .........

 

Voili voilou ...............

Posté(e)

c'est vraiment trop la galère, en plus y a pas longtemp qu'on m'a confié un projet, moi qui suis stagière et encore débutant sur Autocad.

 

(( __Le projet est de trouver une méthode sur Autocad qui permette de tous les élément associé à un bornié et qui sont tous répartient sur différent folio.En gros, sur du A3, on représente un bornier ainsi que tous les repère de cable et les composant qui sont connecté aux borne de se bornier (ex: pompe, moteur, vanne, transmetteur etc...). Ca faciliterai le travail des techniciens sur site qui perdent beaucoup de temps à fouiller tous les folio pour trouver à quel moteur est relier une bornepar exemple, et quand les armoires sont tous éloigné ils sont obliger des faire plusieurs allé retour.Il fodrait donc pouvoir réunir sur 1 seul folio tous les élément dispercé sur tous les folio. Je sais qu'il faut forcément passer par la programmation et vu que c'est pas vraiment mon domaine je suis obliger de demander de l'aide partout ou apprendre a programmer en LISP grace a des site propose de l'aide. C'EST LA GALERE !!! mais si j'y arrive facilitera le travail de beaucoup de monde.___ ))

 

Bref, dans tous les cas se serai bien que quelqu'un qui métrise Autocad et la programmation en VBA ou en LISP puisse nous venir en aide car on est nombreux à avoir se petit probleme qui nous complique le boulot.....Ce serai vraiment gentille que quelqu'un qui à des idée nous les fasse partager ou encore mieu qu'il nous passe la macro écrit en language LISP pour en faire un copier coller.

MERCI BEAUCOUP d'avance :)

Posté(e)

bonjour,

Ce lisp (je n'en suis pas l'auteur) te permettra déjà d'ouvrir la totalité de tes folios sur une nouvellle feuille (dans la mesure où tes fichiers sont tous dans un seul et même répertoire...!!!)

[surligneur]Move.lsp[/surligneur]

((lambda ( / prefix pt_ins last_pt obj ll ur lg)
(setvar "cmdecho" 0)
(setvar "attreq" 0)
(vl-load-com)
(setq prefix (strcat (vl-filename-directory (getfiled "Sélectionner un fichier DWG TEMOIN" "" "dwg" 16)) "\\"))
(setq pt_ins (getpoint "\nPoint d'insertion pour le 1er Bloc? <0.0,0.0,0.0>: "))
(if (null pt_ins) (setq pt_ins '(0.0 0.0 0.0)))
(setq last_pt nil)
(foreach dwg (vl-directory-files prefix "*.dwg" 1)
(command "_.-insert" (strcat "\"" prefix dwg "\"") "_none" pt_ins "1.0" "1.0" "0.0")
(setq Obj (vlax-ename->vla-object (entlast)))
(vla-GetBoundingBox Obj 'll 'ur)
(setq ll (safearray-value ll))
(setq ur (safearray-value ur))
(if last_pt
(progn
(command "_.move" (entlast) "" "_none" (list (car ll) (cadr pt_ins) (caddr pt_ins)) "_none" pt_ins)
(setq lg (distance (list (car ll) (cadr pt_ins) (caddr pt_ins)) pt_ins))
)
(setq lg 0.0)
)

(setq pt_ins (list (+ lg (car ur)) (cadr pt_ins) (caddr pt_ins)))
(setq last_pt pt_ins)
)
(command "_.zoom" "_all")
(command "_.zoom" "_extents")
(setvar "attreq" 1)
(setvar "cmdecho" 1)
(prin1)
))

Posté(e)

..re..

pour ce qui est des présentations voici [surligneur]Clayout.lsp[/surligneur] (tjs pas de moi......je n'y connais rien en lisp)

(defun llayouts (/ acadobject ActDoc LAYOUTS LLAY n)
(setq acadObject (vlax-get-acad-object))
(setq ActDoc (vla-get-ActiveDocument (vlax-get-Acad-Object)))
(setq LAYOUTS (vla-get-Layouts ActDoc))
(setq LLAY nil)
(vlax-for n LAYOUTS
(setq LLAY (cons (vla-get-name n) LLAY))
)
LLAY
)

(defun NewNameLayout (OLDLAY NEWLAY)
(setq RES nil)
(while NEWLAY
(setq ELEM (car NEWLAY))
(setq NEWLAY (cdr NEWLAY))
(if (not (member ELEM OLDLAY))
(setq RES ELEM)
)
)
RES
)


(defun c:clayout ()
(vl-load-com)
(setq NBPAGE (getint "\nNombre de copies : "))
(repeat NBPAGE
(setq OLDLLAY (llayouts))
(command "_layout" "_c" "" "")
(setq NEWLLAY (llayouts))
(setq NNAME (NewNameLayout OLDLLAY NEWLLAY))
(command "_layout" "_s" NNAME)
(command "_MSPACE")
[surligneur](command "_-pan" "_non" '(0 0) "_non" '(0 205))[/surligneur]
(command "_PSPACE")
)
(princ)
)

Il suffit de faire la présentation du 1er folio à l'extème gauche et ensuite de lancer ce lsp. Les autres présentations se font automatiquement en allant vers la droite (il suffit juste d'aller dans le lisp pour lui donner la valeur du décalage entre 2 folios dans ton espace objet en l'occurence ici 205.....

(command "_-pan" "_non" '(0 0) "_non" '(0 205))

 

[surligneur]Clayoutt.lsp[/surligneur] te décale les présentation vers le bas.

(defun llayouts (/ acadobject ActDoc LAYOUTS LLAY n)
(setq acadObject (vlax-get-acad-object))
(setq ActDoc (vla-get-ActiveDocument (vlax-get-Acad-Object)))
(setq LAYOUTS (vla-get-Layouts ActDoc))
(setq LLAY nil)
(vlax-for n LAYOUTS
(setq LLAY (cons (vla-get-name n) LLAY))
)
LLAY
)

(defun NewNameLayout (OLDLAY NEWLAY)
(setq RES nil)
(while NEWLAY
(setq ELEM (car NEWLAY))
(setq NEWLAY (cdr NEWLAY))
(if (not (member ELEM OLDLAY))
(setq RES ELEM)
)
)
RES
)


(defun c:clayoutt ()
(vl-load-com)
(setq NBPAGE (getint "\nNombre de copies : "))
(repeat NBPAGE
(setq OLDLLAY (llayouts))
(command "_layout" "_c" "" "")
(setq NEWLLAY (llayouts))
(setq NNAME (NewNameLayout OLDLLAY NEWLLAY))
(command "_layout" "_s" NNAME)
(command "_MSPACE")
(command "_-pan" "_non" '(0 0) "_non" '(-300 0))
(command "_PSPACE")
)
(princ)
)

 

.....si cela peut t'aider.... ;)

 

[Edité le 24/7/2007 par oran]

Posté(e)

Merci beaucoup Oran pour les LISP, je les testerai tous....

Sinon pour ceux que ça interesse, je croi que j'ai trouver un utilitaire ou une sorte de barre d'outil pour autocad qui permet de commuter entre les documents ouverts d'AutoCAD, je ne l'ai pas encore essayé mais ça peut etre interessant. Voila le lien où trouver cet utiltaire mais le site est en englais donc utiliser une toolbar yahoo,google, etc... pour traduire la page..

 

http://www.cadwerx.net/

 

--voici d'autre lien interessant :

 

http://perso.orange.fr/maxence.delannoy/annuaire/annuaire.htm

 

http://discussion.autodesk.com/thread.jspa?threadID=397504

 

http://pages.infinit.net/miket/acad.html

 

http://www.didier-lourdelle.fr/glossaires/commandes/commande-autocad-v1.asp

 

http://serge.milles.club.fr/sites.htm

 

http://www.techtutorials.info/autocad.html

Posté(e)

Salut c encor moi,

Je tenais à te remercier encore une fois Oran pour les Lisp et si tu en a d'autre comme ça se serai vraiment sympa d'en faire profiter encore une fois les autres...

 

Et donc j'ai bien tester les Lisp j'ai pu voir que le premier était excellent et qu'il me regroupait bien tous les folio sur un seul mais sans laisser d'espace entre chaque gabarit.Il marche impeccable sinon.

 

Pour le 2ième j'ai pas bien compris la commande que t'a marqué << (command "_-pan" "_non" '(0 0) "_non" '(0 205)) >> parceque quand je l'essai ça me fait rien sinon j'ai le programme lui même, j'ai vu qu'il servait à crée le nombre de présentation que je souhaite de façon automatique.

 

Le 3ième lisp, j'ai vu qu'après avoir crée le nombre de présentation souhaité avec le lips précédent, il me permettait d'afficher mon dessin dans ma feuille de présentation.Seulement voila peut etre que je m'y suis mal pris mais le dessin n'est pas centré sur la feuille et donc il faut pour cela que je les décale un peu chaqu'un.

A part ça les lisp sont impeccables et donc je te remercie encore une fois et j'espère que ça sera pas la dernière <acronym class=dict title=.

@+

 

Posté(e)

http://img96.imageshack.us/img96/2388/205sp6.jpg

Shot at 2007-07-24

Pour le 2ième j'ai pas bien compris la commande que t'a marqué << (command "_-pan" "_non" '(0 0) "_non" '(0 205)) >>

....je n'ai fait que reprendre la ligne (maintenant colorée en jaune) du lisp ci-joint plus haut pour te montrer à quoi correspondait la valeur 205 dans mon cas personnel.

 

...voila peut etre que je m'y suis mal pris mais le dessin n'est pas centré sur la feuille et donc il faut pour cela que je les décale un peu chaqu'un.

....tu as tout compris, effectivement si tes folios sont tous décalés de la même valeur, comme je le montre avec ma côte de 205, tu n'as plus qu'a faire ta 1ère présentation en centrant ton folio et ensuite tu lances ton lisp avec x copies....et voili ...voilà ;)

 

...il me regroupait bien tous les folio sur un seul mais sans laisser d'espace entre chaque gabarit...

...oui et c'est bien dommage, n'y connaissant absolument rien en lisp je reste donc impuissant là devant... :casstet:

[surligneur]...Mais peut-être qu'une âme charitable pourrait nous donner un coup de main à ce sujet en nous corrigeant le lisp de façon que chaque entité intégrée soit décalée de xxx unités et en nous montrant sur quelle ligne agir suivant nos besoins....!!![/surligneur] ;) :) :D

 

Voici donc le lisp en question (je pense que son auteur ne nous en voudra pas de cette modification souhaitée...!!)

MOVE.lsp

((lambda ( / prefix pt_ins last_pt obj ll ur lg)
(setvar "cmdecho" 0)
(setvar "attreq" 0)
(vl-load-com)
(setq prefix (strcat (vl-filename-directory (getfiled "Sélectionner un fichier DWG TEMOIN" "" "dwg" 16)) "\\"))
(setq pt_ins (getpoint "\nPoint d'insertion pour le 1er Bloc? <0.0,0.0,0.0>: "))
(if (null pt_ins) (setq pt_ins '(0.0 0.0 0.0)))
(setq last_pt nil)
(foreach dwg (vl-directory-files prefix "*.dwg" 1)
(command "_.-insert" (strcat "\"" prefix dwg "\"") "_none" pt_ins "1.0" "1.0" "0.0")
(setq Obj (vlax-ename->vla-object (entlast)))
(vla-GetBoundingBox Obj 'll 'ur)
(setq ll (safearray-value ll))
(setq ur (safearray-value ur))
(if last_pt
(progn
(command "_.move" (entlast) "" "_none" (list (car ll) (cadr pt_ins) (caddr pt_ins)) "_none" pt_ins)
(setq lg (distance (list (car ll) (cadr pt_ins) (caddr pt_ins)) pt_ins))
)
(setq lg 0.0)
)

(setq pt_ins (list (+ lg (car ur)) (cadr pt_ins) (caddr pt_ins)))
(setq last_pt pt_ins)
)
(command "_.zoom" "_all")
(command "_.zoom" "_extents")
(setvar "attreq" 1)
(setvar "cmdecho" 1)
(prin1)
))

 

....pour les lisp, tu peux déjà aller voir , sinon le reste je les glane au gré des lectures des différents posts.

Oran

 

[Edité le 24/7/2007 par oran]

Posté(e)

Merci pour ton aide Oran,

C'est super dommage que je n'y connaisse rien en programmation parceque c'est vraiment

bien tout ce qu'on peut faire avec les macro sur autocad comme celles que tu m'a passé.

 

 

Pour ce qui est de modifier le premier programme, ce serai bien que quelqu'un qui s'y connait

nous donne un coup main et de mon côté si j'arrive à trouver aussi la solution <acronym class=dict title= je la ferai

partager.

 

 

Sinon pour les 2 autres macros, j'ai finalement résolut mon problème en sélectionnant tous les

folios à partir de la feuille de la 2ième présentation (en cliquant 2 fois sur la feuille blanche

pour pouvoir manipuler le dessin, zoom, etc...) et je l'ai centré ce qui fait que tous les autres se

sont aussi décalé pour se centrer.

 

@++ :)

 

 

 

[Edité le 24/7/2007 par Henrik69]

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é