Aller au contenu

kentin789

Membres
  • Compteur de contenus

    4
  • Inscription

  • Dernière visite

Tout ce qui a été posté par kentin789

  1. Bonjour, La routine que vous avez créé me conviendrait parfaitement si j'arrivais à la faire fonctionner . Cependant j'ai un problème, lorsque je charge la routine et que je l'exécute, Voila l'erreur qu'il me trouve ; erreur: no function definition: GC:ATTTODYNPROP Pourtant j'ai bien copié le code et remplacé ce qu'il fallait. J'espère que vous pourrez m'aider. Merci ;; gc:GetDynProps ;; Retourne la liste des propriétés dynamiques de la référence de bloc ;; sous la forme d'une liste de paire pointées (PropertyName . DynamicBlockProperty) ;; ;; Argument ;; bref : référence de bloc (vla-object) (defun gc:GetDynProps (bref / lst) (foreach p (vlax-invoke bref 'getDynamicBlockProperties) (setq lst (cons (cons (vla-get-PropertyName p) p) lst)) ) (reverse lst) ) ;; gc:GetAttributes ;; Retourne la liste des attributs de la référence de bloc ;; sous la forme d'une liste de paire pointées (TagString . AttributeReference) ;; ;; Argument ;; bref : référence de bloc (vla-object) (defun gc:GetAttributes (bref / lst) (foreach att (vlax-invoke bref 'GetAttributes) (setq lst (cons (cons (vla-get-TagString att) att) lst)) ) (reverse lst) ) ;; gc:AttToDynProp ;; Attribut à chaque propriété dynamique de la liste la valeur de l'attribut correspondante ;; ;; Arguments ;; bref : référence de bloc (vla-object) ;; lst : une liste de paires pointées (TagString . PropertyName) (defun :gc:AttToDynProp (bref lst / atts props att prop) (setq atts (gc:GetAttributes bref) props (gc:GetDynProps bref) ) (foreach p lst (if (and (setq att (assoc (car p) atts)) (setq prop (assoc (cdr p) props)) ) (vl-catch-all-apply '(lambda (/ typ) (setq typ (vlax-variant-type (vla-get-Value (cdr prop)))) (cond ((< 1 typ 4) (vla-put-Value (cdr prop) (atoi (vla-get-TextString (cdr att)))) ) ((< 3 typ 6) (vla-put-Value (cdr prop) (atof (vla-get-TextString (cdr att)))) ) ((= 8 typ) (vla-put-Value (cdr prop) (vla-get-TextString (cdr att))) ) ) ) ) ) ) ) (defun c:test (/ lst ss) (vl-load-com) (or *acad* (setq *acad* (vlax-get-acad-object))) (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument *acad*))) (setq lst '( ("LONGUEUR" . "Longueur") ) ) (if (ssget '((0 . "INSERT") (66 . 1))) (progn (vlax-for bref (setq ss (vla-get-ActiveSelectionSet *acdoc*)) (gc:AttToDynProp bref lst) ) (vla-Delete ss) ) ) (princ) )
  2. Merci pour ta réponse =) Je me doutais que ça allé être compliqué. Merci pour les sites je vais m'y mettre de suite. Si à tous hasard tu as une partie du code je suis preneur A+ =)
  3. Bonjour, Après pas mal de recherche tous me ramène à la création d'un lisp, cependant je n'y connais rien .... Voila dans l'idéal, je souhaiterais pouvoir créer un lisp qui me permette d'aller chercher un bloc dynamique dans une bibliothèque et lors de l'insertion de ce bloc, j'aimerais pouvoir définir les paramètres dynamique de mon bloc ( les différentes longueurs ) mais également pouvoir l’insérer avec des coordonnés bien précise ( en X et Y). Voila j'espère que vous allez pouvoir m'aider. je suis preneur de toutes les idées possibles pour arriver ce résultat. Merci
  4. Bonjour, je me permet de commenter ce poste car je pense qu'il correspond aux attentes que j'ai besoins mais je dois avouer que je n'arrive pas a mettre cette routine lisp en application pour mon cas. Voila dans l'idéal, je souhaiterais pouvoir créer un lisp qui me permette d'aller chercher un bloc dynamique dans une bibliothèque et lors de l'insertion de ce bloc, j'aimerais pouvoir définir les paramètres dynamique de mon bloc ( les différentes longueurs ) mais également pouvoir l’insérer avec des coordonnés bien précise ( en X et Y). Voila j'espère que vous allez pouvoir m'aider. je suis preneur de toutes les idées possibles pour arriver ce résultat. Merci
×
×
  • 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é