Aller au contenu

Decimale d\'un attribut


chris_mtp

Messages recommandés

Bonjour à tous,

 

Je ne sais pas si ca existe en tout cas j'ai cherché de partout et je n'ai pas trouvé pour l'instant.

Je cherche une routine qui permet de définir le nombre de décimales d'un attribut Z d'un point type point topo.

Je m'explique, au lieu d'avoir un attribut du type 2.458 avec un bloc point topo à Z=2.458, le lisp doit remplacer la valeur 2.458 par 2.46 à 2 chriffres après la virgule par exemple.

DE même, pour bloc à Z = 2.3012 le lisp doit écrire dans l'attribut altitude 2.30 et non 2.3 tout court.

 

Merci par avance de votre aide.

John.

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

Et par la fonction RTOS xxxx 2 2 :

 

Commande: (setq toto 3.14159)

3.14159

 

Commande: (setq aa (rtos toto 2 0))

"3"

 

Commande: (setq aa (rtos toto 2 2))

"3.14"

 

Le Decapode

 

Bien vu,

 

Avec un petit atoi ...

 

Si il souhaite gérer les arrondis .... ? genre 3.519 -> 3.52 ?

 

Cordialement

Lien vers le commentaire
Partager sur d’autres sites

DE même, pour bloc à Z = 2.3012 le lisp doit écrire dans l'attribut altitude 2.30 et non 2.3 tout court.

 

Pour ceci, si tu utilises la fonction RTOS voir le réglage de la variable DIMZIN.

 

En outre si (RtoS) est utilisé sans paramètre, il est aussi impacté par les variables LUNITS et LUPREC

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Merci pour vos réponses.

J'ai retrouvé dans mes lips une fonction que Gile avait dévelloper pour attribut une valeur à un attribut défini dans un bloc

 

 (defun SetAttValue (blk tag val / lst loop)
 (setq	lst  (entget (entnext blk))
loop (= "ATTRIB" (cdr (assoc 0 lst)))
 )
 (while loop
   (if	(= (strcase tag) (cdr (assoc 2 lst)))
     (progn
(entmod (subst (cons 1 val) (assoc 1 lst) lst))
(setq loop nil)
(entupd blk)
     )
     (setq lst	 (entget (entnext (cdr (assoc -1 lst))))
    loop (= "ATTRIB" (cdr (assoc 0 lst)))
     )
   )
 )
)

 

Mais je ne vois pas comment sélectionner d'une part les attributs de chaque bloc.

Merci par avance de votre aide.

John.

Lien vers le commentaire
Partager sur d’autres sites

Mais je ne vois pas comment sélectionner d'une part les attributs de chaque bloc.

Merci par avance de votre aide.

John.

 

Pour selectionner un attribut en lisp:

 

Par le handle ?

Par le nom d'entité ?

Par sélection à l'écran ?

Par balayage ?

 

Cordialement.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines aprè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 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é