Morgul Posté(e) le 22 juin 2006 Posté(e) le 22 juin 2006 Bonjour, Je rencontre un problème, lorsque je récupère la valeure d'échelle d'un bloc, je n'arrive pas à l'exploiter.Voici mon code pour récupérer la valeure : (setq EchI (cdr (assoc 41 Lstac1))) ; On récupère l'échelle du bloc Lorsque je veut effectuer une opération dessus, ça ne marche pas ! (Setq CY (* EchI 0.75)) ; On multiplie l'échelle du bloc par 0.75 Et lorsque je veut l'afficher ça ne marche pas !J'ai essayé avec : (setq EchI (itoa EchI))(princ EchI) A l'aide !Et merci pour vos réponses. Ps : c'est quoi le code pour faire afficher la page "lignes de commandes" en 1er plan (comme F2) Il n'y a pas d'homme cultivé, il n'y a que des hommes qui se cultivent. Maréchal Foch
rebcao Posté(e) le 22 juin 2006 Posté(e) le 22 juin 2006 vérifies si ta variable LSTAC1 n'est pas à Nil ? Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
Patrick_35 Posté(e) le 22 juin 2006 Posté(e) le 22 juin 2006 SalutIl faut pour cela utiliser entmod et substexemple avec Lstac1 comme entité de bloc(setq Lstac1 (subst (cons 41 (* (cdr (assoc 41 Lstac1)) 0.75)) (assoc 41 Lstac1) Lstac1)) (entmod Lstac1) (entupd (cdr asssoc -1 Lstac1)) ; mettre à jour à l'écran le bloc @+ nb : exemple non testé Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Morgul Posté(e) le 22 juin 2006 Auteur Posté(e) le 22 juin 2006 Bonjour, Non, c'est ça le pire LSTAC1 & EchI ne sont pas nil ! (setq EchI (cdr (assoc 41 Lstac1))) Fonctionne, et j'obtient bien une valeure, mais après je n'arrive pas à l'exploiter. Merci. Il n'y a pas d'homme cultivé, il n'y a que des hommes qui se cultivent. Maréchal Foch
Patrick_35 Posté(e) le 22 juin 2006 Posté(e) le 22 juin 2006 Ah, encore une précisionLe code 41 correspond à l'echelle X, ne pas oublier le code 42 (Echelle Y) et 43 (Echelle Z) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
(gile) Posté(e) le 22 juin 2006 Posté(e) le 22 juin 2006 Salut, essaye avec ces quelques lignes : (setq bloc (car (entsel))) (setq Lstac1 (entget bloc)) (if (= "INSERT" (cdr (assoc 0 Lstac1))) (setq Ech (cdr (assoc 41 Lstac1)) CY (* Ech 0.75) ) (princ "\n L'objet n'est pas un bloc.") ) (princ (strcat "\nEch : " (rtos Ech) "\tCY : " (rtos CY))) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Morgul Posté(e) le 22 juin 2006 Auteur Posté(e) le 22 juin 2006 Merci (gile) & Patrick_35, Désormais cela fonctionne !C'est cool! Est-ce que je peux abusé en vous demandant si vous vous rappelez comment je bascule la fenêtre de texte AutoCAD en premier plan en commande lisp, moi je le savais, mais j'ai oublier. Il n'y a pas d'homme cultivé, il n'y a que des hommes qui se cultivent. Maréchal Foch
Patrick_35 Posté(e) le 22 juin 2006 Posté(e) le 22 juin 2006 Oui, avec (graphscr) et (textscr) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
(gile) Posté(e) le 22 juin 2006 Posté(e) le 22 juin 2006 (textscr) et (graphscr) Çà devait être un coup de chance, la fois où j'ai dégainé plus vite ;) [Edité le 22/6/2006 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Patrick_35 Posté(e) le 22 juin 2006 Posté(e) le 22 juin 2006 hum... pas certain, ce n'est pas certain ;) Mais on me surnomme parfois Jessie James :cool: @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
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