Aller au contenu

Contour avec texte surface


Messages recommandés

Posté(e)

Peut-tu m'envoyer ce dessin s'il te plait, j'aimerais bien démêler ce truc... ;)

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

  • Réponses 206
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Meilleurs contributeurs dans ce sujet

Images postées

Posté(e)

Je ne comprend pas, chez moi, ça fonctionne correctement... ? ? ?

 

Peut-être une variable AutoCAD ? ? ?

 

C'est dommage, j'ai fais ça pour rien.... Enfin, ça m'a permis de connaitre les xdata...

 

Désolé de ne pas pouvoir t'aider plus...

 

Peut-être qu'un autre membre de CadXP pourra le faire... :huh:

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Posté(e)

Je ne pense pas qu'une telle variable existe...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Posté(e)

Par ce que en gros il créé le contour mais bloque au niveau de l'insertion du texte, du coup il va falloir que je cherche dans ce coin.

 

Edit : l'incrémentation ne se fait pas non plus.

Posté(e)

Une petite question, lors du lancement de ma routine, je créé un style de texte nommé "Surface".

 

Ce style a la police "Arial" et n'a pas de hauteur définie.

 

Est-ce le cas chez toi ? Tout est dans :

  (if (not (tblsearch "style" "Surface"))
   (command "-style" "Surface" "arial.ttf" "" "" "" "" "" "")
 ) ;_ Fin de if
 (command "textstyle" "Surface")

Tu peux tenter avec une police déjà créée, mais qui n'a pas de hauteur de définie...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Posté(e)

J'ai essayé de supprimer carrément la partie :

 

  (if (not (tblsearch "style" "Surface"))
   (command "-style" "Surface" "arial.ttf" "" "" "" "" "" "")
 ) ;_ Fin de if
 (command "textstyle" "Surface")

 

Mais cela n'a rien changé.

 

Par contre quand je commente cette ligne :

 

(SetXdataForApplication (entlast) "Matri" (list (cons 1000 xMatri)))

 

Je passe d'une erreur après création contour à une erreur lors de l'insertion du texte, j'ai donc gagné une étape.

Posté(e)

Ok donc quand je commente les deux lignes comme ça :

 

    (setq xMatri (strcat PrefixIncrement (itoa ValIncrement)))
   ;;;(SetXdataForApplication (entlast) "Matri" (list (cons 1000 xMatri)))
   (setq xSurf (rtos (getpropertyvalue (entlast) "Area") 2 1))
   ;;;;(SetXdataForApplication (entlast) "Surf" (list (cons 1000 xSurf)))

 

Je peux créer le contour et insérer le texte.

 

PS : il y a t'il un moyen de recharger une lisp sans redémarrer autocad ?

Posté(e)

Je pense que je crois que c'est peut-être un oubli éventuel de ma part...

 

Copie/colle ce code à la fin de ton fichier lisp et recharge-le :

;;; *******************************
;; GetXdataForApplication de (gile)
;; Retourne la liste des données étendues pour l'application
;;
;; Arguments
;; ename   : nom d'entité de l'objet auquel les données sont attachées
;; appName : nom de l'application enregistrée
(defun GetXdataForApplication (ename appName)
 ;;(princ "\nxData=")
 ;;(princ (cdadr (assoc -3 (entget ename (list appName)))))
 (cdadr (assoc -3 (entget ename (list appName))))
) ;_ Fin de defun
;;; *******************************
;; SetXdataForApplication de (gile)
;; Affecte à l'objet la liste des données étendues pour l'application
;;
;; Arguments
;; ename   : nom d'entité de l'objet auquel les données sont attachées
;; appName : nom de l'application enregistrée
;; data    : liste de paires pointées contenant les données
(defun SetXdataForApplication (ename appName data)
 (or (tblsearch "APPID" appName) (regapp appName))
 (entmod (append (entget ename) (list (list -3 (cons appName data)))))
)

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Posté(e)

Il faut utiliser l'éditeur AutoCAD pour éditer les Lisp.

 

Après, tu peux directement charger le Lisp grace à un icone, un petit rectangle oblique avec une flèche qui descend.

 

Tu as tout d'expliqué ici...

 

Tu peux aussi taper la commande : AppLoad.

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Posté(e)

Ok merci pour cette information.

 

Concernant les lisp :

 

- quand j'insère le texte, il y a la lettre du préfix mais pas le nombre. Par exemple 13b1 devient b1 lors de l'insertion. La fois d'après il y a bien 13b2.

 

- est-il possible de ne pas effectué d'export à chaque contour mais que quand on utilise le lisp liste ?

Posté(e)

- quand j'insère le texte, il y a la lettre du préfix mais pas le nombre. Par exemple 13b1 devient b1 lors de l'insertion. La fois d'après il y a bien 13b2.

