Fraid Posté(e) le 13 juillet 2006 Posté(e) le 13 juillet 2006 bonjour, J'ai un client qui me demande des attributs sur chaque point d'un relevé topo le bloc devrai etre constituer d'un point et d'un texte donnant l'altitude les points et les textes sont deja en place dans le dessin les points se trouvent a une distance comprise entre 0.11 et 0.12 evidement j'en ais des centaines par plan et beaucoup de plans y a t'il une solution simple? :exclam: https://github.com/Fraiddd
Patrick_35 Posté(e) le 13 juillet 2006 Posté(e) le 13 juillet 2006 SalutRegarde ce sujet Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Fraid Posté(e) le 17 juillet 2006 Auteur Posté(e) le 17 juillet 2006 merci j'ai bien chargé Attributs_ini.lsp mais aprés j'ai pas trop compris comment sa marche :P il semblerai qu'il faut deja des blocs inserer a chaque pts ?? en plus j'ai pas le temps d'essayer de comprendre je suis partit en manuel a plus https://github.com/Fraiddd
Patrick_35 Posté(e) le 17 juillet 2006 Posté(e) le 17 juillet 2006 Regarde la réponse N°4, tout est expliqué @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Fraid Posté(e) le 17 juillet 2006 Auteur Posté(e) le 17 juillet 2006 justement c'est bien l'explication que je n'arrive pas a comprendre faut'il qu'il y est deja les blocs inserer?? https://github.com/Fraiddd
Patrick_35 Posté(e) le 17 juillet 2006 Posté(e) le 17 juillet 2006 Oui et non, il est possible de l'insérer, et les coordonnées du bloc s'inscrivent automatiquement dans les attributs @+ [Edité le 17/7/2006 par Patrick_35] Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Fraid Posté(e) le 18 juillet 2006 Auteur Posté(e) le 18 juillet 2006 rebonjour, j'ai créer un bloc xy avec un attribut ayant l'etiquette Eti_Zj'ai beau activer la mise a jour des blocs en tappant mptcela ne change rien y a t'il encore manip? https://github.com/Fraiddd
Patrick_35 Posté(e) le 18 juillet 2006 Posté(e) le 18 juillet 2006 SalutBouge le bloc voir si l'attribut se met à jour @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Fraid Posté(e) le 18 juillet 2006 Auteur Posté(e) le 18 juillet 2006 :P toujours rien https://github.com/Fraiddd
Patrick_35 Posté(e) le 18 juillet 2006 Posté(e) le 18 juillet 2006 C'est que le bloc n'est pas pris en compteJ'ai refait un test en attendant et ça fonctionne correctementJ'ai juste changé (setq Nom_bloc "ETICDC" Eti_X "CDC" Eti_Y "SOL" Eti_Z "NGF"), c'est un bloc que j'ai pris au hazard daons mon dessin Il faut d'abord charger le lisp (avec _appload par exemple) puis lancer la commande pour activer les réacteurs --> mptSi tu souhaites pour une raison ou une autre désactiver les réacteurs, tu fais la commande spt @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Fraid Posté(e) le 20 juillet 2006 Auteur Posté(e) le 20 juillet 2006 en attendant de mieux compremdre j'ai un bout de code qui me sert a inerer des blocs a chaque point (defun C:TOBLOC()(setq nom (getstring "\nNom du bloc à inserer : "))(setq sel (ssget "x" ' ((0 . "POINT"))))(setq n 0)(repeat (sslength sel)(setq ent (ssname sel n))(progn(setq calque-ent (cdr(assoc 8 (entget ent))))(setvar "CLAYER" calque-ent)(command "_insert" nom (cdr(assoc 10 (entget ent))) "1" "1" "0")(setq n (+ 1 n))))) mais malheureusement sa marche pas avec des blocs contenant des attributs j'aurai peut etre du poster cela chez les lispeurs .... https://github.com/Fraiddd
bonuscad Posté(e) le 20 juillet 2006 Posté(e) le 20 juillet 2006 Fraid, ceci ferait-il l'affaire ((lambda ( / sel n ent) (if (not (tblsearch "LAYER" "Altitudes")) (entmake '((0 . "LAYER") (100 . "AcDbSymbolTableRecord") (100 . "AcDbLayerTableRecord") (2 . "Altitudes") (70 . 0) (62 . 7) (370 . -3) (6 . "Continuous") ) ) ) (if (not (tblsearch "STYLE" "TCPOINT")) (entmake '((0 . "STYLE") (5 . "40") (100 . "AcDbSymbolTableRecord") (100 . "AcDbTextStyleTableRecord") (2 . "TCPOINT") (70 . 0) (40 . 0.0) (41 . 1.0) (50 . 0.0) (71 . 0) (42 . 0.75) (3 . "simplex.shx") (4 . "") ) ) ) (if (not (tblsearch "BLOCK" "TCPOINT")) (progn (entmake '((0 . "BLOCK") (8 . "0") (2 . "TCPOINT") (70 . 2) (4 . "") (8 . "0") (62 . 0) (6 . "ByBlock") (370 . -2) (10 0.0 0.0 0.0)) ) (entmake '( (0 . "POINT") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (62 . 0) (6 . "ByBlock") (370 . -2) (100 . "AcDbPoint") (10 0.0 0.0 0.0) (210 0.0 0.0 1.0) ) ) (entmake '( (0 . "ATTDEF") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "Altitudes") (62 . 0) (6 . "ByBlock") (370 . -2) (100 . "AcDbText") (10 0.25 0.0 0.0) (40 . 0.75) (1 . "0.00") (50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . "TCPOINT") (71 . 0) (72 . 0) (11 0.25 0.75 0.0) (210 0.0 0.0 1.0) (100 . "AcDbAttributeDefinition") (3 . "Altitude ?:") (2 . "Z_POINT") (70 . 0) (73 . 0) (74 . 3) ) ) (entmake '((0 . "ENDBLK") (8 . "0") (8 . "0") (62 . 0) (6 . "ByBlock") (370 . -2))) ) ) (setq sel (ssget "_X" (list (cons 0 "POINT") (cons 67 (if (eq (getvar "CVPORT") 2) 0 1)) (cons 410 (if (eq (getvar "CVPORT") 2) "Model" (getvar "CTAB"))) ))) (cond (sel (setvar "attdia" 0) (setvar "cmdecho" 0) (setq n 0) (repeat (sslength sel) (setq ent (ssname sel n)) (progn (setvar "CLAYER" (cdr (assoc 8 (entget ent)))) (command "_.-insert" "TCPOINT" "_none" (cdr (assoc 10 (entget ent))) "1" "1" "0" (rtos (cadddr (assoc 10 (entget ent))) 2 3)) (setq n (+ 1 n)) ) ) (command "_.erase" sel "") (setvar "attdia" 1) (setvar "cmdecho" 1) ) ) (prin1) )) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Fraid Posté(e) le 20 juillet 2006 Auteur Posté(e) le 20 juillet 2006 merci bonus cad mais j'ai beau remplacer lambda par un defun c:machin sa veut pas marcher :P [Edité le 20/7/2006 par Fraid] https://github.com/Fraiddd
bonuscad Posté(e) le 20 juillet 2006 Posté(e) le 20 juillet 2006 ((lambda (... / ... )...)) est à remplacer par(defun c:trucmuch (... / .. )...) Un couple de paranthèse en moins ;) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Patrick_35 Posté(e) le 20 juillet 2006 Posté(e) le 20 juillet 2006 (getstring "\nNom du bloc à inserer : ")) --> Doit correspondre avec Nom_blocEt c'est la même chose en ce qui concerne les étiquettes @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Fraid Posté(e) le 20 juillet 2006 Auteur Posté(e) le 20 juillet 2006 genial j'ai pu le tripoter pour regler la hauteur du texte et sa position encore merci, surtout que c'est pour des plans deja facturésalors repasser du temps la dessus sa me prenais la tete vive le lisp et cadxp https://github.com/Fraiddd
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