gepetto Posté(e) le 1 janvier 2015 Posté(e) le 1 janvier 2015 Hello, J'utilise de puis plusieurs année le menu TOPO2000_r.mnu, que vous devez connaitre, car j'ai trouver plusieurs forum a ce sujet. J'aurai voulu ajouter quelque image a ce fichier mosaïqué je trouve bien, malgré ce que certain y trouve de vieillot... certes... Dans ce menu il y a 4 "programme" permettant de faire ces menu presque automatiquement... mais c a été écrit sous autocad 2000 et moi je suis sur 2015... J'ai un soucis avec le lisp fourni avec. Commande: SLDSCR; erreur: type d'argument incorrect: FILE nil (defun c:sldscr () ;; Cette fonction lit dans le répertoire courant ;; le fichier listedwg.txt (ou autre) ;; et crée un script de création de slide ;; ouverture des fichiers (setq fichierxtxt (getfiled "Select a Listedwg text File" "" "txt" 8) ) (setq fic1 (open fichierxtxt "r")) (setq long (strlen fichierxtxt) long_12 (- long 12) nom_chemin (substr fichierxtxt 1 long_12) fichierscr (strcat nom_chemin "forsld.scr") ) (setq fic2 (open fichierscr "w")) ;; parcours du fichier et traitement (setq ch1 "" i 0 ) (while (setq ch1 (read-line fic1)) (setq long (strlen ch1) long_4 (- long 4) nom_bloc (substr ch1 1 long_4) nom_dessin ch1 i (+ 1 i) ) ;; ecriture dans le fichier (setq ligne1 (strcat "_OPEN " nom_bloc ) ligne2 (strcat "_zoom " "et") ligne3 (strcat "_mslide " nom_bloc ) ligne4 (strcat "_close " "o") ) (write-line ligne1 fic2) (write-line ligne2 fic2) (write-line ligne3 fic2) (write-line ligne4 fic2) (setq i (+ 1 i)) );while (close fic1) (close fic2) (alert "le fichier forsld.scr est créé !") );defun (prompt "\nExecution, taper : SLDSCR puis RETURN \n") (prin1) J'imagine une fonction qui a changer de nom, mais la quel?Si quelqu'un pouvais m'aider.... Amicalement Gepetto PS je vous met les 4 fichiermenu sld.zip
Olivier Eckmann Posté(e) le 2 janvier 2015 Posté(e) le 2 janvier 2015 Bonjour, ce lisp permet juste d'automatiser la création d'un script qui crée des slide (fichier SLD)SI tu n'as que quelques blocs à ajouter, ouvre le DWG contenant le bloc, fait un zoom étendu et lance la commande MCLICHE puis sauvegarde ton fichier SLD . Sinon pour que le lisp fonctionne il demande de sélectionner un fichier LISTEDWG.TXT, ça doit être un fichier texte avec un nom de DWG (bloc) à traiter par ligne. L'as-tu bien construit comme cela? Olivier
gepetto Posté(e) le 2 janvier 2015 Auteur Posté(e) le 2 janvier 2015 Hello, Merci de ton aide, j'ai réussis à faire le menu voulu, mais avec seulement 2 SLD donc avec la version manuelle, mais c'était pour essayer. Maintenant je voudrais automatiser la procédure, c'est d'ailleurs ce que devrais faire le lisp. J'ai crée un fichier *.txt avec l'utilitaire listedwg.bat, qui m'a générer le fichier listedwg.txtcomme demander, c'est après a la lecture de ce fichier que quelque choses pèche....Maintenant je ne suis pas marier avec cette procédure, si quelqu'un connait un moyen d'automatiser cette procédure je veux bien? Je vous remercieAmicalement Gepetto
gepetto Posté(e) le 2 janvier 2015 Auteur Posté(e) le 2 janvier 2015 Alors j'ai fait un peu d'avance dans mon histoires, mais je bute encore sur 2 petit soucis. 1) Pour automatiser j'ai utiliser le SuperAutoScript super cool ce truc Merci à Eric.mais voila j'ai récupérer un script qui va bien, mais qui ne fait pas un Zoom étendu avant de faire le mslide(command "_.mslide" (vl-filename-base (getvar '"dwgname"))) J'ai beau essayer d'ajouter un _zoom _et (command "_zoom _et _.mslide" (vl-filename-base (getvar '"dwgname"))) ca ne fonctionne pas, Bon vous l'aurez compris avant ce soir, je ne savais même pas qu'il existait de commande script sur autocad. 2) Pour faire mon menu j'utilise LibMenu.exe, la classe ce truc...mais j'aurai voulu que mon bloc s'insère dans un calque bien défini, et surtout qu'a la fin il reprenne le calque précédent. Mais voila ca marche pas top ^C^C-calque;CH;FIXATION;;-inserer C:/dessins/essai3/c10025 \1 1 ;;calquep;; Merci de votre aimable aide.Amicalement Gepetto
lili2006 Posté(e) le 3 janvier 2015 Posté(e) le 3 janvier 2015 Bonjour à toutes et tous, A une époque (avant les palettes d'outils), j'avais fait comme toi. Voici la synthase que j'ai utilisé => ^C^C_-layer;ch;BLOCS_BIBLIO;;__-insert;"PS001";\1;1;0;_layerp Petit conseil, préfère le langage international;... Lien du post que j'avais lancè à l'époque => http://cadxp.com/topic/16208-menus-mosaiques/page__hl__menu+mosaique Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
gepetto Posté(e) le 4 janvier 2015 Auteur Posté(e) le 4 janvier 2015 Hello, Cool Merci de ton aide, mais juste un petit truc qui me chagrine encore, je voudrai pouvoir choisir l'angle du bloc,j'ai donc enlever le 0 qui ce trouve après le \1;1; ^C^C_-layer;CH;FIXATION;;-inserer C:/dessins/essai3/c10025 \1;1; ;_layerp Mais ce ne joue pas, pourquoi? Je te remercie de votre aide. AmicalementGepetto
lecrabe Posté(e) le 5 janvier 2015 Posté(e) le 5 janvier 2015 Hello Vu de loin sans AutoCAD, je vois plutot un truc du genre : ^C^C_-layer;CH;FIXATION;;-inserer C:/dessins/essai3/c10025 \1;1;\_layerp Meilleurs Voeux et LA SANTE, Bye, lecrabe Autodesk Expert Elite Team
gepetto Posté(e) le 5 janvier 2015 Auteur Posté(e) le 5 janvier 2015 Hello, Cool ca marche, je te remercie.Mais arrive tu a m'expliquer pourquoi, je ne suis pas un spécialiste, mais un bricoleur du dimanche. Pourquoi le fait de mettre un \ permet de faire la rotation, j'ai cru qu'un ; permettait de faire une pose à la macro?^C^C_-layer;CH;FIXATION;;-inserer C:/dessins/essai3/c10025 \1;1;\_layerp Je te remercie. A toi aussi une bonne et heureuses année 2015 Amicalement Gepetto
Olivier Eckmann Posté(e) le 6 janvier 2015 Posté(e) le 6 janvier 2015 Bonjour, le signe ; permet de simuler la frappe sur la touche Entreec'est le signe \ qui fait une pause Olivier
gepetto Posté(e) le 6 janvier 2015 Auteur Posté(e) le 6 janvier 2015 Hello, Ha, ben j'ai appris quelque choses aujourd'hui, je vais aller me coucher moins bête.Je te remercie pour ton aide. Amicalement Gepetto
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