miamar Posté(e) le 7 janvier 2005 Posté(e) le 7 janvier 2005 Bonjour, J'ai déjà posté cette question et j'aimerai savoir si pour les polylignes courbes il n'y a pas de solutions, je n'ai pas eu de réponses la-dessus. Merci beaucoup
bonuscad Posté(e) le 7 janvier 2005 Posté(e) le 7 janvier 2005 Salut Miamar, J'ai planché un peu sur ce ce genre de fonction (un peu similiaire à la fonction EXTRIM des ExpressTools) Voici le code qu'il en résulte:Est-ce une bonne approche?, je n'en sais rien !Si tu veux t'en inspirer et le modifier..... (defun c:plsel ( / ) (while (null (setq ent (entsel "\nChoix de la Polyligne: ")))) (setq typent (cdr (assoc 0 (setq dxf_ent (entget (car ent)))))) (cond ((or (eq typent "LWPOLYLINE") (eq typent "POLYLINE")) (vl-load-com) (setq obj_vlax (vlax-ename->vla-object (car ent)) param_start (vlax-curve-getStartParam obj_vlax) param_end (vlax-curve-getEndParam obj_vlax) perim_obj (vlax-curve-getDistAtParam obj_vlax (+ param_start param_end)) pt_start (vlax-curve-getStartPoint obj_vlax) pt_end (vlax-curve-getEndPoint obj_vlax) ) (initget 6) (setq res_track (getdist (cadr ent) (strcat "\nDistance de résolution<" (rtos (/ perim_obj 100.0)) ">: ")) last_e (entlast) old_osmd (getvar "osmode") old_pdmd (getvar "pdmode") ) (if (not res_track) (setq res_track (/ perim_obj 100.0))) (setq l_pt (list pt_start) lg 0.0) (while (< (+ lg res_track) perim_obj) (setq l_pt (cons (vlax-curve-getPointAtDist obj_vlax (setq lg (+ lg res_track))) l_pt)) ) (setq l_pt (cons pt_end l_pt)) (command "_.erase" (ssget "_WP" l_pt) "") (setq n (float (length l_pt))) (command "_.pline" (mapcar 'command l_pt)) (setq e_tmp (entlast)) (command "_.offset" (/ res_track 2.0) e_tmp (list (/ (apply '+ (mapcar 'car l_pt)) n) (/ (apply '+ (mapcar 'cadr l_pt)) n)) "" ) (setq l_fence (mapcar 'cdr (vl-remove-if '(lambda (x) (/= (car x) 10)) (entget (entlast))))) (entdel (entlast)) (entdel e_tmp) (command "_.trim" ent "" (ssget "_F" l_fence) "") ) ) (prin1) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
miamar Posté(e) le 10 janvier 2005 Auteur Posté(e) le 10 janvier 2005 ça marche pas tout à fait, mais l'idée est peut être à explorer, quoi que cette question de dégré de précision n'est pas une bonne idée. il y a peut être mieux à explorer. Serge Camiré a fait une qui marche bien pour les polylignes rectilignes, mais elle ne prend pas en compte les arcs et les courbes. J'ai lu dans un de ses messages qu'il en avait fait une pour les courbes aussi mais je ne sais pas où. Bonne continuation
Serge Posté(e) le 10 janvier 2005 Posté(e) le 10 janvier 2005 miamar, Je vais chercher dans mes archives. Serge
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