PHILPHIL Posté(e) le 31 mars 2011 Posté(e) le 31 mars 2011 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
bryce Posté(e) le 31 mars 2011 Posté(e) le 31 mars 2011 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] Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
bseb67 Posté(e) le 31 mars 2011 Posté(e) le 31 mars 2011 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 quepour stocker le NGF du niveau. Tous pour lisp, Lisp pour tous!Avec Revit, cela ne vas trop vite...
bonuscad Posté(e) le 31 mars 2011 Posté(e) le 31 mars 2011 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
(gile) Posté(e) le 31 mars 2011 Posté(e) le 31 mars 2011 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
PHILPHIL Posté(e) le 31 mars 2011 Auteur Posté(e) le 31 mars 2011 BONSOIR merci a tous pour ne pas que ca bugj'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 frappeet 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 serveurmais 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
bryce Posté(e) le 31 mars 2011 Posté(e) le 31 mars 2011 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] Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
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