Patrick_35 Posté(e) le 11 décembre 2009 Partager Posté(e) le 11 décembre 2009 Bonjour Voici une nouvelle version de RINS qui doit fonctionner normalement avec des blocs miroités.Merci de tester si tout fonctionne correctement.J'ai bidouillé et cela me chagrine car rien à faire avec les matrices. Malgré les excellentes explications de (gile), ça coince toujours. (defun c:rins(/ bl dec deh doc ech ent js n nom nom_bl lst1 lst2 pt rep rota uni) (defun rota(pt bas rot / lay lck po) (setq lay (vla-item (vla-get-layers doc) (getvar "clayer"))) (and (eq (vla-get-lock lay) :vlax-true) (setq lck T) (vla-put-lock lay :vlax-false) ) (setq po (vla-addpoint (if (eq (getvar "cvport") 1) (vla-get-paperspace doc) (vla-get-modelspace doc) ) (vlax-3d-point pt) ) ) (vla-rotate po (vlax-3d-point bas) rot) (setq pt (vlax-get po 'coordinates)) (vla-delete po) (and lck (vla-put-lock lay :vlax-true)) pt ) (defun nom_bl(bl) (if (vlax-property-available-p bl 'effectivename) (vla-get-effectivename bl) (vla-get-name bl) ) ) (vl-load-com) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (if (ssget (list (cons 0 "INSERT"))) (progn (vlax-for bl (setq js (vla-get-activeselectionset doc)) (or (member (setq nom (nom_bl bl)) lst2) (setq lst1 (cons bl lst1) lst2 (cons nom lst2) ) ) ) (vla-delete js) (initget "Oui Non _Yes _No") (setq rep (getkword "\nDésirez-vous conserver l'emplacement actuel des blocs : ")) (or rep (setq rep "Oui") ) (foreach ent (reverse lst1) (vla-highlight ent :vlax-true) (while (not (setq pt (getpoint "\nVeuillez sélectionner son nouveau point de base : ")))) (vla-highlight ent :vlax-false) (setq bl (vla-item (vla-get-blocks doc) (setq nom (nom_bl ent))) dec (mapcar '- (rota (trans pt 1 0) (vlax-get ent 'insertionpoint) (- (vlax-get ent 'rotation))) (vlax-get ent 'insertionpoint)) ) (if (< (vlax-get ent 'xscalefactor) 0) (setq dec (list (- (car dec)) (cadr dec) (caddr dec))) ) (setq deh (mapcar '/ dec (list (abs (vlax-get ent 'xscalefactor)) (abs (vlax-get ent 'yscalefactor)) (abs (vlax-get ent 'zscalefactor))))) (vlax-put bl 'origin (mapcar '+ (vlax-get bl 'origin) deh)) (if (ssget "x" (list (cons 0 "INSERT") (cons 2 (strcat nom ",`**")))) (progn (vlax-for ent (setq js (vla-get-activeselectionset doc)) (and (eq rep "Oui") (eq (strcase (nom_bl ent)) (strcase nom)) (progn (setq dec (mapcar '* (rota deh '(0.0 0.0 0.0) (vlax-get ent 'rotation)) (list (abs (vlax-get ent 'xscalefactor)) (abs (vlax-get ent 'yscalefactor)) (abs (vlax-get ent 'zscalefactor))))) (vlax-put ent 'insertionpoint (mapcar '+ (vlax-get ent 'insertionpoint) dec)) (if (< (vlax-get ent 'xscalefactor) 0) (vlax-put ent 'insertionpoint (polar (vlax-get ent 'insertionpoint) (vlax-get ent 'rotation) (* (abs (vlax-get ent 'xscalefactor)) 2 (distance '(0.0 0.0 0.0) deh)))) ) ) ) ) (vla-delete js) (princ (strcat "\nModification du point de base pour le bloc \"" nom "\" effectué.")) ) ) ) ) (princ "\nPas de bloc de sélectionné.") ) (vla-endundomark doc) (princ) ) @+ [Edité le 11/12/2009 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
lecrabe Posté(e) le 11 décembre 2009 Partager Posté(e) le 11 décembre 2009 Hello Non ca decale toujours des que il y a un miroir sur les blocsDonc avec X = -1 (Y=+1) ou avec X = -xx.xx (dans ce cas bien sur Y = xx.xx) Sorry, Le Decapode Autodesk Expert Elite Team Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patrick_35 Posté(e) le 11 décembre 2009 Auteur Partager Posté(e) le 11 décembre 2009 Merci lecrabe pour tes tests. Je n'avais pas pensé au poin t de base sur un bloc miroitéCe devrai être bon maintenant. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824 Lien vers le commentaire Partager sur d’autres sites More sharing options...
lili2006 Posté(e) le 11 décembre 2009 Partager Posté(e) le 11 décembre 2009 Bonjour à toutes et tous, Je ne suis pas sû d'avoir bien compris l'utilisation, ou il existe encore quelques pbs,... je vous laisse juger : Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patrick_35 Posté(e) le 11 décembre 2009 Auteur Partager Posté(e) le 11 décembre 2009 Salut lili Ce n'est pas un problème avec les attributs. Une synchro suffit.C'est quand un bloc a subit un miroir (facteur echelle x négatif par exemple) que le bloc ne se repositionne pas correctement à sa place.Et je n'ai pas encore réussi à résoudre correctement ce bug. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824 Lien vers le commentaire Partager sur d’autres sites More sharing options...
lili2006 Posté(e) le 11 décembre 2009 Partager Posté(e) le 11 décembre 2009 Re, Oui Patrick_35, Comme ça ? => Après un p'tit coup de _battman, je me suis rendu compte que je racontais n'importe quoi,.... ;) :cool: (facteur echelle x négatif par exemple) C'est à dire ? Là, par contre, j'ai du mal à voir,... Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/ Lien vers le commentaire Partager sur d’autres sites More sharing options...
lecrabe Posté(e) le 11 décembre 2009 Partager Posté(e) le 11 décembre 2009 Hello Je suis fatigue cet AP ! :) Mes blocs SANS attributs, je les synchronise avec ??? :o Le Decapode "en attente du WE" Autodesk Expert Elite Team Lien vers le commentaire Partager sur d’autres sites More sharing options...
lionelS Posté(e) le 7 mars 2014 Partager Posté(e) le 7 mars 2014 Bonjour, Je déterre le post car je n'arrive pas à mettre la main sur le Lisp "RINS" de patrick en dernière version, même sur son blog. Quelqu'un pourrait il le mettre en partage quelque part svp? Ca ensoleillera ma journée! Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
salvanorigatore Posté(e) le 7 mars 2014 Partager Posté(e) le 7 mars 2014 Bonjour, Je déterre le post car je n'arrive pas à mettre la main sur le Lisp "RINS" de patrick en dernière version, même sur son blog. Quelqu'un pourrait il le mettre en partage quelque part svp? Ca ensoleillera ma journée! Merci Salut,moi j'ai la version 3.20 mais je ne sais pas si c'est la derniere tu peut la récupérer ici : http://dl.free.fr/i6Km5op6Mj’espère que ta journée sera ensoleillée Moi aussi j'aimerais savoir pourquoi le blog de patrick_35 n'est plus accessible, c'est vraiment dommage et embêtant :( " Celui qui a déplacé la montagne, c'est celui qui a commencé par enlever les petites pierres " Lien vers le commentaire Partager sur d’autres sites More sharing options...
lionelS Posté(e) le 10 mars 2014 Partager Posté(e) le 10 mars 2014 Merci pour ta réponse, ca à même ensoleillée mon weekend ;) Lien vers le commentaire Partager sur d’autres sites More sharing options...
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