Aller au contenu

Deleligne

Membres
  • Compteur de contenus

    11
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Deleligne

  1. Deleligne

    Où est mon angle ?

    Désolé, je viens de voir que je n'avais pas enlevé les drapeaux ! ! :( :o Mille autres excuses....
  2. Deleligne

    Où est mon angle ?

    :cool: Milles excuses, mais il est long et fait appel à d'autres LiSP... Je suis en train de faire ces routines, alors le mise en forme laisse vraiment à désirer, et il y a encore plein de truc en double ou qui ne servent à rien.... Je ferais le tri quand je serais meilleur en LiSP... Voici celui qui créé un texte : (defun c:phTexte (NomTxt Police Comp Inclin NomCalq Coul Just Haut Texte PreCalq / p1 rot) (setvar "CMDECHO" 0) (if (= (setq Ech (vlax-ldata-get "Phalene" "Ech1")) nil) (PhEch)) ;(setq Haut (atof Haut)) (setq rot (vlax-ldata-get "Phalene" "AngSCU")) (princ "\nRotation : ") (princ rot) (if (= Texte "") (setq Texte (getstring T "\nTexte :")) ) ;_ Fin de if (if (not (tblsearch "STYLE" NomTxt)) (command "-style" NomTxt Police "0" Comp Inclin "N" "N" "N") (command "-style" NomTxt Police "0" Comp Inclin "N" "N" "N") ) ;_ Fin de if (if (= Just "") (setq Just "c")) (setq p1 (getpoint "\nPosition du texte : ")) (if (null p1) (setq p1 (getvar "lastpoint"))) (setq VOrtho (getvar "orthomode")) (setvar "orthomode" 1) (princ "\nAngle en Data : -") (princ (vlax-ldata-get "Phalene" "AngSCU")) (princ "-\n") (if (= (setq rot (getorient p1 (strcat "\nOrientation du texte :"))) 0 ) (setq rot (vlax-ldata-get "Phalene" "AngSCU")) ) (setvar "orthomode" VOrtho) ;(if (not rot) (setq rot (getvar "snapANG"))) (setq Lign "-") (if (/= NomCalq "-") (c:phCreaCalq NomCalq Coul "-" PreCalq)) (setq Haut (atof Haut)) (progn ;(princ rot) (command "-calque" "e" (strcat NomCalq " " (rtos (fix Ech) 2 0)) "co" Coul "" "") (setq js (ssadd)) (command "_-mtext" "_none" p1 "j" Just "h" (/ (* Haut Ech) 1000.0) "_r" (polar p1 (+ rot (/ pi 2)) 1000) "_w" "0.00" Texte "" ) ;_ Fin de command (if (and (/= (setq Ech (vlax-ldata-get "Phalene" "Ech2")) nil) (/= (setq Ech (vlax-ldata-get "Phalene" "Ech2")) 0) ) (progn (command "-calque" "e" (strcat NomCalq " " (rtos (fix Ech) 2 0)) "co" Coul "" "") (setq js (ssadd (entlast) js)) (command "_-mtext" "_none" p1 "j" Just "h" (/ (* Haut Ech) 1000.0) "_r" (polar p1 (+ rot (/ pi 2)) 1000) "_w" "0.00" Texte "" ) ) ;_ Fin de progn ) ;_ Fin de if ) (setq js (ssadd (entlast) js)) (command "_move" js "" "_none" p1) ) Et voici celui qui stock cette fameuse variable : (defun c:_OrientSCU (); Il n'y a pas de _ avant OrientSCU , sinon, ça fait c:OrientSCU (setq Echo (getvar "cmdecho")) (setvar "cmdecho" 0) (command "-unites" "2" "2" "3" "2" "0,0" "@0,1" "O") (setvar "pdmode" 32) (setvar "pdsize" 0.1) (setvar "plinegen" 1) (command "-couleur" "ducalque") (setvar "filedia" 1) (setvar "attdia" 1) (command "-typeligne" "a" "ducalque" "") (command "_ucs" "_w") (setq p1 (getpoint "\nPoint de départ : ")) (setq VOrtho (getvar "orthomode")) (setvar "orthomode" 0) (setq p2 (getpoint p1 (strcat "\nDirection des X :"))) (princ "\nOrientation : ") (setvar "orthomode" VOrtho) (setvar "cmdecho" 1) (setvar "snapang" (angle p1 p2)) (setq AnSc (+ (* 200 (/ (angle p1 p2) pi) (/ pi 2)))) (princ "\n******") (princ AnSc) (setq p3 (polar p1 (+ (angle p1 p2) (/ pi 2)) 1000)) (vlax-ldata-put "Phalene" "AngSCU" (* 200.0 (/ (angle p1 p2) pi))) (princ "\nAngle en Data :") (princ (vlax-ldata-get "Phalene" "AngSCU")) ;(princ (angle p1 p2)) (command "_ucs" "_z" p1 p3) (command "_ucs" "_w") (command "resol" "r" p1 p2) (setvar "snapmode" 0) (setvar "cmdecho" Echo) ) Merci pour tout... Et bon courage pour comprendre ce "charabia" ! ! ;)
  3. Deleligne

    Où est mon angle ?

    Merci Patrick_35, En fait (je travail en grades) mais je stock bien un réelle, mais dans ma routine, j'ai : (if (= (setq rot (getorient p1 (strcat "\nOrientation du texte :"))) 0 ) (setq rot (vlax-ldata-get "Phalene" "AngSCU")) ) Et lors de l'exécution, AutoCAD me réponds : Je n'arrive pas à saisir pourquoi... Merci.
  4. Deleligne

    Où est mon angle ?

    C'est ce que je pensais, mais même avec ça : (vlax-ldata-put "Phalene" "AngSCU" (* 200.0 (/ (angle p1 p2) pi))) qui me stock bien un angle ( ex : 254.29 et non "254.29"), ca plante ! ! Sniffff..... Merci...
  5. Bonjour à tous, Dans une routine, j'ai p1 et p2 qui sont deux points, je stock l'angle entre les deux ici : (command "-unites" "2" "2" "3" "2" "0,0" "@0,1" "O") .... (vlax-ldata-put "General" "AngSCU" (angle p1 p2)) Mais je n'arrive pas à récupérer un "angle"... Et j'ai presque tous essayé : (setq rot 0) (if (= (setq rot (getorient p1 (strcat "\nOrientation du texte :"))) 0) (progn (setq rot (angtof (angtos (vlax-ldata-get "General" "AngSCU") (getvar "AUNITS") 4) 2)) Tous ceci fonctionne très bien pour générer des erreurs... Mais ce n'est pas mon but... J'en appel aux CadXPiens... Autre petit truc, parfois, AutoCAD me corrige l'angle, exemple, si (angle p1 p2) fait 252.29g, il me le ramène à 52.29g ? ? Quelqu'un aurrait une idée ? PS : merci à CadXP pour toutes ces routines... Tous ce qui est écrit ici viens de CadXP... Merci à tous...
  6. Bonjour à tous, Payant ? Je l'ai téléchargé (site officiel )hier et installé, il ne m'a rien demandé et ne m'indique nulpart qu'il faut payer ou que c'est une démo, peut-être une version libre ou light... Forum très instructif... Merci
  7. Demain je me réveil, Il faut donc installer les menu Express (ExpressTools) disponibles sur le site AutoCAD ou dans le CD D'install (je crois). Mais attention aux versions ! !
  8. Réponse : alors, si j'ai tout compris, "layiso" est une commande en anglais (lay = layer / iso = isolate) qui est issue du pak Express dont toutes les commandes sont en anglais... Question : pourquoi une équivalance ? Dans quel but ? Voilà, j'ai bon ?
  9. Bonjour didier Et merci de ton attention, Ta routine m'a ouverte de nouvelle perspective, surtout grace à "TranslateCoordinates" que je ne connaissais pas. Je vais juste essayer de l'adapter à mon besoin, c'est à dire forcer un texte horizontal même si le SCU ne l'est pas... mais je bloque un peu... En tout cas, merci encore...
  10. Bravo Didier, c'est exactement çà ! ! Et le tout, après avoir créé un style de texte (avec simplex.shx).... Encore bravo... et merci
  11. Bonjour à tous, Voilà, pour être bref, j'aimerai, en VBA, écrire un texte (simple et/ou multiligne) avec une rotation horizontale (qui correspondrait à 100 grade (90°) si mon SCU serai parallèle à la fenêtre). En gros, selon la direction de mon curseur (Résol;rotation). Je pense que cela peut avoir un rapport avec la variable SNAPANG mais..... je but ! ! Et aussi, comment créer un nouveau style de police (toujours en VBA) Merci aux créateur de ce site et merci à tous pour l'alimenter...
×
×
  • 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é