MNT Posté(e) le 15 mai 2003 Posté(e) le 15 mai 2003 Bonjour,Je cherche à inverser sens de construction d'une polyligne@+ Le Hamac est une science exacte qui ne tolère pas l'amateurisme.
Aldabra Posté(e) le 15 mai 2003 Posté(e) le 15 mai 2003 Salut, Copie le code suivant dans un fichier lisp (extension .lsp), charge le et exécute la commande INVSENS. J'ai fait des tests, ça a l'air de gazer... Mais à confirmer ! Précision : ça marche sur les LWPOLYLINE et ya pas de test sur l'entité que tu sélectionnes : gaffe à la gamelle ! A+ (defun c:invsens() (if (null (setq v1 (car (entsel)))) (exit) ) (command "annuler" "m") ; parcours pour récupérer les points (setq v2 (entget v1) v3 nil v4 nil) (foreach v5 v2 (if (= (car v5) 10) ; point (setq v3 (append v3 (list v5))) (if (= (car v5) 42) ; rayon de courbure (setq v4 (append v4 (list (cons 42 (* -1.0 (cdr v5)))))) ) ) ) ; inversion (setq v3 (reverse v3) v4 (reverse v4)) ; bidouille pour remettre dans le bon ordre les rayons de courbure (setq v9 (car v4) v4 (append (cdr v4) (list v9))) (setq v6 nil v7 0) (foreach v5 v2 (if (= (car v5) 10) (setq v6 (append v6 (list (nth v7 v3)))) (if (= (car v5) 42) (setq v6 (append v6 (list (nth v7 v4))) v7 (1+ v7)) (setq v6 (append v6 (list v5))) ) ) ) (entmake v6) (entdel v1) (command "annuler" "f") (princ))
MNT Posté(e) le 16 mai 2003 Auteur Posté(e) le 16 mai 2003 Impeccable,je te remercieBon WK Le Hamac est une science exacte qui ne tolère pas l'amateurisme.
Aldabra Posté(e) le 16 mai 2003 Posté(e) le 16 mai 2003 Salut MNT Pas de quoi, j'adore le lisp et le problème était intéressant... Si ça t'intéresse, on peut l'améliorer, faire boucler la commande, la faire tourner sur un jeu de sélection ou un calque. Si ça t'intéresse, fais me le savoir. A+
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