Aller au contenu

Pline_block arrondi


jalna

Messages recommandés

Bonjour,

Cela fait longtemps que je ne suis plus venu sur le forum (beaucoup trop de boulot...)

Veuillez m'en excuser!!

 

Je reviens avec le lisp de (gile)

 

;;; Pline_bloc -Gilles Chanteau- 13/09/06
;;; Insère le bloc "pline_block" après sélection d'une polyligne
;;; Attribut 1 : Nom de la pièce
;;; Attribut 2 : Aire de la polyligne

(vl-load-com)
(defun c:pline_block (/ AcDoc Space bloc nom ent aire long ins)
(setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object))
Space (if (= (getvar "CVPORT") 1)

(vla-get-PaperSpace AcDoc)
(vla-get-ModelSpace AcDoc)
)
)
(cond
((tblsearch "BLOCK" (setq bloc "Pline_block")))
((findfile (setq bloc "Pline_block.dwg")))
(T (setq bloc nil))
)
(if bloc
(progn
(while (not (setq ent (car (entsel)))))
(if (= (cdr (assoc 0 (entget ent))) "LWPOLYLINE")
(progn
(setq obj (vlax-ename->vla-object ent)
id (vla-get-ObjectID obj)
aire (strcat "%<\\AcObjProp Object(%<\\_ObjId "
(itoa id)
">%).Area \\f \"%lu2%pr2%ps%ct8[0.0001]\">%"
)
)
(if (not (setq nom (getname)))
(setq nom "")
)
(initget 1)
(setq ins (trans (getpoint "\nPoint d'insertion: ") 1 0))
(setq ref
(vla-InsertBlock
Space
(vlax-3d-point ins)
bloc
1.0
1.0
1.0
0.0
)
)
(mapcar '(lambda (x y) (vla-put-TextString x y))
(vlax-invoke ref 'GetAttributes)
(list nom aire)
)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(and
(vl-catch-all-error-p
(vl-catch-all-apply
'vla-item
(list (vla-get-Layers AcDoc)
"TEXTE-SURFACES"
)
)
)
(vla-add (vla-get-Layers AcDoc)
"TEXTE-SURFACES"
)
)
(vla-put-Layer ref "TEXTE-SURFACES")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(vla-regen AcDoc acActiveViewport)
)
(alert "L'objet sélectionné n'est pas une polyligne.")
)
)
(alert "Le bloc \"Pline_block\" est introuvable.")
)
(princ)
)

 

Alors j'ai une question simple pour les lispeurs!!

Comment faire pour arrondir le résultat au m²

Exemple:

1.26m² (doit passer à 1.00m²)

1.56m² (doit passer à 2.00m²)

 

Une ligne à rajouter mais ou!!!

Merci

 

"Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."

J-C Van Damme

Lien vers le commentaire
Partager sur d’autres sites

 

Hello Jalna

 

Tu essayes de remplacer la ligne avec le texte .area

par

(STRCAT (RTOS .AREA 2 0) " m²" )

 

Je ne suis pas sur de la syntaxe, malheureusement ! :o

 

Voila "à peu près" la syntaxe pour arrondir au m² ... et produite un truc du genre: "34 m²"

mais comme toi je ne sais pas trop comment l'intégrer dans le prog de Gilles

 

Le Decapode "presque nul en Lisp"

 

 

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Cela fait plaisir de te (revoir) vieux crabe :D :D

Merci ça fonctionne!!!

 

A bientot!

"Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."

J-C Van Damme

Lien vers le commentaire
Partager sur d’autres sites

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é