Aller au contenu

Suppression des blancs inutiles dans XDATA


Messages recommandés

Posté(e)

 

Hello

 

En farfouillant sur le Net et les groupes de discussion Autodesk en particulier, j'ai trouvé cette routine (XD_DEL_RIGHT) qui supprime les blancs/espaces INUTILEs à droite des XDATAs !

 

Si vous modifiez le DEFUN C: et aussi bien sur la ligne VLisp contenant :

vl-string-right-trim en vl-string-left-trim

vous aurez une autre version qui supprime les blancs/espaces à gauche !

 

 

;;
;; Erase Space/Blank on the Right of XDATA String 
;;

(vl-load-com)
(defun c:XD_DEL_RIGHT ( / *error* ss cnt xd-list elist 
                 xd ent item newxd xdval doc)

(defun *error* (msg)
 (if doc(vla-endUndoMark doc))
 (princ msg)
)

(if(setq ss(ssget))
 (progn
  (vla-startUndoMark
   (setq doc
    (vla-get-activeDocument
     (vlax-get-acad-object)
    )
   )
  )
  (repeat(setq cnt(sslength ss))
   (setq xd-list '()
         elist    (entget
                   (setq ent
                    (ssname ss
                     (setq cnt(1- cnt))
                    )
                   )
                   (list "*")
                  )
         xd       (cdr(assoc -3 elist))
   )    
   (foreach item xd
    (setq newxd '())
    (foreach xdval item
     (if(listp xdval)
      (setq newxd
       (if(=(car xdval)'1000)
        (cons
         (cons 1000
          (vl-string-right-trim " " (cdr xdval))
         )
         newxd
        )
        (cons xdval newxd)
       )
      )
      (setq newxd(cons xdval newxd))
     )
    )
    (setq xd-list
     (cons
      (reverse newxd)
       xd-list
     )
    )
   )
   (entmod
    (append
     (entget ent)
     (list(cons -3(reverse xd-list)))
    )
   )
  )
  (vla-endUndoMark doc)
 )
)
(princ)
)

 

Le Decapode "farfouilleur"

 

Autodesk Expert Elite Team

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é