Aller au contenu

menû mosaique


gepetto

Messages recommandés

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 fichier

menu sld.zip

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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.txt

comme 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 remercie

Amicalement

 

Gepetto

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

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.

 

Amicalement

Gepetto

Lien vers le commentaire
Partager sur d’autres sites

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

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é