-
Compteur de contenus
4 029 -
Inscription
-
Dernière visite
-
Jours gagnés
21
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par DenisHen
-
Exact... ;) La première routine faisait une vingtaine de ligne, on en est maintenant à plus de 300...
-
Pas de problème : ;;; ******************** ;;; Dessine une flèche ;;; ******************** (defun c:DH_Fleche () (princ "\nDébut calcul flèche") (setq Long 2 ;; Longueur de la tête de la flèche Larg 1 ;; Largeur de du pied de la flèche Pt_Fin_Fle (getpoint "\nPied de la flèche : ") Pt_Deb_Fle (getpoint Pt_Fin_Fle "\nPointe de la flèche : ") Pt_Pied_Fle (polar Pt_Deb_Fle (angle Pt_Deb_Fle Pt_Fin_Fle) Long) ) ;_ Fin de setq (command "_.pline" Pt_Deb_Fle "_w" 0 Larg Pt_Pied_Fle "_w" 0 0 Pt_Fin_Fle "") ) ;_ Fin de defun
-
Exactement... Regarder aussi ceux qui se chargent avec le lancement d'AutoCAD : "_appload" puis, le bouton "Contenu..."
-
Voici le lisp complet de (gile) adapté à tes besoins : ;;; ************************************ ;;; Encadrement d'un texte ou Mtexte ;;; ************************************ (defun c:GC_EncadreMText () ;;;Défini les quatre coins du MText de (gile) (princ "\nDéfini les quatre coins du MText de (gile)") (defun mxv (m v) (mapcar (function (lambda (r) (apply '+ (mapcar '* r v)))) m)) (setq elst (entget (car (entsel "\nChoisir le texte :")))) (if (= "MTEXT" (cdr (assoc 0 elst))) (setq nor (cdr (assoc 210 elst)) ref (trans (cdr (assoc 10 elst)) 0 nor) rot (angle '(0 0 0) (trans (cdr (assoc 11 elst)) 0 nor)) wid (cdr (assoc 42 elst)) hgt (cdr (assoc 43 elst)) jus (cdr (assoc 71 elst)) org (list (cond ((member jus '(2 5 8)) (/ wid -2)) ((member jus '(3 6 9)) (- wid)) (T 0.0) ) ;_ Fin de cond (cond ((member jus '(1 2 3)) (- hgt)) ((member jus '(4 5 6)) (/ hgt -2)) (T 0.0) ) ;_ Fin de cond ) ;_ Fin de list plst (mapcar (function (lambda (p) (mapcar '+ org p))) (list (list (- 0.1) (- 0.1)) (list (+ wid 0.1) (- 0.1)) (list (+ wid 0.1) (+ hgt 0.1)) (list (- 0.1) (+ hgt 0.1)) ) ;_ Fin de list ) ;_ Fin de mapcar ) ;_ Fin de setq (setq box (textbox elst) ref (cdr (assoc 10 elst)) rot (cdr (assoc 50 elst)) plst (list (list (- (caar box) 0.1) (- (cadar box) 0.1)) (list (+ (caadr box) 0.1) (- (cadar box) 0.1)) (list (+ (caadr box) 0.1) (+ (cadadr box) 0.1)) (list (- (caar box) 0.1) (+ (cadadr box) 0.1)) ) ;_ Fin de list ) ;_ Fin de setq ) ;_ Fin de if (setq mat (list (list (cos rot) (- (sin rot)) 0) (list (sin rot) (cos rot) 0) '(0 0 1)) ;_ Fin de list plst (mapcar (function (lambda (p) (mapcar '+ (mxv mat p) (list (car ref) (cadr ref)))) ;_ Fin de lambda ) ;_ Fin de function plst ) ;_ Fin de mapcar ) ;_ Fin de setq (setq Pt1 (list (car (nth 0 plst)) (cadr (nth 0 plst)))) (setq Pt2 (list (car (nth 1 plst)) (cadr (nth 1 plst)))) (setq Pt3 (list (car (nth 2 plst)) (cadr (nth 2 plst)))) (setq Pt4 (list (car (nth 3 plst)) (cadr (nth 3 plst)))) (command "_.pline" Pt1 Pt2 Pt3 Pt4 Pt1 "") ;; (princ "...Fin") (princ) ) ;_ Fin de defun
-
D'après-moi, c'est bien cette ligne qui devrait fonctionner : (setq elst (car (entsel "\nSelectionner le texte :")))
-
Ou alors, peut-être juste ça : (setq elst (entget (car (entsel "\nChoisis le texte :"))))
-
Je n'arrive pas à expliquer cette erreur qui se pose toujours là où on ne l'attend pas... Comprend pô...
-
De rien... Essaye avec (setq elst (car (entsel "\nSelectionner le texte :")))
-
Ok, voici la version 2.6 avec 2 décimales pour l'altitude.
-
Pas grave... Voici la version 2.5 sui prend en compte la dernière altitude saisie.
-
Je pensais qu'il fallait mettre "XXXX.XX" quand rien n'était rentré...
-
C'est déjà fait... En partie... Je ne comprend vraiment pas pourquoi ça ne fonctionne pas... ? ? ?
-
Bizarre... Commente la ligne "(setvar "clayer" "0")" vers la fin du Lisp pour voir...
-
Oops... Ça, c'est normal, et de ma faute. OptionIns est vide... Mais ça : C'est carrément pas normal... Rien dans cette routine ne fait appel à "clayer"... Je pense qu'il y a une erreur ailleurs que dans mes codes ou qu'un autre code interfère avec... Il faut regarder dans toutes les routines qui sont chargées au démarrage d'AutoCAD...
-
Salut. On va essayer un truc, écris un texte multiligne dans AutoCAD, et juste après, tapes "EncadreMText" en ligne de commande...
-
Salut didier... J'ai pourtant lancer le formatage automatique du code, et je n'ai rien trouvé. Mais je suis encore novice en la matière, comme tu le sais déjà. J'ai posté le code car il fonctionne chez moi. Pour ça, il faut dire des conneries, et je ne t'en connais pas à ton actif... ;) Bon, là, on est samedi soir, et j'arrête l'entrainement... A lundi... B)
-
De rien... C'est comme le sport, un entrainement n'est jamais superflu... Voici donc la version 2.3 avec la commande "EncadreMText" que tu pourras utiliser depuis d'autres lisp, juste après avoir créé ce "Text" ou "MText"
-
Salut. J'ai créé la commande "DH_Fleche" pour que tu puisses l'utiliser autrement. Voici donc la version 2.2 à télécharger... J'ai placé en commentaire les lignes qui, je pense, déconnaient...
-
[Humour à la con : On] Comme il l'a dit aussi après neuf bières un soir de grand vent : Merde ! ! Je me suis encore pissé sur les sandales ! ! [Humour à la con : Off] Ben quoi, on n'est en week-end, non ?
-
Les fichiers que j'ai mis à télécharger en message 139 (wouaouw ! !) devraient fonctionner seuls... Télécharge le lisp, charge-le avec la commande "load" et lance "Hydro8_Poly"... Que ce passe t'il ?
-
Alors il faut recharger ET mon fichier .lsp, ET le tien...
-
Pas de problèmes... Combien de décimales veux-tu, car il faut un nombre de décimales, au moins le même que définies dans "ddunits".
-
Il y a d'autres lisp qui s'exécutent à l'ouverture d'un dessin, c'est peut-être eux qui restent "lancés" et qui posent problème... Ça je n'y peux rien... la commande "c:bb" n'est pas à moi...
-
C'est curieux, il est à la suite dans le fichier ? ? ? Tu le charges avec la commande "load" ?
-
Voici mon fichier .lsp et le résultat dans un .dwg : télécharger
