doua Posté(e) le 1 novembre 2006 Posté(e) le 1 novembre 2006 salut, j'ai un programme lisp qui fait un dessin avec les vues et les sections, je veux inserer du text par exemple : la 1er Flèche qui indique la section a-a je veux que les a-a soit ecrite dans un point (x,y) mais je veux ajouter cette ligne comme une commande autocadvoilà mon essais echoué !!! :casstet: ....etc . ;;tracer les lignes de flêche (command "ligne" F1 F3 "") (command "ligne" F4 F6 "") (command "ligne" F4 F5 "") (command "ligne" F4 F7 "") (command "SOLIDE" F5 F2 F6 "" "") ;;;ecrire le texte qui va avec les flêche [b] [/b];(command "texte" F7 10 0 "a-a" "") je ne sais pas comment faire pour inserer mon ecriture ?? :casstet: merci pour votre aide !
didier Posté(e) le 1 novembre 2006 Posté(e) le 1 novembre 2006 coucou, tout d'abord,puisque rien n'est spécifié, le texte sera écrit avec le style courantensuite, si ce style a une hauteur définie à sa création, tu ne pourras la changerles renseignements concernant les hauteur et directiondoivent être considérés comme des chaînes de caractère donc entre guillemets,pour finir celà donnera (command "_text" F7 "1" "0" "0" "a-a" ) amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
doua Posté(e) le 4 novembre 2006 Auteur Posté(e) le 4 novembre 2006 ;) salut didier, excuse moi j'êtais en congé c'est pourquoi j'ai pas vue ton message ! merci pour ton aide amicalement doua
doua Posté(e) le 4 novembre 2006 Auteur Posté(e) le 4 novembre 2006 rebonjour, didier j'ai fais rentrer cette commande dans mon programme mais il m'ecris rien !! il exécute toutes les instructions que je lui ai donnée il me déssine tous ce que je lui ai demandé avec les flèches de coupe etc... mais l'ecriture pour renseigné la coupe non !je crois qu'il faut les coordonée du point de départ et ça je ne sais pas comment le faire rentrer dans la commande ? nb : le F1 F2 F3 etc tous ça c'est des coordonés pour tracer des ligne dans un point bien défini alors faut-il que je met comme réponse par exemple : Spécifiez le point de départ du texte ou [Justifier/Style]: F7 Voilà ce qu'il me donne quand j'ai fais rentrer ta commande : .....etc Commande: _text Style de texte courant: "Standard" Hauteur de texte: 1.0000 [b] Spécifiez le point de départ du texte ou [Justifier/Style]:[/b] Spécifiez la hauteur <1.0000>: 1 Spécifiez l'angle de rotation du texte <0>: 0 Entrez le texte: a-a Commande: nil Commande: merci pour votre aide !!
doua Posté(e) le 7 novembre 2006 Auteur Posté(e) le 7 novembre 2006 salut, help !! je n'arrive toujour pas à écrirs avec ma commande introduite dans mon programme lisp !! :casstet: ya-t-il qlq qui peux m'aider ! merci!
zebulon_ Posté(e) le 7 novembre 2006 Posté(e) le 7 novembre 2006 Bonjour, (defun c:testext () (setq F7 (getpoint "\nPoint d'insertion : ")) (setq StyTxName "MonStyle") ;; le nom du nouveau style de texte (if (not (tblsearch "STYLE" StyTxName)) ;; s'il n'existe pas (command "_style" StyTxName "arial.ttf" "1.5" "1.00" "0.00" "_N" "_N") ;; je le crée (command "_textstyle" StyTxName) ;; sinon je l'active ) ;; comme ça tu maîtrise le style utilisé par la commande _text ;; et comme le disait Didier plus haut, tu sauras si le texte ;; a une hauteur définie ou non ;; ;; puis tu crées ton texte (command "_text" "_non" F7 "0" "Mon texte") ;; sans indiquer de hauteur, puisque le style créé ci dessus ;; a une hauteur prédéfinie (princ) ) Si tu préfères un style de texte avec une hauteur à 0, il faut changer (command "_style" StyTxName "arial.ttf" "0.0" "1.00" "0.00" "_N" "_N") Mais après, la commande _text demandera un hauteur à la création, donc il faut en indiquer une dans la ligne : (command "_text" "_non" F7 "1.5" "0" "Mon texte") Amicalement Zebulon_ 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)
doua Posté(e) le 7 novembre 2006 Auteur Posté(e) le 7 novembre 2006 merci zebulon_ , je vais le tester maintenant ! amicalement Doua
doua Posté(e) le 7 novembre 2006 Auteur Posté(e) le 7 novembre 2006 rebonjour, zebulon_ :P je m'excuse de te dérranger !! mais j'ai inserer juste la ligne : (command "_text" "_non" F7 "0" "Mon texte") on fait je ne sais pas comment faire enter mes corrdonées déja prédéfini dans F7 !! dans cette ligne ------> Spécifiez le point de départ du texte ou [Justifier/Style]: alors quand je fait un print sur Le F7 ça donne ceci : commande : (print F7) (3250.0 7630.0) (3250.0 7630.0) pourquoi il ne connais pas ces corrdonée mon programme ?? :casstet: amicalement
zebulon_ Posté(e) le 7 novembre 2006 Posté(e) le 7 novembre 2006 Tu n'as qu'a publier tout ton programme, comme ça on y verra plus clair. S'il n'est pas trop long. Amicalement Zebulon_ 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)
doua Posté(e) le 7 novembre 2006 Auteur Posté(e) le 7 novembre 2006 ok, le voilà mon programme il est un peux long ! :P (defun c:dess() ;Mentant Gauche (setq HSMG (getreal "\entrez une valeur_HSMG:")) (setq BSMG (getreal "\entrez une valeur_BSMG:")) (setq EPMG (getreal "\entrez une valeur_EPMG:")) (setq HMTG (getreal "\entrez une valeur_HMTG:")) ;Mentant Gauche (setq ptG0 '(0 0)) (setq ptG1 (list BSMG 0)) (setq ptG2 (list BSMG HHMTG)) (setq ptG3 (list 0 HHMTG)) (setq ptG4 (list 0 0)) (setq ptG5 (list (- BSMG EPMG) 0)) (setq ptG6 (list (- BSMG EPMG) HHMTG)) (setq ptG7 (list EPMG 0)) (setq ptG8 (list EPMG HHMTG)) (command "POLYLIGN" ptG0 ptG1 ptG2 ptG3 ptG4 "") (command "ligne" ptG5 ptG6 "") (command "chprop" (entlast) "" "co" 2 "") (command "chprop" (entlast) "" "T" "CACHE" "") (command "ligne" ptG7 ptG8 "") (command "chprop" (entlast) "" "co" 2 "") (command "chprop" (entlast) "" "t" "CACHE" "") ;Section Mentant Gauche (setq ptSMG0 (list 0 (/ HHMTG 2.0))) (setq ptSMG1 (list (- BSMG ) (/ HHMTG 2.0))) (setq ptSMG2 (list (- BSMG ) (+ (/ HHMTG 2.0) HSMG))) (setq ptSMG3 (list (- (- BSMG) BSMG) (+ (/ HHMTG 2.0) HSMG))) (setq ptSMG4 (list (- (- BSMG) BSMG) (/ HHMTG 2.0))) (setq ptSMG5 (list (- BSMG) (/ HHMTG 2.0))) (setq ptSMG6 (list (- (- BSMG ) EPMG) (+ (/ HHMTG 2.0) EPMG))) (setq ptSMG7 (list (- (- BSMG ) EPMG) (- (+ (/ HHMTG 2.0) HSMG) EPMG))) (setq ptSMG8 (list (+ (- (- BSMG ) BSMG) EPMG) (- (+ (/ HHMTG 2.0) HSMG) EPMG))) (setq ptSMG9 (list (+ (- (- BSMG ) BSMG) EPMG) (+ (/ HHMTG 2.0) EPMG))) (command "POLYLIGN" ptSMG1 ptSMG2 ptSMG3 ptSMG4 ptSMG5 "") (command "ligne" ptSMG6 ptSMG7 ptSMG8 ptSMG9 ptSMG6 "") ;;Flèche partie Mentant Gauche (setq L1 (list (- (/ BSMG 2.0)) (/ HHMTG 2.0))) (setq L2 (list (- (/ BSMG 2.0)) (+ (/ HHMTG 2.0) (/ BSMG 2.0)))) (setq L3 (list (+ (- (/ BSMG 2.0)) 46) (+ (/ HHMTG 2.0) (/ BSMG 2.0)))) (setq L4 (list (- (- (/ BSMG 2.0)) 46) (+ (/ HHMTG 2.0) (/ BSMG 2.0)))) (setq L5 (list (- (/ BSMG 2.0)) (+ (+ (/ HHMTG 2.0) (/ BSMG 2.0)) 105))) (setq L6 (list (+ (- (/ BSMG 2.0)) 80) (+ (+ (/ HHMTG 2.0) (/ BSMG 2.0)) 105))) (setq L7 (list (- (- (/ BSMG 2.0)) 80) (+ (+ (/ HHMTG 2.0) (/ BSMG 2.0)) 105))) (setq L8 (list (+ (/ BSMG 2.0) BSMG) (/ HHMTG 2.0))) (setq L9 (list (+ (/ BSMG 2.0) BSMG) (+ (/ HHMTG 2.0) (/ BSMG 2.0)))) (setq L10 (list (+ (+ (/ BSMG 2.0) BSMG) 46) (+ (/ HHMTG 2.0) (/ BSMG 2.0)))) (setq L11 (list (- (+ (/ BSMG 2.0) BSMG) 46) (+ (/ HHMTG 2.0) (/ BSMG 2.0)))) (setq L12 (list (+ (/ BSMG 2.0) BSMG) (+ (+ (/ HHMTG 2.0) (/ BSMG 2.0)) 105))) (setq L13 (list (+ (+ (/ BSMG 2.0) BSMG) 80) (+ (+ (/ HHMTG 2.0) (/ BSMG 2.0)) 105))) (setq L14 (list (- (+ (/ BSMG 2.0) BSMG) 80) (+ (+ (/ HHMTG 2.0) (/ BSMG 2.0)) 105))) (command "ligne" L1 L2 "") (command "ligne" L3 L4 "") (command "ligne" L5 L4 "") (command "ligne" L5 L3 "") (command "ligne" L6 L7 "") (command "SOLIDE" L4 L3 L5 "" "") (command "ligne" L8 L9 "") (command "ligne" L10 L11 "") (command "ligne" L12 L11 "") (command "ligne" L12 L10 "") (command "ligne" L13 L14 "") (command "SOLIDE" L11 L10 L12 "" "") (command "_text" "_non" L7 "0" "Mon texte") ) merci de votre aide
zebulon_ Posté(e) le 7 novembre 2006 Posté(e) le 7 novembre 2006 (defun c:dess() (command "_.undo" "_group") ;Mentant Gauche (setq HSMG (getreal "\entrez une valeur_HSMG:")) (setq BSMG (getreal "\entrez une valeur_BSMG:")) (setq EPMG (getreal "\entrez une valeur_EPMG:")) (setq HMTG (getreal "\entrez une valeur_HMTG:")) (setq OLDOS (getvar "OSMODE")) (setvar "OSMODE" 0) ;; enlever les accroches objet ;Mentant Gauche (setq ptG0 '(0 0)) (setq ptG1 (list BSMG 0)) (setq ptG2 (list BSMG HMTG)) (setq ptG3 (list 0 HMTG)) (setq ptG4 (list 0 0)) (setq ptG5 (list (- BSMG EPMG) 0)) (setq ptG6 (list (- BSMG EPMG) HMTG)) (setq ptG7 (list EPMG 0)) (setq ptG8 (list EPMG HMTG)) (command "POLYLIGN" ptG0 ptG1 ptG2 ptG3 ptG4 "") (command "ligne" ptG5 ptG6 "") (command "chprop" (entlast) "" "co" 2 "") (command "chprop" (entlast) "" "T" "CACHE" "") (command "ligne" ptG7 ptG8 "") (command "chprop" (entlast) "" "co" 2 "") (command "chprop" (entlast) "" "t" "CACHE" "") ;Section Mentant Gauche (setq ptSMG0 (list 0 (/ HMTG 2.0))) (setq ptSMG1 (list (- BSMG ) (/ HMTG 2.0))) (setq ptSMG2 (list (- BSMG ) (+ (/ HMTG 2.0) HSMG))) (setq ptSMG3 (list (- (- BSMG) BSMG) (+ (/ HMTG 2.0) HSMG))) (setq ptSMG4 (list (- (- BSMG) BSMG) (/ HMTG 2.0))) (setq ptSMG5 (list (- BSMG) (/ HMTG 2.0))) (setq ptSMG6 (list (- (- BSMG ) EPMG) (+ (/ HMTG 2.0) EPMG))) (setq ptSMG7 (list (- (- BSMG ) EPMG) (- (+ (/ HMTG 2.0) HSMG) EPMG))) (setq ptSMG8 (list (+ (- (- BSMG ) BSMG) EPMG) (- (+ (/ HMTG 2.0) HSMG) EPMG))) (setq ptSMG9 (list (+ (- (- BSMG ) BSMG) EPMG) (+ (/ HMTG 2.0) EPMG))) (command "POLYLIGN" ptSMG1 ptSMG2 ptSMG3 ptSMG4 ptSMG5 "") (command "ligne" ptSMG6 ptSMG7 ptSMG8 ptSMG9 ptSMG6 "") ;;Flèche partie Mentant Gauche (setq L1 (list (- (/ BSMG 2.0)) (/ HMTG 2.0))) (setq L2 (list (- (/ BSMG 2.0)) (+ (/ HMTG 2.0) (/ BSMG 2.0)))) (setq L3 (list (+ (- (/ BSMG 2.0)) 46) (+ (/ HMTG 2.0) (/ BSMG 2.0)))) (setq L4 (list (- (- (/ BSMG 2.0)) 46) (+ (/ HMTG 2.0) (/ BSMG 2.0)))) (setq L5 (list (- (/ BSMG 2.0)) (+ (+ (/ HMTG 2.0) (/ BSMG 2.0)) 105))) (setq L6 (list (+ (- (/ BSMG 2.0)) 80) (+ (+ (/ HMTG 2.0) (/ BSMG 2.0)) 105))) (setq L7 (list (- (- (/ BSMG 2.0)) 80) (+ (+ (/ HMTG 2.0) (/ BSMG 2.0)) 105))) (setq L8 (list (+ (/ BSMG 2.0) BSMG) (/ HMTG 2.0))) (setq L9 (list (+ (/ BSMG 2.0) BSMG) (+ (/ HMTG 2.0) (/ BSMG 2.0)))) (setq L10 (list (+ (+ (/ BSMG 2.0) BSMG) 46) (+ (/ HMTG 2.0) (/ BSMG 2.0)))) (setq L11 (list (- (+ (/ BSMG 2.0) BSMG) 46) (+ (/ HMTG 2.0) (/ BSMG 2.0)))) (setq L12 (list (+ (/ BSMG 2.0) BSMG) (+ (+ (/ HMTG 2.0) (/ BSMG 2.0)) 105))) (setq L13 (list (+ (+ (/ BSMG 2.0) BSMG) 80) (+ (+ (/ HMTG 2.0) (/ BSMG 2.0)) 105))) (setq L14 (list (- (+ (/ BSMG 2.0) BSMG) 80) (+ (+ (/ HMTG 2.0) (/ BSMG 2.0)) 105))) (command "ligne" L1 L2 "") (command "ligne" L3 L4 "") (command "ligne" L5 L4 "") (command "ligne" L5 L3 "") (command "ligne" L6 L7 "") (command "SOLIDE" L4 L3 L5 "" "") (command "ligne" L8 L9 "") (command "ligne" L10 L11 "") (command "ligne" L12 L11 "") (command "ligne" L12 L10 "") (command "ligne" L13 L14 "") (command "SOLIDE" L11 L10 L12 "" "") (setq StyTxName "MonStyle") ;; le nom du nouveau style de texte (if (not (tblsearch "STYLE" StyTxName)) ;; s'il n'existe pas (command "_style" StyTxName "arial.ttf" "0.0" "1.00" "0.00" "_N" "_N") ;; je le crée (command "_textstyle" StyTxName) ;; sinon je l'active ) (command "_text" L7 "30" "0" "Mon texte") (setvar "OSMODE" OLDOS) ;; remettre les anciens accroche objets (command "_.undo" "_end") (princ) ) La variable HHMTG n'était pas initialisée et ça plantait tout ton programme. Je l'ai remplacée par la variable HMTG qui, elle, était initialisée. Il faut faire attention aux accroches objets et les désactiver quand on dessine avec des "command", sinon ça donne des choses assez originales mais pas forcément ce à quoi on s'attend (OSMODE)Enfin, on peut aussi rajouter un undo au début et à la fin pour grouper toutes les actions du lisp dans un seul undo. Amicalement Zebulon_ 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)
doua Posté(e) le 8 novembre 2006 Auteur Posté(e) le 8 novembre 2006 bonjour zebulon_, merci pour ton aide ! ;) ça marche enfin ! dit moi zebulon stp, peux-tu m'expliquer ces deux lignes à quoi elles servent ? (command "_.undo" "_group")(command "_.undo" "_end") merci chef ! :D
zebulon_ Posté(e) le 8 novembre 2006 Posté(e) le 8 novembre 2006 (command "_.undo" "_group")(command "_.undo" "_end") ça sert à grouper toutes les commandes faites dans le lisp en une seule, par rapport à la commande ANNULER. Tu n'as qu'a essayer. Tu lances ton lisp qui te crée plusieurs objets, puis tu tapes U pour annuler : tous les objets créés disparaissent en un coup. Après, tu mets des ; devant les 2 lignes (command ...), tu recharges ton lisp et tu le réexécute. Tu verras que pour annuler, il faudra taper U des dizaines de fois avant que tout ne soit annulé.C'est pas top comme ça ;) Amicalement Zebulon_ 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)
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