AzRoDoRzA Posté(e) le 28 août 2019 Posté(e) le 28 août 2019 Hello, Je rencontre un petit problème avec mon programme. En gros, je sélectionne une polyligne, je récupère un OD de celle-ci, puis je sélectionne un point sur mon plan et ça me créer un Mtext avec l'OD. Ca fonctionne parfaitement dans l'onglet Objet, mais dans l'onglet présentation, rien n'apparaît. J'utilise getpoint pour obtenir le point ou placer le text (que je convertit en point 3d). J'ai essayer d'utiliser la fonction "trans" mais en vain. Voici un extrait du code: (setq js (ssget (list '(0 . "LWPOLYLINE,LINE") (cons 67 (if (eq (getvar "CVPORT") 1) 1 0)) (cons 410 (if (eq (getvar "CVPORT") 1) (getvar "CTAB") "Model")) ) ) ) (setvar "TEXTSIZE" 0.4) (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) Space (if (= 1 (getvar "CVPORT")) (vla-get-PaperSpace AcDoc) (vla-get-ModelSpace AcDoc) ) ) (setq obj (ssname js 0) ename (vlax-ename->vla-object obj) pr (* 0.5 (vlax-curve-getEndParam ename)) deriv (vlax-curve-getFirstDeriv ename pr) rtx (- (atan (cadr deriv) (car deriv)) (angle '(0 0 0) (getvar "UCSXDIR"))) ) (if (or (> rtx (* pi 0.5)) (< rtx (- (* pi 0.5)))) (setq rtx (+ rtx pi))) (setq pt (getpoint "\nOu voulez vous placer le texte ?")) (setq nw_obj (if(/= (ade_odgetfield (ssname js 0) "infoPoly" "typeCable" 0) nil) (vla-addMtext Space (vlax-3d-point pt) 0.0 (ade_odgetfield (ssname js 0) "infoPoly" "typeCable" 0)) ) (mapcar '(lambda (pr val) (vlax-put nw_obj pr val) ) (list 'AttachmentPoint 'Height 'DrawingDirection 'InsertionPoint 'StyleName 'Layer 'Rotation 'BackgroundFill) (list 5 (getvar "TEXTSIZE") 5 pt "Standard" calque rtx 0) ) Bon j'ai raccourci le code pour ne mettre que les informations utiles donc j'ai peut être oublié des variables, mais le plus important est là, pourquoi rien n'apparaît dans mon onglet présentation alors que dans mon onglet objet ça fonctionne parfaitement ? Citer
Messages recommandés