Aller au contenu

Messages recommandés

Posté(e)

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>

Posté(e)

Bonjour à toutes et tous,

 

après avoir sélectionné le fichier .txt, voilà la réponse de AutoCAD (V2008) =>

 

Commande: JACQUETTE

cercle Spécifiez le centre du cercle ou [3P/2P/Ttr (tangente tangente rayon)]:

Spécifiez le rayon du cercle ou [Diamètre]: 118

Commande: cercle Spécifiez le centre du cercle ou [3P/2P/Ttr (tangente tangente

rayon)]:

Spécifiez le rayon du cercle ou [Diamètre] : 42

Commande: texte

Style de texte courant: "Standard" Hauteur de texte: 2.5000 Annotatif: Non

Spé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]: mg

Spécifiez le milieu gauche du texte:

Spécifiez la hauteur : 2

Spécifiez l'angle de rotation du texte :

Entrez le texte: test jacquette

Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir

de l'aide.

 

Commande: texte

Style de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: Non

Spé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]: mg

Spécifiez le milieu gauche du texte:

Spécifiez la hauteur : 2

Spécifiez l'angle de rotation du texte :

Entrez le texte:

Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir

de l'aide.

 

Commande: texte

Style de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: Non

Spé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]: mg

Spécifiez le milieu gauche du texte:

Spécifiez la hauteur : 2

Spé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: texte

Style de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: Non

Spé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]: mg

Spécifiez le milieu gauche du texte:

Spécifiez la hauteur : 2

Spécifiez l'angle de rotation du texte :

Entrez le texte:

Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir

de l'aide.

 

Commande: texte

Style de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: Non

Spé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]: mg

Spécifiez le milieu gauche du texte:

Spécifiez la hauteur : 2

Spécifiez l'angle de rotation du texte :

Entrez le texte:

Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir

de l'aide.

 

Commande: texte

Style de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: Non

Spé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]: mg

Spécifiez le milieu gauche du texte:

Spécifiez la hauteur : 2

Spécifiez l'angle de rotation du texte :

Entrez le texte:

Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir

de l'aide.

 

Commande: texte

Style de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: Non

Spé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]: mg

Spécifiez le milieu gauche du texte:

Spécifiez la hauteur : 2

Spé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: texte

Style de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: Non

Spé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]: mg

Spécifiez le milieu gauche du texte:

Spécifiez la hauteur : 2

Spécifiez l'angle de rotation du texte :

Entrez le texte:

Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir

de l'aide.

 

Commande: texte

Style de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: Non

Spé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]: mg

Spécifiez le milieu gauche du texte:

Spécifiez la hauteur : 2

Spécifiez l'angle de rotation du texte :

Entrez le texte:

Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir

de l'aide.

 

Commande: texte

Style de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: Non

Spé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]: mg

Spécifiez le milieu gauche du texte:

Spécifiez la hauteur : 2

Spécifiez l'angle de rotation du texte :

Entrez le texte:

Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir

de l'aide.

 

Commande: texte

Style de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: Non

Spé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]: mg

Spécifiez le milieu gauche du texte:

Spécifiez la hauteur : 2

Spé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: texte

Style de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: Non

Spé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]: mg

Spécifiez le milieu gauche du texte:

Spécifiez la hauteur : 2

Spécifiez l'angle de rotation du texte :

Entrez le texte:

Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir

de l'aide.

 

Commande: texte

Style de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: Non

Spé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]: mg

Spécifiez le milieu gauche du texte:

Spécifiez la hauteur : 2

Spécifiez l'angle de rotation du texte :

Entrez le texte:

Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir

de l'aide.

 

Commande: texte

Style de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: Non

Spé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]: mg

Spécifiez le milieu gauche du texte:

Spécifiez la hauteur : 2

Spécifiez l'angle de rotation du texte :

Entrez le texte:

Commande: JACQUETTE Commande inconnue "JACQUETTE". Appuyez sur F1 pour obtenir

de l'aide.

 

Commande: texte

Style de texte courant: "Standard" Hauteur de texte: 2.0000 Annotatif: Non

Spé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]: mg

Spécifiez le milieu gauche du texte:

Spécifiez la hauteur : 2

Spé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/

Posté(e)

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>

Posté(e)

Bonjour à tous

pas 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

Posté(e)

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>

Posté(e)

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>

Posté(e)

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.

 

Amicalement

Vincent

 

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)

Posté(e)

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>

Posté(e)

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.

 

Amicalement

Vincent

 

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)

Posté(e)

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>

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é