Fraid Posté(e) le 8 août 2005 Posté(e) le 8 août 2005 Bonjour, je souhaite déplacer le point d'insertion d'un bloc.je sais le faire avec refedit en deplacant les objets, le point reste sur place mais n'y a t'il pas un moyen plus pratique? merci https://github.com/Fraiddd
Tramber Posté(e) le 8 août 2005 Posté(e) le 8 août 2005 Tapes BASE mais dans le bloc en tant que fichier (après un WBLOC) avant de le ré-insérer Sinon, le mieux (au sein d'un dessin), c'est d'exploser et de resaisir ! Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Fraid Posté(e) le 9 août 2005 Auteur Posté(e) le 9 août 2005 merci Tramber, mais le probleme est que je viens de récuperer un plan georeferencé (les coordonnées du plan sont les coordonnés lamber) avec une grande quantité de blocs déssiné a l'arrache avec un nom barbare et leur points n'importe ou. pour les noms la commande rename marche tres bien.pour les points d'insertion c'est la galereen plus si je fais un zoom tout vous imaginer le resultat si un bloc a son point d'insertion au 0,0j'ai plus de 150 blocs a refaires.voila si quelqu'un a une solution lispienne je serai eventuelement interressé merci https://github.com/Fraiddd
jifi Posté(e) le 9 août 2005 Posté(e) le 9 août 2005 Salut, Je ne sais pas si en lisp il est possible de faire quelque chose, mais en attendant, regarde le sujet de discussion ci-dessous, et bonne chance. :( http:// http://www.cadxp.com/modules.php?op=modload&name=XForum&file=viewthread&tid=6429#pid22912 Le jour où les gens auront compris comment créer des blocs sera un jour béni. :P A+ Jean-Philippe - Formateur / Dessinateur sur AutoCAD et MEP http://www.git-cad.ch
Patrick_35 Posté(e) le 9 août 2005 Posté(e) le 9 août 2005 SalutVoici un lisp que te redéfinis le point de base au centre de ton bloc (il faut bien partir sur quelque chose) sur tout tes blocs @+(defun c:rbl(/ bl dec_x dec_y ent ents mip map modif_ent) (vl-load-com) (vla-startundomark (vla-get-activedocument (vlax-get-acad-object))) (setq bl (tblnext "block" t)) (while bl (if (/= (logand (cdr (assoc 70 bl)) 16) 16) (progn (setq Ent (vla-insertblock (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point '(0.0 0.0 0.0)) (cdr (assoc 2 bl)) 1 1 1 0)) (vla-getboundingbox Ent 'Mip 'Map) (setq Dec_x (/ (+ (car (vlax-safearray->list Mip)) (car (vlax-safearray->list Map))) 2)) (setq Dec_y (/ (+ (cadr (vlax-safearray->list Mip)) (cadr (vlax-safearray->list Map))) 2)) (setq Ents (vlax-safearray->list (vlax-variant-value (vla-explode Ent)))) (vla-delete Ent) (entmake (list (cons 0 "block") (cons 2 (cdr (assoc 2 bl))) (cons 70 64) (cons 10 '(0.0 0.0 0.0)))) (foreach Ent Ents (vla-move Ent (vlax-3d-point (list Dec_x Dec_y 0.0)) (vlax-3d-point '(0.0 0.0 0.0))) (setq Modif_Ent (entget (vlax-vla-object->ename Ent))) (setq Modif_Ent (vl-remove (assoc -1 Modif_Ent) Modif_Ent)) (setq Modif_Ent (vl-remove (assoc 5 Modif_Ent) Modif_Ent)) (setq Modif_Ent (vl-remove (assoc 330 Modif_Ent) Modif_Ent)) (entmake Modif_Ent) (vla-delete Ent) ) (entmake '((0 . "endblk"))) ) ) (setq bl (tblnext "block")) ) (vla-regen (vla-get-activedocument (vlax-get-acad-object)) acActiveViewport) (vla-endundomark (vla-get-activedocument (vlax-get-acad-object))) (princ) ) 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 9 août 2005 Auteur Posté(e) le 9 août 2005 Trop fort patrickmerci 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