Aller au contenu

Messages recommandés

Posté(e)

bonjour

 

grace aux "LISPIENS" ici present, ils se reconnaitrons

 

j'ai récuperé ca sur le site, ca permet de lire une propriété personnalisée

 

mais quelle est la solution pour l'ecrire dans le fichier *.dwg ?

la meme chose en version "PUT" et non "GET"

 

est ce que je remplace les "GET" par "PUT" dans le lisp ?? ( trop facile ??? )

 

 (defun gc:GetCustomByKey (key / val)
 (vl-catch-all-apply
   '(lambda ()
      (vla-GetCustomByKey
 (vla-get-SummaryInfo (vla-get-ActiveDocument (vlax-get-acad-object)))
 key
 'val
      )
    )
 )
 val
)

 

 

 (DEFUN c:test44 ()
(setq toto (gc:GetCustomByKey "DATE P1"))
)

 

 

a+

 

phil

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)

Bonjour,

 

Je te propose ceci :

 

(defun SetCustomByKey (key val)
(vl-load-com)
(not
	(vl-catch-all-apply
		'(lambda ()
			(vla-SetCustomByKey
			(vla-get-SummaryInfo (vla-get-ActiveDocument (vlax-get-acad-object)))
			key
			val
			)
		)
	)
)
)

 

Utilisation :

 

(setq toto (SetCustomByKey "DATE P1" "31/03/2011"))

 

toto sera T si la propriété "DATE P1" a pu être modifiée, nil sinon (si la propriété n'existe pas par ex.).

 

 

 

[Edité le 31/3/2011 par bryce]

Posté(e)

Salut,

 

Le vla-SetCustomByKey ne marche que si la clé existe déjà.

 

Si elle n'existe pas, il faut passer par un vla-AddCustomInfo.

 

 

Dans mon cas, je me sers des propriétés personnalisées que

pour stocker le NGF du niveau.

 

Tous pour lisp, Lisp pour tous!

Avec Revit, cela ne vas trop vite...

Posté(e)

En aparté,

 

Pensez à contrôler le titre de votre sujet (fautes de frappe, orthographe), ceci pour favoriser les recherches ultérieures.

 

Déjà que la recherche n'est pas top sur CadXp, mais si il faut penser à rentrer "claques" pour avoir des résultats sur calques, ou "proprité" pour propriété, on s'en sort plus .... :P

 

C'est dommage car des réponses pertinentes vont passer à la trappe. :(

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)
En aparté,

 

Pensez à contrôler le titre de votre sujet (fautes de frappe, orthographe), ceci pour favoriser les recherches ultérieures.

 

Déjà que la recherche n'est pas top sur CadXp, mais si il faut penser à rentrer "claques" pour avoir des résultats sur calques, ou "proprité" pour propriété, on s'en sort plus .... :P

 

C'est dommage car des réponses pertinentes vont passer à la trappe. :(

 

J'essaye de faire ce genre de correction en plus de supprimer les doublons, formater les codes dans les bbcodes, ...

Mais avec les difficultés à se connecter à CADxp ces temps-ci, je crains que je ne finisse par laisser tomber ces corvées de 'modérateur'...

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

BONSOIR

 

merci a tous

 

pour ne pas que ca bug

j'ai opter a l'ouverture du fichier de renseigner les propriétés avec "vla-AddCustomInfo"

si elle n'existe pas , il l'ajoute, sinon elle passe sans buguer

 

 

puis dans un deuxieme tps de modifier les propriétés avec "vla-GetCustomByKey"

si besoin est

 

ce qui fait que l'on a pas besoin de verifier si la propriété existe ou pas pour choisir entre "vla-AddCustomInfo" ou "vla-GetCustomByKey"

 

pour ce qui est du TITRE "proprité personnalisée"

désolé pour la faute de frappe

et merci de l'avoir et pouvoir la corriger

 

surtout quand on a pas une page blanche à la validation de notre message, sans savoir si celui ci a été pris en compte par le serveur

mais ca on en a déja débatu je crois ici

 

merci

 

a+

 

phil

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)

Voici une fonction qui renseigne la propriété si elle existe, ou si elle n'existe pas la crée et la renseigne. :)

 

(defun bs:SetCustomProp (key val / summ)
 (vl-load-com)
 (or 
   (not
     (vl-catch-all-apply
       '(lambda ()
         (vla-SetCustomByKey
         (setq summ (vla-get-SummaryInfo (vla-get-ActiveDocument (vlax-get-acad-object))))
         key
         val
         )
       )
     )
   )
   (not
     (vl-catch-all-apply
       '(lambda ()
         (vla-AddCustomInfo summ key val)
       )
     )
   )
   nil
 )
)

 

 

 

[Edité le 31/3/2011 par bryce]

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é