bonuscad Posté(e) le 11 août 2011 Posté(e) le 11 août 2011 Bonjour, Aujourd'hui je devais renseigner une cinquantaine de présentations (comportant une seule fenêtre) avec le nom de la présentation et l'échelle de la fenêtre.Il va s'en dire que je n'avais pas envie de me palucher 50 onglet en répétitif. Je me suis donc écris une procédure à l'arrache pour effectuer cela.C'est du brute de pomme, adapté à mon besoin, mais cela reste (je pense) facilement modifiable si vous voulez réaliser quelque de similaire.Je donne le code de base pour ceux qui seraient intéressé. (defun make_field (obj / pt nw_obj) (setq pt (list 2.15031 103.032 0.0) nw_obj (vla-addMtext Space (vlax-3d-point pt) 0.0 (strcat "{\\fArial|b0|i0|c0|p34;" "%<\\AcVar ctab>%" " - 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) ) ) (defun c:Field_Layout_Scale ( / AcDoc Space js) (vl-load-com) (foreach n (layoutlist) (setvar "CTAB" n) (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) Space (vla-get-PaperSpace AcDoc) ) (setq js (ssget "_X" (list '(0 . "VIEWPORT") '(67 . 1) (cons 410 n) ) ) ) (make_field (ssname js 0)) ) (prin1) ) NB: Le masque du Mtext est ici actif, le style en Arial fixé en interne, justification HG et de largeur 0.0. La variable pt du point d'insertion (ici fixe pour chaque présentation)L'unité pour l'échelle est le mètre: "%<\\AcExpr (1000/" Bonne adaptation. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
VDH-Bruno Posté(e) le 13 août 2011 Posté(e) le 13 août 2011 Bonjour, Merci pour le partage, c’est en effet une bonne source d’inspiration. Au passage quelqu’un connaitrait il un descriptif assez complet sur la syntaxe constituant les champs.. (Et les textes multi-lignes). Ou une méthode autre que l’expérimentation et le tâtonnement. A+ Apprendre => Prendre => Rendre
Messages recommandé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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant