Arcasdk Posté(e) le 21 mai 2008 Posté(e) le 21 mai 2008 Bonjour à tous, Je vous propose aujourd'hui une petite routine que j'ai réalisé de une parceque j'aime avoir de beaux cds bien rangés dans leur pochette et de deux parce que j'aime le lisp et me casser la tête sur des trucs du genre. Alors bien sûr il n'est pas parfait mais il tourne. Si les champions de lisp veulent l'améliorer, le critiquer j'accepte toutes crititques. Certainement qu'il existe un logiciel qui fais la même chose (en mieux) mais "la ché mi qui l'a fait ;-)" Voila un ptit screenshot. http://keepi.free.fr/12113498761.jpeg Bon comme je ne suis pas encore un "Kador" il y a des restrictions, mon programme s'arrête si le nombre de titre dépasse les cent. Il faut juste avant de lancer la routine, faire un petit fichier texte (que vous lancez avec un dir>toto.txt dans une invite MS-DOS par exemple) et qui donnera ligne par ligne le titre des dossiers ou des fichiers. Effectivement je pourrai peut être lancer un .bat directement d'autocad pour que le fichier texte se fasse tout seul mais si il y a des choses qui changent de temps en temps je serai plus embêté qu'autre chose. Une dernière petite chose concerne certain caractère. les "^" par exemple ne sont pas reconnus. Donc une dernière vérif avant de l'imprimer et c'est good. Bon je vous laisse en compagnie de mes lignes de code et j'éspère que celà donnera des idées à d'autre. Merci à bientôt. (defun c:jacquette (/ f pins n y x lst) (if (equal fic nil) (setq fic "c:/") ) (setq fic (getfiled "fichier portant les noms de fichier à écrire :" fic "txt" 8) f (open fic "r") pins (list 0 0 0) n 0 y 110) (command "cercle" pins 118 ) (command "cercle" pins 42 ) (while (setq lst (read-line f)) (setq n (+ n 1)) ) (if (< n 101) (progn (setq n 0 f (open fic "r")) (while (setq lst (read-line f)) (if (= n 56) (progn (setq y 90))) (if (>= n 56) (progn (setq x (sqrt (abs(- (expt y 2)(expt 115 2))))) (setq pins (list x y 0)) (command "texte" "j" "md" pins "2" "" lst "") (setq n (+ n 1) y (- y 4)) )) (if (<= n 55) (progn (setq x (sqrt (abs(- (expt y 2)(expt 115 2)))) x (- 0 x)) (setq pins (list x y 0)) (command "texte" "j" "mg" pins "2" "" lst "") (setq n (+ n 1) y (- y 4)) ) ) ) ) (Alert "Le fichier contient plus de 100 lignes de titre. Veuillez en enlever!!") ) ) Fred [Edité le 21/5/2008 par Arcasdk] <IMG SRC=http://peronfrederic.free.fr/banniere.jpg></IMG> <a href=www.formu-lan.net>www.FormuLan.net</a>
lili2006 Posté(e) le 21 mai 2008 Posté(e) le 21 mai 2008 Bonjour à toutes et tous, après avoir sélectionné le fichier .txt, voilà la réponse de AutoCAD (V2008) => Commande: JACQUETTEcercle Spécifiez le centre du cercle ou [3P/2P/Ttr (tangente tangente rayon)]:Spécifiez le rayon du cercle ou [Diamètre]: 118Commande: cercle Spécifiez le centre du cercle ou [3P/2P/Ttr (tangente tangente rayon)]:Spécifiez le rayon du cercle ou [Diamètre] : 42Commande: texteStyle de texte courant: "Standard" Hauteur de texte: 2.5000 Annotatif: NonSpécifiez le point de départ du texte ou [Justifier/Style]: j Entrez une option [Aligne/Fixé/Centre/Milieu/Droite/HG/HC/HD/MG/MC/MD/BG/BC/BD]: mgSpécifiez le milieu gauche du texte:Spécifiez la hauteur : 2Spécifiez l'angle de rotation du texte :Entrez le texte: test jacquetteCommande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir de l'aide. Commande: texteStyle de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: NonSpécifiez le point de départ du texte ou [Justifier/Style]: j Entrez une option [Aligne/Fixé/Centre/Milieu/Droite/HG/HC/HD/MG/MC/MD/BG/BC/BD]: mgSpécifiez le milieu gauche du texte:Spécifiez la hauteur : 2Spécifiez l'angle de rotation du texte :Entrez le texte:Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir de l'aide. Commande: texteStyle de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: NonSpécifiez le point de départ du texte ou [Justifier/Style]: j Entrez une option [Aligne/Fixé/Centre/Milieu/Droite/HG/HC/HD/MG/MC/MD/BG/BC/BD]: mgSpécifiez le milieu gauche du texte:Spécifiez la hauteur : 2Spécifiez l'angle de rotation du texte :Entrez le texte: ALORS? CA MARCHE ?Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir de l'aide. Commande: texteStyle de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: NonSpécifiez le point de départ du texte ou [Justifier/Style]: j Entrez une option [Aligne/Fixé/Centre/Milieu/Droite/HG/HC/HD/MG/MC/MD/BG/BC/BD]: mgSpécifiez le milieu gauche du texte:Spécifiez la hauteur : 2Spécifiez l'angle de rotation du texte :Entrez le texte:Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir de l'aide. Commande: texteStyle de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: NonSpécifiez le point de départ du texte ou [Justifier/Style]: j Entrez une option [Aligne/Fixé/Centre/Milieu/Droite/HG/HC/HD/MG/MC/MD/BG/BC/BD]: mgSpécifiez le milieu gauche du texte:Spécifiez la hauteur : 2Spécifiez l'angle de rotation du texte :Entrez le texte:Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir de l'aide. Commande: texteStyle de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: NonSpécifiez le point de départ du texte ou [Justifier/Style]: j Entrez une option [Aligne/Fixé/Centre/Milieu/Droite/HG/HC/HD/MG/MC/MD/BG/BC/BD]: mgSpécifiez le milieu gauche du texte:Spécifiez la hauteur : 2Spécifiez l'angle de rotation du texte :Entrez le texte:Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir de l'aide. Commande: texteStyle de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: NonSpécifiez le point de départ du texte ou [Justifier/Style]: j Entrez une option [Aligne/Fixé/Centre/Milieu/Droite/HG/HC/HD/MG/MC/MD/BG/BC/BD]: mgSpécifiez le milieu gauche du texte:Spécifiez la hauteur : 2Spécifiez l'angle de rotation du texte :Entrez le texte: ALORS? CA MARCHE ?Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir de l'aide. Commande: texteStyle de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: NonSpécifiez le point de départ du texte ou [Justifier/Style]: j Entrez une option [Aligne/Fixé/Centre/Milieu/Droite/HG/HC/HD/MG/MC/MD/BG/BC/BD]: mgSpécifiez le milieu gauche du texte:Spécifiez la hauteur : 2Spécifiez l'angle de rotation du texte :Entrez le texte:Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir de l'aide. Commande: texteStyle de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: NonSpécifiez le point de départ du texte ou [Justifier/Style]: j Entrez une option [Aligne/Fixé/Centre/Milieu/Droite/HG/HC/HD/MG/MC/MD/BG/BC/BD]: mgSpécifiez le milieu gauche du texte:Spécifiez la hauteur : 2Spécifiez l'angle de rotation du texte :Entrez le texte:Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir de l'aide. Commande: texteStyle de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: NonSpécifiez le point de départ du texte ou [Justifier/Style]: j Entrez une option [Aligne/Fixé/Centre/Milieu/Droite/HG/HC/HD/MG/MC/MD/BG/BC/BD]: mgSpécifiez le milieu gauche du texte:Spécifiez la hauteur : 2Spécifiez l'angle de rotation du texte :Entrez le texte:Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir de l'aide. Commande: texteStyle de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: NonSpécifiez le point de départ du texte ou [Justifier/Style]: j Entrez une option [Aligne/Fixé/Centre/Milieu/Droite/HG/HC/HD/MG/MC/MD/BG/BC/BD]: mgSpécifiez le milieu gauche du texte:Spécifiez la hauteur : 2Spécifiez l'angle de rotation du texte :Entrez le texte: ALORS? CA MARCHE ?Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir de l'aide. Commande: texteStyle de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: NonSpécifiez le point de départ du texte ou [Justifier/Style]: j Entrez une option [Aligne/Fixé/Centre/Milieu/Droite/HG/HC/HD/MG/MC/MD/BG/BC/BD]: mgSpécifiez le milieu gauche du texte:Spécifiez la hauteur : 2Spécifiez l'angle de rotation du texte :Entrez le texte:Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir de l'aide. Commande: texteStyle de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: NonSpécifiez le point de départ du texte ou [Justifier/Style]: j Entrez une option [Aligne/Fixé/Centre/Milieu/Droite/HG/HC/HD/MG/MC/MD/BG/BC/BD]: mgSpécifiez le milieu gauche du texte:Spécifiez la hauteur : 2Spécifiez l'angle de rotation du texte :Entrez le texte:Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir de l'aide. Commande: texteStyle de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: NonSpécifiez le point de départ du texte ou [Justifier/Style]: j Entrez une option [Aligne/Fixé/Centre/Milieu/Droite/HG/HC/HD/MG/MC/MD/BG/BC/BD]: mgSpécifiez le milieu gauche du texte:Spécifiez la hauteur : 2Spécifiez l'angle de rotation du texte :Entrez le texte:Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir de l'aide. Commande: texteStyle de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: NonSpécifiez le point de départ du texte ou [Justifier/Style]: j Entrez une option [Aligne/Fixé/Centre/Milieu/Droite/HG/HC/HD/MG/MC/MD/BG/BC/BD]: mgSpécifiez le milieu gauche du texte:Spécifiez la hauteur : 2Spécifiez l'angle de rotation du texte :Entrez le texte: ALORS? CA MARCHE ?Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir de l'aide. Commande: 50 Malgrés les réguliers "Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir de l'aide.", j'ai bien mon disque ! Pour l'impression, en EO , je suppose (118 UD = 118 mm!) ? [Edité le 21/5/2008 par lili2006] Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Arcasdk Posté(e) le 21 mai 2008 Auteur Posté(e) le 21 mai 2008 Coucou, bien écoute je ne vois pas d'où ça vient. Le principale c'est que celà fonctionne. Les 118 UD correspondent bien aux 120mm de diamètre d'un cd avec 1mm de retrait pour les limites d'impression de mon imprimante. Que penses-tu de la taille du texte? Plus petit ? <IMG SRC=http://peronfrederic.free.fr/banniere.jpg></IMG> <a href=www.formu-lan.net>www.FormuLan.net</a>
speedy Posté(e) le 21 mai 2008 Posté(e) le 21 mai 2008 Bonjour à touspas mal Arcasdk, çà fonctionne sur la 2007, mais quand je fais le cercle ''118'' ça passe en rayon et pas en diamètre ???, faut il modifier quelque chose avant pour la valeur soit du diamètre... En EP tu fais 0.5xp pour l'avoir à l'échelle. @+ Michel a
Arcasdk Posté(e) le 21 mai 2008 Auteur Posté(e) le 21 mai 2008 J'ai trouvé d'où venait le problème Dans les lignes de commande (command "texte" "j" "mg" pins "2" "" lst [surligneur]""[/surligneur]) Il y a des guillemets en trop. Voili Voilou.. ;-) <IMG SRC=http://peronfrederic.free.fr/banniere.jpg></IMG> <a href=www.formu-lan.net>www.FormuLan.net</a>
Arcasdk Posté(e) le 21 mai 2008 Auteur Posté(e) le 21 mai 2008 Effectivement, quand on lance une commande "cercle", Autocad demande un rayon.....Et moi je lui donne le diamètre. Le plus rapide sera donc d'imprimer en 0.5xp. Je vais regarder pour l'avoir en echelle 1:1!! Merci à vous deux. "Quelques minutes plus tard..." Voilà c'est corrigé. (defun c:jacquette (/ f pins n y x lst) (if (equal fic nil) (setq fic "c:/") ) (setq fic (getfiled "fichier portant les noms de fichier à écrire :" fic "txt" 8) f (open fic "r") pins (list 0 0 0) n 0 y 55) (command "cercle" pins 59 ) (command "cercle" pins 21 ) (while (setq lst (read-line f)) (setq n (+ n 1)) ) (if (< n 101) (progn (setq n 0 f (open fic "r")) (while (setq lst (read-line f)) (if (= n 56) (progn (setq y 45))) (if (>= n 56) (progn (setq x (sqrt (abs(- (expt y 2)(expt 58 2))))) (setq pins (list x y 0)) (command "texte" "j" "md" pins "1" "" lst) (setq n (+ n 1) y (- y 2)) )) (if (<= n 55) (progn (setq x (sqrt (abs(- (expt y 2)(expt 58 2)))) x (- 0 x)) (setq pins (list x y 0)) (command "texte" "j" "mg" pins "1" "" lst) (setq n (+ n 1) y (- y 2)) ) ) ) ) (Alert "Le fichier contient plus de 100 lignes de titre. Veuillez en enlever!!") ) ) [Edité le 21/5/2008 par Arcasdk] <IMG SRC=http://peronfrederic.free.fr/banniere.jpg></IMG> <a href=www.formu-lan.net>www.FormuLan.net</a>
lili2006 Posté(e) le 21 mai 2008 Posté(e) le 21 mai 2008 Re, Cela fonctionne nickel maintenant ! Pour les textes, la hauteur me parrait bien mais je changerai bien le style pour mettre du ComicSM, est-ce réalisable depuis le lisp ? Merci encore, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
zebulon_ Posté(e) le 21 mai 2008 Posté(e) le 21 mai 2008 Bonjour, attention aux accrochages aux objets. Quand tu fais par exemple (command "texte" "j" "md" pins "1" "" lst)si le pins est près d'un objet existant et qu'un accrochage aux objets est activé, le texte se mettra là où l'accrochage aux objets lui dira de se mettre et pas au point pins. (command "texte" "j" "md" "_non" pins "1" "" lst)ou(command "cercle" "_non" pins 59 ) pour ôter localement l'accrochage aux objets. AmicalementVincent C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
Arcasdk Posté(e) le 21 mai 2008 Auteur Posté(e) le 21 mai 2008 Pour ce qui est du style de texte faut en créer un dans ton environnement Autocad. Et ensuite dans la ligne de code (command "texte" "j" "md" "_non" pins "1" "" lst) Tu rajoutes... (command "texte" [surligneur]"s" "nom du style"[/surligneur] "j" "md" "_non" pins "1" "" lst) Voilà Concernant l'accrochage aux objets, on peut rajouter un (setvar "osmode" 0) en début de programme ou comme tu l'as écrit Zébulon_ (Méthode que je ne connaissais pas d'ailleurs). Moi j'utilisais un dessin vierge donc pas de souci de ce côté. <IMG SRC=http://peronfrederic.free.fr/banniere.jpg></IMG> <a href=www.formu-lan.net>www.FormuLan.net</a>
zebulon_ Posté(e) le 21 mai 2008 Posté(e) le 21 mai 2008 re, (setvar "osmode" 0)en début de lisp, c'est bien mais ce n'est pas assez. Tu supprimes les paramètres de l'accrochage aux objets sans les rétablir en fin de lisp. Donc, il serait peut être plus prudent de faire (setq OLDOS (getvar "OSMODE"))(setvar "OSMODE" 0).........(setvar "OSMODE" OLDOS) histoire de retrouver le paramétrage de l'accrochage aux objets après l'exécution du lisp. AmicalementVincent C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
lili2006 Posté(e) le 21 mai 2008 Posté(e) le 21 mai 2008 Re, Merci de ta réponse Arcasdk. Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Arcasdk Posté(e) le 21 mai 2008 Auteur Posté(e) le 21 mai 2008 Tout à fait d'accord avec toi Zébulon_... L'un ne va pas sans l'autre. Je n'oserai même pas y penser. Derien Lili <IMG SRC=http://peronfrederic.free.fr/banniere.jpg></IMG> <a href=www.formu-lan.net>www.FormuLan.net</a>
lili2006 Posté(e) le 22 mai 2008 Posté(e) le 22 mai 2008 Bonjour à toutes et tous, J'ai suivi tes conseils Arcasdk et ça marche nickel. Merci encore, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
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