Aller au contenu

axelmartinfr

Membres
  • Compteur de contenus

    3
  • Inscription

  • Dernière visite

Tout ce qui a été posté par axelmartinfr

  1. y'a pas à dire, trop fort. J'espère avoir l'occasion de te renvoyer l'appareil (vu mes connaissance en lisp, ca va être dur tout de même). Merci A+
  2. merci pour ta rapidité, je vais l'essayer de suite
  3. Bonjour à tous, merci infiniment pour l'aide que vous avez pu m'apporter (certe sans le savoir)jusqu'à présent. Aujourd'hui, un nouveau défi (pour moi, mais certainement pas pour vous). Je souhaite faire une étiquette à attribut renseignée automatiquement lorsqu'on clique sur une ligne ou polyligne. Les renseignements récupérés sont l'aire, la longueur, ou pourquoi pas le nom du calque en plus. Pour ce faire, j'ai récupéré le lisp pline_block accompagné de son bloc type sur ce forum que j'adapte en fonction de mes besoins (renseignements à sous-tirer). Pour rappel "Pline_Block" : [surligneur] ;;; Pline_bloc -Gilles Chanteau- 04/09/06 ;;; Insère le bloc "pline_block" après sélection d'une polyligne ;;; Attribut 1 : Nom de la pièce ;;; Attribut 2 : Longueur de la polyligne ;;; Attribut 3 : Aire de la polyligne (defun c:pline_block (/ AcDoc Space bloc nom ent aire long ins) (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) Space (if (= (getvar "CVPORT") 1) (vla-get-PaperSpace AcDoc) (vla-get-ModelSpace AcDoc) ) ) (cond ((tblsearch "BLOCK" (setq bloc "Pline_block"))) ((findfile (setq bloc "Pline_block.dwg"))) (T (setq bloc nil)) ) (if bloc (progn (while (not (setq ent (car (entsel))))) (if (= (cdr (assoc 0 (entget ent))) "LWPOLYLINE") (progn (setq obj (vlax-ename->vla-object ent) id (vla-get-ObjectID obj) long (strcat "%<\\AcObjProp Object(%<\\_ObjId " (itoa id) ">%).Length>%" ) aire (strcat "%<\\AcObjProp Object(%<\\_ObjId " (itoa id) ">%).Area \\f \"%lu6%qf1\">%" ) ) (initget 1) (setq nom (getstring T "\nNom de la pièce: ")) (initget 1) (setq ins (trans (getpoint "\nPoint d'insertion: ") 1 0)) (setq ref (vla-InsertBlock Space (vlax-3d-point ins) bloc 1.0 1.0 1.0 0.0 ) ) (mapcar '(lambda (x y) (vla-put-TextString x y)) (vlax-invoke ref 'GetAttributes) (list nom long aire) ) (vla-regen AcDoc acActiveViewport) ) (alert "L'objet sélectionné n'est pas une polyligne.") ) ) (alert "Le bloc \"Pline_block\" est introuvable.") ) (princ) ) [/surligneur] Le problème se présente au moment ou j'insère le bloc. En effet celui-ci se met toujours avec la même rotation. La question est donc la suivante, peut-on m'aider à modifier le lisp pour q'au moment de choisir le pooint d'insertion du bloc, je puisse également choisir son angle de rotation. Sur ces bonnes paroles, merci d'avance pour le temps consacré.
×
×
  • 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é