See the top rated post in this thread. Click here

Results 1 to 3 of 3

Thread: Un champ (fied) imbriqué dans un autre

  1. #1
    I could stop if I wanted to
    Join Date
    2002-08
    Posts
    231
    Login to Give a bone
    0

    Unhappy Un champ (fied) imbriqué dans un autre

    Bonjour,

    J'ai réalisé un champ imbriqué, mais un problème m'enquiquine.

    Pour illustrer mon propos, je vous propose de tracer une ligne et d'appliquer le code d'essai suivant pour créer le champ. Il prend la longueur de l'objet et rajoute 2 valeurs en diesel. (10+5+longueur)

    ((lambda ( / )
    (vl-load-com)
    (princ "\nSélectionner une ligne.")
    (while (null (setq js (ssget "_+.:E:S" '((0 . "LINE"))))))
    (setq obj_vlax (vlax-ename->vla-object (ssname js 0)))
    (setq
    AcDoc (vla-get-ActiveDocument (vlax-get-acad-object))
    Space
    (if (= 1 (getvar "CVPORT"))
    (vla-get-PaperSpace AcDoc)
    (vla-get-ModelSpace AcDoc)
    )
    )
    (initget 1)
    (vla-addMtext
    Space
    (vlax-3d-point (trans (getpoint "\nPoint d'insertion du champ: ") 1 0))
    0.0
    (strcat
    "%<\\AcDiesel $(+,10,5,"
    "%<\\AcObjProp Object(%<\\_ObjId "
    (itoa (vla-get-ObjectID obj_vlax))
    ">%).Length>%"
    ")>%"
    )
    )
    ))

    Si le champ est bien créé, le problème vient que si je déplace un sommet, et que j'utilise METTREAJOURCHAMP (_updatefield), il me signale bien que 2 champ ont été trouvés et mis à jour.
    Le problème c'est que la valeur n'est pas mis à jour (ni lors d'une sauvegarde et réouverture ultérieure)
    Cependant si je double-clique sur le champ pour entrer dans l'éditeur de Texte-Multiligne et que je fais un click-droit (avec le curseur sur le champ, pas en dehors) pour obtenir le menu contextuel dans lequel je choisis "Mettre à jour le champ".
    Grâce à cette manip. le champ dans ce cas se met à jour.

    Comment faire pour mettre à jour ce champ simplement sans rentrer dans l'éditeur de texte.

    La question n'est pas simple et risque de rester sans réponse, surtout que ça à l'air d'être un dysfonctionnement de la commande _updatefield....
    Une piste?

    Merci déjà de m'avoir lu.

  2. #2
    Member
    Join Date
    2009-11
    Posts
    2
    Login to Give a bone
    1

    Default Re: Un champ (fied) imbriqué dans un autre

    Essai avec ce lisp :

    (defun c:az (/)
    (setq ss (ssget "_x" '((8 . "XXXXX"))))
    (command "_.updatefield" ss "")

    XXXX = nom du calque où sont les champs

    A +++

    phil_vsd

  3. #3
    I could stop if I wanted to
    Join Date
    2002-08
    Posts
    231
    Login to Give a bone
    0

    Lightbulb Re: Un champ (fied) imbriqué dans un autre

    Merci de ton aide,

    J'ai bien essayé ta suggestion, mais cela ne résous pas le problème.

    Sache que depuis mon 1er post, j'ai trouvé la solution.
    (il vaut mieux, dans le cas là, utiliser "AcExpr" que "AcDiesel")

    Donc en remplaçant par
    (strcat
    "%<\\AcExpr ("
    (rtos 10.0 2 (getvar "LUPREC"))
    " + "
    (rtos 5.0 2 (getvar "LUPREC"))
    " + "
    "%<\\AcObjProp Object(%<\\_ObjId "
    (itoa (vla-get-ObjectID obj_vlax))
    ">%).Length>%) \\f \"%lu6\">%"
    )

    dans le code exemple du 1er post, cela fonctionne très bien.

    Sujet résolu pour le lecteur de par ta réponse.

Similar Threads

  1. 2015: Volume in situ et toit que je veux copier dans un autre projet.....
    By ph.herrmann in forum Revit Architecture - General
    Replies: 6
    Last Post: 2015-06-09, 09:37 PM
  2. 2015: retrouver la valeur d'un champ dans tous les types.
    By bast.jean380633 in forum Revit Architecture - Tips & Tricks
    Replies: 11
    Last Post: 2015-05-07, 07:45 AM
  3. Replies: 0
    Last Post: 2015-03-20, 11:47 AM
  4. 2014: Etiquette allège dans un angle autre que horizontal ou vertical
    By batproj in forum Revit Architecture - General
    Replies: 2
    Last Post: 2013-10-21, 04:56 PM
  5. ''link'' dans un autre fichier
    By rachidqc in forum Revit Architecture - General
    Replies: 1
    Last Post: 2008-07-15, 02:44 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •