Communauté
AutoCAD – tous produits - Français
Bienvenue sur les forums AutoCAD d’Autodesk. Partagez vos connaissances, posez des questions, et explorez les sujets AutoCAD populaires.
annuler
Affichage des résultats de 
Afficher  uniquement  | Rechercher plutôt 
Vouliez-vous dire : 

AutoCAD : inserer la valeur de la surface automatiquement

47 RÉPONSES 47
RÉSOLU
Répondre
Message 1 sur 48
Anonymous
44424 Visites, 47 Réponses

AutoCAD : inserer la valeur de la surface automatiquement

bonjour;

comment inserer la valeur du  resultat du calcul de l'air d'un objet automatiquement, car quand on utilse les outils de mesure de l'air le resultat s'affiche mais on ne peut pas l'inserer a moins de faire un copier coller lde a valeur.

donc ce que je cherche c'est transcrire directement la valeur de l'air de l'objet sur le plan. et si possible pouvoir specifier l'unité par exmple en m².


Le titre du sujet a été modifié par un modérateur pour faciliter la recherche. Titre original: inserer la valeur de la surface automatiquement

47 RÉPONSES 47
Message 21 sur 48
Anonymous
en réponse à: braudpat

Bonjour;

 

Tout d'abord j'aimerais vous remercier pour ce sujet ar il m'a bien aidé.

 

Cependant, je désir faire quelque modification sur ce code pour l'adapter a mes besoins.

 

Ce que je veux:

 

- Supprimer l'encadrement du texte (quand on affiche le résultat un cadre en gris apparait)

 

et aussi l'unité du travail. Merci

 

Message 22 sur 48
Olivier.R
en réponse à: Anonymous

Bonjour Zenda83,

 

Concernant le fond gris, il permet de distinguer les textes simples des champs (textes évolutifs). Le fond ne s'imprime pas mais tu peux désactiver l'affichage en mettent la variable FIELDDISPLAY à 0.

Concernant l'unité, en regardant l'avant dernier message de gloub, tu devrais facilement pouvoir le modifier toi même. D'ailleur tu n'as pas précisé quelle unité tu voulais.

 

Olivier

Message 23 sur 48
Anonymous
en réponse à: CADaSchtroumpf

merci pour ce lisp,

y a t il moyen de modifier à la place de selectionner un point à l'interieur mais selectionner une polyligne car la selection d'un point à l'interieur prend en compte les bibliotheque type lavabo etc...

merci ca serait cool 

Message 24 sur 48
Anonymous
en réponse à: Olivier.R

merci pour ce lisp,

y a t il moyen de modifier à la place de sélectionner un point à l’intérieur mais sélectionner une polyligne car la sélection d'un point à l’intérieur prend en compte les bibliothèques type lavabo etc...

merci ca serait cool
Message 25 sur 48
CADaSchtroumpf
en réponse à: Anonymous

Essayes avec ce code...

 

