Mitch-51100 Posté(e) le 17 août 2005 Posté(e) le 17 août 2005 Bonjour à tous,j'aimerai faire un reperage rapide et récuperer le nom du bloc que je repère.dois je automatiquement créer un prog (lisp, vba, script) ou y'a t'il une petite bidouille plus simpleMerci
Tramber Posté(e) le 17 août 2005 Posté(e) le 17 août 2005 utilise cette macro :^C^C(cdr(assoc 2(entget(car(entsel))))), glissée dans un bouton. Ou alors, utilise Bubble de Mcneels, c'est gratuit : http://www.bubblecad.com/ Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Mitch-51100 Posté(e) le 18 août 2005 Auteur Posté(e) le 18 août 2005 Merci pour ta réponse Tramber, mais ce qui m'interesse c de recuperer le nom de bloc et de l'associer a une ligne de reperage en tant que texte.
bonuscad Posté(e) le 18 août 2005 Posté(e) le 18 août 2005 Dans le même esprit que la réponse de Tramber, mais développé dans ton sens: (defun c:lead_block-name ( / ent dxf_ent typ_ent blk_name pt_lst pt) (while (null (setq ent (entsel "\nChoix de l'entité: ")))) (setq dxf_ent (entget (car ent)) typ_ent (cdr (assoc 0 dxf_ent)) ) (if (eq typ_ent "INSERT") (progn (setq blk_name (cdr (assoc 2 dxf_ent)) pt_lst (list (trans (cdr (assoc 10 dxf_ent)) (car ent) 1)) ) (while (setq pt (getpoint (car pt_lst) "\nIndiquez le point suivant: ")) (setq pt_lst (cons pt pt_lst)) ) (command "_.leader") (foreach n (reverse pt_lst) (command n)) (command "" blk_name "") ) (princ "\nEntité n'est pas une insertion de bloc!") ) (prin1) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Mitch-51100 Posté(e) le 18 août 2005 Auteur Posté(e) le 18 août 2005 Merci bonuscad c tout à fait ce qu'il me fallait!merci à vs deux pour votre aide
iowa13 Posté(e) le 29 août 2011 Posté(e) le 29 août 2011 je reviens vers vous concernant ce lisp, mais, j'ai une petite questionY-a-t'il possibilité de changer le point d'origine du nom du bloc, c'est à dire qu'au lieu que le nom du bloc parte de l'origine du bloc, il parte de la ou l'on clic sur le bloc.? (car parfois, dans mon cas, il faut que je déplace la flèche et le texte) je sais pas si je me fais comprendre. par avance merci
lili2006 Posté(e) le 29 août 2011 Posté(e) le 29 août 2011 Bonjour à toutes et tous, Pas sur d'avoir bien compris, :casstet: As-tu essayé les lignes de repères avec bloc ? Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
iowa13 Posté(e) le 29 août 2011 Posté(e) le 29 août 2011 justement, c'est un mélange des 2.le principe des lignes de repères qui permet de mettre le repère la ou on veut, et la "puissance" du lisp pour donner le nom du bloc pour la ligne de repère, on clique la ou on veut et on écrit le nom du bloc ou autre chose. pour le lisp, on clique sur le nom du bloc et il nous place le repère sur l'origine du bloc (et on a pas le choix de l'emplacement. je voudrais un mélange des 2 on clic sur le bloc la ou on veut et il nous ecrit le nom du bloc....
bonuscad Posté(e) le 30 août 2011 Posté(e) le 30 août 2011 Y-a-t'il possibilité de changer le point d'origine du nom du bloc, c'est à dire qu'au lieu que le nom du bloc parte de l'origine du bloc, il parte de la ou l'on clic sur le bloc.? Bonjour, Changes l'expression pt_lst (list (trans (cdr (assoc 10 dxf_ent)) (car ent) 1)) par pt_lst (list (osnap (trans (cadr ent) (car ent) 01) "_near")) Si la sélection se fait sur un texte ou un attribut constituant du bloc, pour que le code fonctionne, on peut l'envisager sous cette forme: (defun c:lead_block-name ( / ent dxf_ent typ_ent blk_name pt_lst pt) (while (null (setq ent (entsel "\nChoix de l'entité: ")))) (setq dxf_ent (entget (car ent)) typ_ent (cdr (assoc 0 dxf_ent)) ) (if (eq typ_ent "INSERT") (progn (setq blk_name (cdr (assoc 2 dxf_ent)) pt_lst (osnap (trans (cadr ent) (car ent) 0) "_near") ) (if (not pt_lst) (setq pt_lst (list (osnap (trans (cadr ent) (car ent) 0) "_ins"))) (setq pt_lst (list pt_lst)) ) (while (setq pt (getpoint (car pt_lst) "\nIndiquez le point suivant: ")) (setq pt_lst (cons pt pt_lst)) ) (command "_.leader") (foreach n (reverse pt_lst) (command "_none" n)) (command "" blk_name "") ) (princ "\nEntité n'est pas une insertion de bloc!") ) (prin1) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
iowa13 Posté(e) le 30 août 2011 Posté(e) le 30 août 2011 c'est absolument génialmercisujet clos pour moi
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