Aller au contenu

Messages recommandés

Posté(e)

Par contre, on s'égare un peu du sujet

 

pas du tout ! (ssget '((-3 ("MONAPPLI"))) répond parfaitement à ma demande, mais on ne peut l'utiliser que si on a rajouté des xdata en amont. Et pour ça, il faut avoir quelques outils, sinon ça devient vite indigeste.

 

Amicalement

Vincent

C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme)

C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)

Posté(e)

Hello Les Pros du Lisp

 

Voici une routine interessante (du Grand Maitre Gilles) sur les XDATAs :

 

COPY_XD : Copier les XDATAs depuis 1 Objet Maitre vers N Objets Destination ...

 

MERCI Gilles !

 

LA SANTE (Stay Safe), Bye, lecrabe "triste"

Automne 2020, la retraite

 

 


;; 
;; Copier les XDATAs (Donnees Etendues) d'un objet source vers N objets cible 
;;
;; Routine par GC vs 1.00 - Pour Patrice
;;
;; Commande au clavier :  COPY_XD 
;;
;; Routine identique dans le principe a  COPY_OD  (pour MAP ou CIVIL) 
;;
;; Chargement par :  APPLOAD 
;; 

;; 
;; --- Interrogation Entite/Objet en Lisp ---
;; (entget (car (entsel)) '("*"))
;; 

(vl-load-com) 

(defun c:COPY_XD (/ ss source sdata n apps ent elst cdata)
 (if
   (and
     (setq source (car (entsel "\nSelectionnez l Objet Source (avec Donnees Etendues/XDATAs) : ")))
     (setq sdata (cdr (assoc -3 (entget source '("*")))))
   )
    (progn
      (setq n	  -1
     apps (mapcar 'car sdata)
      )
      (princ "\nSelectionnez les N Objets Cible ... ")
      (if (setq ss (ssget))
 (while	(setq ent (ssname ss (setq n (1+ n))))
   (setq elst  (entget ent '("*"))
	 cdata (cdr (assoc -3 elst))
	 elst  (vl-remove (assoc -3 elst) elst)
   )
   (entmod
     (append elst
	     (list (cons -3
			 (append
			   (vl-remove-if
			     (function
			       (lambda (x)
				 (member (car x) apps)
			       )
			     )
			     cdata
			   )
			   sdata
			 )
		   )
	     )
     )
   )
 )
      )
    )
    (princ
      "\nL Objet selectionne ne contient pas de Donnees Etendues (XDATA) ! "
    )
 ) 

 (princ)
)

Autodesk Expert Elite Team

Posté(e)

Hello Les Pros du Lisp

 

Voici une routine interessante (du Grand Maitre Gilles) sur les XDATAs :

 

XDA : pour voir en DCL (SANS les Modifier) les XDATAs de UNE Entite graphique !

Mais Copier / Coller du Contenu possible ...

 

MERCI Gilles !

 

LA SANTE (Stay Safe), Bye, lecrabe "triste"

Automne 2020, la retraite

 

 


;; XDA par Gilles
;; Affiche une boite de dialogue qui liste les donnees etendues (XDATA) de l'objet selectionne
;; Commande clavier :  XDA

(defun c:xda (/ xd-box tmp file dcl_id ent dlst)
(defun xd-box (dlst)
(setq tmp (vl-filename-mktemp "Tmp.dcl")
file (open tmp "w")
)
(write-line
"XdBox:dialog{label=\"Donnees etendues\";"
file
)
(foreach l dlst
(write-line
(strcat ":boxed_column{label="
(vl-prin1-to-string (car l))
";"
)
file
)
(foreach p (cdr l)
(write-line
(strcat ":edit_box{label=\""
(cond
((= 1000 (car p)) "1000 Chaîne : ")
((= 1002 (car p)) "1002 Accolade : ")
((= 1003 (car p)) "1003 Calque : ")
((= 1004 (car p)) "1004 Binaire : ")
((= 1005 (car p)) "1005 Maintient : ")
((= 1010 (car p)) "1010 Point : ")
((= 1011 (car p)) "1011 Position : ")
((= 1012 (car p)) "1012 Déplacement : ")
((= 1013 (car p)) "1013 Direction : ")
((= 1040 (car p)) "1040 Réel : ")
((= 1041 (car p)) "1041 Distance : ")
((= 1042 (car p)) "1042 Echelle : ")
((= 1070 (car p)) "1070 Entier 16 bits : ")
((= 1071 (car p)) "1071 Entier 32 bits : ")
)
"\";value=\""
(vl-princ-to-string (cdr p))
"\";edit_width=30;}"
)
file
)
)
(write-line "}" file)
)
(write-line "spacer;ok_only;}" file)
(close file)
(setq dcl_id (load_dialog tmp))
(if (not (new_dialog "XdBox" dcl_id))
(exit)
)
(start_dialog)
(unload_dialog dcl_id)
(vl-file-delete tmp)
)

(if
(and
(setq ent (car (entsel)))
(setq dlst (cdr (assoc -3 (entget ent '("*")))))
)
(xd-box dlst)
(alert "Cet objet ne comporte pas de donnees etendues ! ")
) 

(princ)
)  

Autodesk Expert Elite Team

Posté(e)

Bonsoir,

 

Pour la liste des Xdata, on a la même chose dans les Express Tools en moins joli

 

Amicalement, Vincent

C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme)

C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)

Posté(e)

Hello

 

YES 2 commandes :

XDATA pour ajouter un XDATA sur une entité

XDLIST pour lire (Écran Texte F2) les XDATAs de une entité

 

LA SANTE (Stay Safe), Bye, lecrabe "triste"

Automne 2020, la retraite

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é