(vl-load-com)
(defun c:surf_room ( / AcDoc Space js pt_ins htx rtx obj ename nw_obj)
  (setq
    AcDoc (vla-get-ActiveDocument (vlax-get-acad-object))
    Space
    (if (= 1 (getvar "CVPORT"))
      (vla-get-PaperSpace AcDoc)
      (vla-get-ModelSpace AcDoc)
    )
  )
  (cond
    ((null (tblsearch "LAYER" "__ROOM_Field"))
      (vlax-put (vla-add (vla-get-layers AcDoc) "__ROOM_Field") 'color 3)
    )
  )
  (princ "\nSélectionnez un objet fermé")
  (while
    (setq js
      (ssget "_+.:E:S"
        '(
          (-4 . "<OR")
            (-4 . "<AND")
              (0 . "*POLYLINE")
              (-4 . "<AND")
                (-4 . "<NOT") (-4 . "&") (70 . 120) (-4 . "NOT>")
                (-4 . "&") (70 . 1)
              (-4 . "AND>")
            (-4 . "AND>")
            (0 . "CIRCLE")
            (-4 . "<AND")
              (0 . "ELLIPSE")
              (41 . 0.0)
              (42 . 6.283185307179586)
            (-4 . "AND>")
          (-4 . "OR>")
        )
      )
    )
    (initget 1)
    (setq pt_ins (getpoint "\nSpécifiez le point d'insertion du champ: "))
    (if (not htx)
      (progn
        (initget 6)
        (setq htx (getdist pt_ins (strcat "\nSpécifiez la hauteur du champ <" (rtos (getvar "TEXTSIZE")) ">: ")))
        (if htx (setvar "TEXTSIZE" htx))
        (setq htx (getvar "TEXTSIZE"))
      )
    )
    (if (not rtx)
      (if (not (setq rtx (getorient pt_ins "\nSpécifiez l'orientation du champ <0.0>: "))) (setq rtx 0.0))
    )
    (setq
      obj (ssname js 0)
      ename (vlax-ename->vla-object obj)
    )
    (setq
      nw_obj
      (vla-addMtext Space
        (vlax-3d-point (polar (trans pt_ins 1 0) (* pi 0.5) htx))
        0.0
        (strcat
          "{\\fArial|b0|i0|c0|p34;"
          "%<\\AcObjProp.16.2 Object(%<\\_ObjId "
          (itoa (vla-get-ObjectID ename))
          ">%).Area \\f \"%lu2%pr2%ps[S=,"
          "m²]\">%"
        )
      )
    )
    (mapcar
      '(lambda (pr val)
        (vlax-put nw_obj pr val)
      )
      (list 'AttachmentPoint 'Height 'DrawingDirection 'InsertionPoint 'StyleName 'Layer 'Rotation)
      (list 5 (getvar "TEXTSIZE") 5 (polar (trans pt_ins 1 0) (* pi 0.5) htx) "Standard" "__ROOM_Field" rtx)
    )
  )
  (prin1)
)
Message 26 sur 48
da.rivaux
en réponse à: Antonio_Barroca

Merci pour votre partage de la fonctionnalité CHAMP pour le calcul des surfaces de pièces. 

J'ai une question supplémentaires mon unité étant le cm, les surfaces sont donc en cm² et donc illisibles. Avez-vous une solution pour les passer en m²? Merci. 

Message 27 sur 48
Luna1
en réponse à: da.rivaux

@da.rivaux,
Il me semble que @CADaSchtroumpf a donné de nombreuses routines LISP dont une qui fait la conversion entre cm et m²...
Si tu n'utilises pas les routines LISP, mais juste la commande CHAMP, la réponse a également été donnée plus tôt : il s'agit du facteur de conversion lorsque tu cliques sur "Format supplémentaire" dans la boîte de dialogue CHAMP.
Donc il te suffit de faire des maths :
1m = 100cm, soit 1cm = 0,01m
1m² = 1m x 1m = 100cm x 100cm = 10 000cm², soit 1cm² = 1cm x 1cm = 0,01m x 0,01m = 0,0001m²

Donc avec des unités métriques en cm, pour avoir un résultat de surface en m², il te faut multiplier le résultat par 0,0001 ! >w<

Bisous,
Luna
Message 28 sur 48
da.rivaux
en réponse à: Luna1

Merci beaucoup Luna ! ça a fonctionné !! 
Message 29 sur 48
m.dolegala
en réponse à: Luna1

Bonjour, 

est il possible de cumuler des surfaces  avec l'outil champs?

Message 30 sur 48
_Steven_
en réponse à: m.dolegala


@m.dolegala  a écrit :

Bonjour, 

est il possible de cumuler des surfaces  avec l'outil champs?


Bonjour,

 

Pour créer un champ qui indique le cumule de plusieurs aires ?

Procédez comme suit :

 

Tapez la commande champ puis validez > Dans la catégorie de champs Objets, choisissez comme nom de champ, Formule.

Dans l'encart Formule en bas à droite , faite un clic droit puis dans le menu contextuel, allez sur Insérer un champ. Dans la nouvelle fenêtre, dans la catégorie de champs Objets, choisissez Objet puis sélectionnez une première polyligne fermée > OK.

Dans l'encart des formules, un champ apparaîtra. Mettez le signe +, sans espace. Refaite un clic droit > Insérer un champ puis sélectionner une seconde polyligne fermée > OK. Refaite la même opération autant de fois qu'il y a de polylignes fermées à sélectionner.

Une fois que vous avez fini de sélectionner les polylignes dont vous souhaitez cumuler les aires, cliquez sur Evaluer, en bas de l'encart Formule > OK puis insérez le champs dans votre dessin.

Steven

Ce post vous a été utile ? N'hésitez pas à aimer ce post.
Ce post a-t-il répondu à votre question ? Cliquez sur le bouton APPROUVER LA SOLUTION en dessous de la réponse.



« L’homme de bien n’exige pas de l’autre qu’il soit parfait, il l’aide à accomplir ce qu’il a en lui de meilleur. »
Lao Tseu
Message 31 sur 48
braudpat
en réponse à: m.dolegala

Hello @m.dolegala 

 

1) +1 avec @_Steven_  ... Si tu as un ACAD LT !?

C fastidieux mais ca marche !

 

2) Mais si tu as un vrai AutoCAD alors une routine Lisp / VLisp peut venir a ton secrours !?

 

Voir l'excellente routine "AddFields" de Gilles qui permet de cliquer successivement tous les champs dynamiques voulus et quand tu as fini, tu fais un simple Entree / Return et Hop tu inseres / poses le nouveau champ dynamique qui est la somme des valeurs des champs prealablement cliques / selectionnes !

 

Encore MERCI Gilles, La Sante, Bye, Patrice (The Old French EE Froggy)

 

Patrice ( Supporting Troops ) - Autodesk Expert Elite
If you are happy with my answer please mark "Accept as Solution" and if very happy please give me a Kudos (Felicitations) - Thanks

Patrice BRAUD

EESignature


Message 32 sur 48

Bonjour

Je cherche à afficher directement la valeur en m² lorsque je crée une polyligne ou rectangle qui s'ajusterait automatiquement en cas de modification du périmètre.

Je sais qu'il existe un lisp pour cela que j'ai trouvé dans le forum mais je ne sais pas le faire fonctionner.

Je suis sur la version 2023

L'ideal pour moi serait de l'inclure à un calque surfaces qui me permettrait pour chaque espace créé et fermé d'avoir automatiquement sur cette surface l'indication de l'air en m².

Quelqu'un pourrait m'expliquer ?

Merci

Message 33 sur 48
_Steven_
en réponse à: emycoqueletSUUEM

Bonjour @emycoqueletSUUEM,

 

Le sujet actuel étant résolu et étant un peu différent de votre demande, Il aurait été d'usage de créer un nouveau sujet avec votre demande.

 

Aussi, avez-vous tenteé d'utiliser le lisp de @CADaSchtroumpf, ici ?

Aussi, de quel lisp parlez-vous lorsque vous dites que vous avez trouver un lisp sur le forum ?

 


@emycoqueletSUUEM  a écrit :

Bonjour

Je cherche à afficher directement la valeur en m² lorsque je crée une polyligne ou rectangle qui s'ajusterait automatiquement en cas de modification du périmètre.

Je sais qu'il existe un lisp pour cela que j'ai trouvé dans le forum mais je ne sais pas le faire fonctionner.

Je suis sur la version 2023

L'ideal pour moi serait de l'inclure à un calque surfaces qui me permettrait pour chaque espace créé et fermé d'avoir automatiquement sur cette surface l'indication de l'air en m².

Quelqu'un pourrait m'expliquer ?

Merci


 

Steven

Ce post vous a été utile ? N'hésitez pas à aimer ce post.
Ce post a-t-il répondu à votre question ? Cliquez sur le bouton APPROUVER LA SOLUTION en dessous de la réponse.