Je regarde...

 

- est-il possible de ne pas effectué d'export à chaque contour mais que quand on utilise le lisp liste ?

Tu peux supprimer ces 5 lignes :

    (setq Fichier (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4)))
   (setq Fichier (strcat (getvar "dwgprefix") Fichier ".Surf"))
   (setq FichierEcrit (open Fichier "a"))
   (write-line (strcat PrefixIncrement (itoa ValIncrement) " = " xSurf) FichierEcrit)
   (close FichierEcrit)

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Posté(e)

J'ai trouvé pour le dernier problème, la valeur incrémentée était comprise dans la hauteur du texte ;)

 

Edit : du coup je vois pas comment faire sans espace

Posté(e)

Petite question d'un débutant super chiant, est ce possible avant de cliquer sur un point pour le texte, de demander une option parmis 4 qui fera varier le texte derrière "IGN" ?

Posté(e)

C'est faisable, Quels sont les quatre options ?

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Posté(e)

Entre les altitudes/sans Profondeur/sans Hauteur/sans Limite

 

J'ai essayé de rajouter :

 

    (SetXdataForApplication (entlast) "Surf" (list (cons 1000 xSurf)))
   ;;
       (setq Option1 (getkword
                   (strcat "\nOption du texte [Entre les altitudes/sans Profondeur/sans Hauteur/sans Limite] <Entre les altitudes> : ") ;_ Fin de strcat
                 ) ;_ Fin de getkword
   ) ;_ Fin de setq
   (cond ((= Option1 "Entre les altitudes")
   (setvar ign "Entre les altitudes XX et XX")
   
  )
   (setq Pt_Ins (getpoint "\nCliquer l'emplacement du texte :")) ;_ Fin de setq
   (setq MText (strcat "\\H0.53" PrefixIncrement (itoa ValIncrement) "\\P\\H0.38S=" xSurf "m²\\PIGN" ign))

 

Mais ça ne fonctionne pas.

Posté(e)

Attend, confirme-moi le choix doit être :

  • altitudes
  • sans Profondeur
  • sans Hauteur
  • sans Limite

 

Et faut-il choisir à chaque contour ?

 

Si tout est bon, je tenterai ça cet après-midi...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Posté(e)

Bon, je pense avoir compris.

 

Remplace vers le début du code (vers la ligne 15) :

    (setq Pt_Ins (getpoint "\nCliquer l'emplacement du texte :")) ;_ Fin de setq
   (setq MText (strcat "\\H1.2" PrefixIncrement (itoa ValIncrement) "\\P\\H1S=" xSurf "m²\\PING"))

Par :

    (setq Pt_Ins (getpoint "\nCliquer l'emplacement du texte :")) ;_ Fin de setq
   (initget "Altitudes sansProfondeur sansHauteur sansLimite")
   (setq Option3 (getkword
                   (strcat "\nChoix des textes [Altitudes/sansProfondeur/sansHauteur/sansLimite] <Altitudes> : ") ;_ Fin de strcat
                 ) ;_ Fin de getkword
   )
   (cond ((= Option3 "Altitudes") (setq Opt3 "Altitudes"))
         ((= Option3 "sansProfondeur") (setq Opt3 "sans profondeur"))
         ((= Option3 "sansHauteur") (setq Opt3 "sans hauteur"))
         ((= Option3 "sansLimite") (setq Opt3 "sans limite"))
         (T (setq Opt3 "Altitudes"))
         )
   (setq MText (strcat "\\H1.2" PrefixIncrement (itoa ValIncrement) "\\P\\H1S=" xSurf "m²\\P" Opt3))

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Posté(e)

C'est super, exactement ça :)

 

Dernière question (je l'espère), comment éviter la concatenation des chiffres dans :

 

(setq MText (strcat "\\H1.2" PrefixIncrement (itoa ValIncrement) "\\P\\H1S=" xSurf "m²\\PIGN : " Opt3))

 

\\H1.2 et PrefixIncrement sont mis ensemble du coup la hauteur du texte prend le préfix dedans.

Posté(e)

Essaye ça :

(setq MText (strcat "\\H1.2\\A1" PrefixIncrement (itoa ValIncrement) "\\P\\H1S=" xSurf "m²\\PIGN : " Opt3))

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Posté(e)

Autre astuce, et qui fera plus "joli" :

(setq MText (strcat "\\H1.2\\o" PrefixIncrement (itoa ValIncrement) "\\o\\P\\H1S=" xSurf "m²\\PIGN : " Opt3))

 

Attention, je n'ai rien testé...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Posté(e)

J'ai testé ça, et le résultat est plutôt pas mal :

(setq MText (strcat "\\H1.2\\L" PrefixIncrement (itoa ValIncrement) "\\l\\P\\H1S=" xSurf "m²\\P" Opt3))

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

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é