Aller au contenu

Probl avec un champ dynamique


lecrabe

Messages recommandés

Hello

 

Je suis sans doute fatigue ce soir !?

 

Dans l'espace papier, j'insere un champ dynamique representant l'echelle personnalise d'une fenetre (FMULT/MVIEW)

%%).CustomScale \f "%lu2%qf2816">%

 

Mais en fait j'ai besoin de faire 1000/echelle personnalise (car dessin en M) pour avoir la "vraie" echelle !

et je n'y arrive pas alors que dans un tableau, je realise ce genre de formule sans souci !

Je sais faire x 1000 ( %ct8[1000] ) ou x 0.001 ( %ct8[0.001] ) par un parametre %ct A LA FIN !

MAIS comment faire 1000 / au debut ??

 

Exemple de formule dans un tableau : %%

Donc contenu de la cellule 1000 / B4 ... et ainsi dans une 2eme cellule de mon tableau j'ai la "vraie" echelle

B4 etant bien sur un champ dynamique provenant de l'echelle personnalise ...

 

Je pensais avoir deja reussi ce genre de manipulation mais bon mes vieux neurones faiblissent ...

 

Merci d'avance de votre aide, Bye, lecrabe

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Un vieux sujet, qui je pense pourrait te donner une piste sur la syntaxe.

@bonuscad, je l'avais oublié ce code là, je m'en suis souvent inspiré à l'époque ou tu l'as publié, et dans le cas présent il répond complétement à la demande avec un facteur 1000, merci.

 

@lecrabe, lance le code de bonuscad, édite le champ, c'est l'illustration de la méthode manuel décrite précédement.

 

A+

Apprendre => Prendre => Rendre

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

1) MERCI a VDH-Bruno pour la manipulation HYPER-EVIDENTE : Inserer un champ formule

en saisissant 1000/ puis Inserer un champ sur la propriete d'echelle personnalisee de la fenetre (FMULT/MVIEW)

... En resume : grosse fatigue hier soir ...

 

2) Pour Bonuscad : je n'arrive pas vraiment a exploiter ta routine !

Elle se lance bien MAIS elle place le champ dynamique a un endroit INADEQUAT !?

 

SVP ne pourrait on pas avoir une version (qui ne traite que UNE fenetre que l'on selectionne) , ou on viendrait placer en dynamique en XY (sur le papier) le resultat de ta routine !?

 

Attention aux fonctions mapcar / etc en versions 2015/2016 qui risquent de ne pas marcher si il y a appel au bon vieux "command" mais bon a priori dans ta routine cela semble OK !?

 

 

Merci de votre attention, Bye, lecrabe

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

SVP ne pourrait on pas avoir une version (qui ne traite que UNE fenetre que l'on selectionne) , ou on viendrait placer en dynamique en XY (sur le papier) le resultat de ta routine !?

 

En reprenant le code proposé en lien par BonuCAD, on peut faire quelque chose comme ça..

(defun c:field_Scale_Crabe (/ Space obj pt nw_obj)
 (vl-load-com)
 (setq Space (vla-get-PaperSpace (vla-get-ActiveDocument (vlax-get-acad-object))))
 (cond ((and (setq obj (car (entsel " \nSélectionnez une Fmult: ")))
             (eq "VIEWPORT" (cdr (assoc 0 (entget obj))))
        )
        (initget 1)
        (setq pt     (trans (getpoint "\nPoint d'insertion de l'échelle: ") 1 0)
              nw_obj (vla-addMtext
                       Space
                       (vlax-3d-point pt)
                       0.0
                       (strcat "{\\fArial|b0|i0|c0|p34;"
                               "Echelle 1/"
                               "%<\\AcExpr (1000/"
                               "%<\\AcObjProp Object(%<\\_ObjId "
                               (itoa (vla-get-ObjectID (vlax-ename->vla-object obj)))
                               ">%).CustomScale \\f \"%lu2%qf2816\">%"
                               ") \\f \"%lu2%pr0\">%"
                       )
                     )
        )
        (mapcar '(lambda (pr val) (vlax-put nw_obj pr val))
                (list 'AttachmentPoint 'Height 'DrawingDirection 'InsertionPoint 'StyleName 'Layer 'Rotation 'BackgroundFill)
                (list 1 3.5 5 pt "Standard" "0" 0.0 -1)
        )
       )
       ((princ "\L'entité sélectionnez n'est pas une Fmult...") (c:field_Scale_Crabe))
 )
 (prin1)
)

 

A+

Apprendre => Prendre => Rendre

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é