« L’homme de bien n’exige pas de l’autre qu’il soit parfait, il l’aide à accomplir ce qu’il a en lui de meilleur. »
Lao Tseu
Message 34 sur 48
emycoqueletSUUEM
en réponse à: _Steven_

Je parle bien de cette discussion 

j’ai copié collé dans le bloc note mais je n’ai pas réussi à l’enregistrer sous en .lsp il reste enregistré .txt 

pouvez vous me détailler cette procédure svp ?

Message 35 sur 48
_Steven_
en réponse à: emycoqueletSUUEM


@emycoqueletSUUEM  a écrit :

Je parle bien de cette discussion 

j’ai copié collé dans le bloc note mais je n’ai pas réussi à l’enregistrer sous en .lsp il reste enregistré .txt 

pouvez vous me détailler cette procédure svp ?


Il faut renommer l'extension .txt en .lsp.

Tapez en suite, dans la ligne de commande, APPLOAD. Dans la fenêtre qui s'affiche,, allez cher votre lisp (1) puis cliquez sur CHARGER (2). Si vous souhaitez qu'il se charge à chaque lancement d'AutoCAD et à chaque ouverture d'un dessin, allez sur CONTENU (3) puis ajoutez-le dans le contenu au démarrage. Cliquez sur FERMER (4).

Vous n'avez plus qu'à lancer la commande SURF_ROOM.

 

CHARGER_SIMPLEMENT_UN_LISP.png

Steven

Ce post vous a été utile ? N'hésitez pas à aimer ce post.
Ce post a-t-il répondu à votre question ? Cliquez sur le bouton APPROUVER LA SOLUTION en dessous de la réponse.



« L’homme de bien n’exige pas de l’autre qu’il soit parfait, il l’aide à accomplir ce qu’il a en lui de meilleur. »
Lao Tseu
Message 36 sur 48
emycoqueletSUUEM
en réponse à: _Steven_

Oui mais comment ?

je suis désolée mais j’ai essayé je n’y connais pas grand chose et je galère 

quand je veux l’enregistrer sous 

il me propose que txt ou tout les formats 

 

Message 37 sur 48
_Steven_
en réponse à: emycoqueletSUUEM


@emycoqueletSUUEM  a écrit :

Oui mais comment ?

je suis désolée mais j’ai essayé je n’y connais pas grand chose et je galère 

quand je veux l’enregistrer sous 

il me propose que txt ou tout les formats 

 


A la place de .txt, vous mettez .lsp, manuellement...

Steven

Ce post vous a été utile ? N'hésitez pas à aimer ce post.
Ce post a-t-il répondu à votre question ? Cliquez sur le bouton APPROUVER LA SOLUTION en dessous de la réponse.



« L’homme de bien n’exige pas de l’autre qu’il soit parfait, il l’aide à accomplir ce qu’il a en lui de meilleur. »
Lao Tseu
Message 38 sur 48
emycoqueletSUUEM
en réponse à: _Steven_

Je ne peux pas 

je peux soit cocher txt soit cocher tous les fichiers 

6BA22C80-7E74-4929-8659-591A85C33B4B.jpeg

Message 39 sur 48
emycoqueletSUUEM
en réponse à: _Steven_

Je n’y arrive pas 

je peux soit cocher txt soit cocher tous les fichiers 

6BA22C80-7E74-4929-8659-591A85C33B4B.jpeg

Message 40 sur 48
patrick.emin
en réponse à: emycoqueletSUUEM

Tapez tout simplement surfaces.lsp dans la zone de saisie Nom du fichier


Patrick Emin animateur de la communauté francophone


Vous avez trouvé un message utile? Alors donnez un "J'aime" à ce message!
Votre question a eu une réponse satisfaisante? Voulez vous avoir l'amabilité de cliquer sur le bouton
 APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Signez notre Livre d'Or

Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.

Publier dans les forums  

Autodesk Design & Make Report