Pages: 1
- Sujet précédent - Modifier largeur de segment de départ sur une sélection de polylignes? - Sujet suivant
#1 Wed 30 January 2013 11:24
- Charlotte BeTechSud
- Participant occasionnel
- Date d'inscription: 12 Dec 2012
- Messages: 20
Modifier largeur de segment de départ sur une sélection de polylignes?
Bonjour,
Je cherche, sous Autocad 2012 à modifier la largeur de segment de départ d'une sélection de polyligne (largeur départ et fin différentes).
Mais en passant par le biais d'une sélection, je ne peux apparemment modifier que la largeur globale, et apparemment pareil en faisant un PE.
Quelqu'un connaîtrait une astuce?
Merci
Hors ligne
#2 Wed 30 January 2013 11:45
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4822
Re: Modifier largeur de segment de départ sur une sélection de polylignes?
Hello
Malheureusement, il faut un developpement specifique pour ce genre de manipulation !
GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#3 Wed 30 January 2013 11:52
- Charlotte BeTechSud
- Participant occasionnel
- Date d'inscription: 12 Dec 2012
- Messages: 20
Re: Modifier largeur de segment de départ sur une sélection de polylignes?
Merci pour votre réponse!
bonne journée
Hors ligne
#4 Thu 31 January 2013 00:42
- Zef
- Participant occasionnel
- Date d'inscription: 16 Apr 2007
- Messages: 42
Re: Modifier largeur de segment de départ sur une sélection de polylignes?
S'il s'agit d'appliquer une largeur progressive (effilement) entre le premier vertex d'un polyligne puis le dernier de l'intégralité de la polyligne, ça n'est effectivement pas évident puisque les largeurs s'appliquent par segment. Avec du courage PEDIT, Modifier sommet, Epaisseur, Suivant, Epaisseur, Suivant, etc. Et oui cette vieille incohérence de traduction, parfois largeur parfois épaisseur, perdure depuis aussi longtemps que PEDIT existe je pense.
Sinon effectivement un petit bout de lisp.
A noter que le concurrent Bricscad propose "effiler" dans sa commande PEDIT. Si une petite boite Belge y arrive, je pense que Autodesk devrait y parvenir. Mais les marketeux Autodesk n'y voient certainement pas un argument commercial de poids.
Hors ligne
#5 Fri 01 February 2013 09:08
- bruno v.
- Participant actif
- Date d'inscription: 22 Mar 2010
- Messages: 89
Re: Modifier largeur de segment de départ sur une sélection de polylignes?
Si une petite boite Belge y arrive
Je ne suis pas Belge, mais je peux vous proposer ceci qui fonctionne avec des polylignes 2D anciennes ou optimisées MAIS qui ne sont pas lissées ou splinées...
Code:
(vl-load-com) (defun c:Effile_Poly ( / js th_start th_end n ent obj flag_close param_curve perim_curve w_end) (princ "\nSélectionner les polylignes: ") (while (not (setq js (ssget '((0 . "*POLYLINE") (-4 . "<NOT") (-4 . "&") (70 . 126) (-4 . "NOT>"))))) (princ "\nPas d'objets valable ou sélection vide!") ) (initget 5) (setq th_start (getdist "\nLargeur de départ: ")) (initget 5) (setq th_end (getdist "\nLargeur de fin: ")) (repeat (setq n (sslength js)) (setq ent (ssname js (setq n (1- n))) obj (vlax-ename->vla-object ent) ) (cond ((eq (setq flag_close (vla-Get-Closed obj)) ':vlax-true) (vla-Put-Closed obj ':vlax-false) ) ) (setq param_curve (vlax-curve-getEndParam obj) perim_curve (vlax-curve-getDistAtParam obj param_curve) w_end th_end ) (vla-SetWidth obj param_curve w_end th_end ) (repeat (setq nb_vtx (1- (fix param_curve))) (vla-SetWidth obj nb_vtx (setq w_start (+ th_start (* (/ (- th_end th_start) perim_curve) (vlax-curve-getDistAtParam obj nb_vtx)))) w_end ) (setq w_end w_start nb_vtx (1- nb_vtx)) ) (vla-SetWidth obj nb_vtx th_start w_end ) (vla-Put-Closed obj flag_close) ) (prin1) )
Hors ligne
#6 Fri 01 February 2013 12:12
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4822
Re: Modifier largeur de segment de départ sur une sélection de polylignes?
Hello Bruno
Encore Merci pour ta Routine !
Mais sur mon MAP 2013 32 bits, ca ne fonctionne pas correctement (a mon sens)
pour les Polylignes avec PLUS de UN segment/arc !
La largeur de depart est affectee au 1er segment/arc
La largeur de fin est affectee au dernier segment/arc
mais c peut etre ce que tu voulais developper pour Charlotte !?
SVP ca serait quoi la version ou tu interviens toujours sur le 1er segment/arc ?
Merci d'avance, GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#7 Fri 01 February 2013 14:40
- bruno v.
- Participant actif
- Date d'inscription: 22 Mar 2010
- Messages: 89
Re: Modifier largeur de segment de départ sur une sélection de polylignes?
Salut Patrice
SVP ca serait quoi la version ou tu interviens toujours sur le 1er segment/arc ?
De façon répétitive sur chaque segment, ou façon MLeader?
Alors au choix !:
Code:
(vl-load-com) (defun c:Effile_PolyByVertex ( / js th_start th_end n ent obj flag_close param_curve) (princ "\nSélectionner les polylignes: ") (while (not (setq js (ssget '((0 . "*POLYLINE") (-4 . "<NOT") (-4 . "&") (70 . 126) (-4 . "NOT>"))))) (princ "\nPas d'objets valable ou sélection vide!") ) (initget 5) (setq th_start (getdist "\nLargeur de départ: ")) (initget 5) (setq th_end (getdist "\nLargeur de fin: ")) (repeat (setq n (sslength js)) (setq ent (ssname js (setq n (1- n))) obj (vlax-ename->vla-object ent) ) (cond ((eq (setq flag_close (vla-Get-Closed obj)) ':vlax-true) (vla-Put-Closed obj ':vlax-false) ) ) (setq param_curve (vlax-curve-getEndParam obj)) (vla-SetWidth obj param_curve th_start th_end ) (repeat (setq nb_vtx (1- (fix param_curve))) (vla-SetWidth obj nb_vtx th_start th_end ) (setq nb_vtx (1- nb_vtx)) ) (vla-SetWidth obj nb_vtx th_start th_end ) (vla-Put-Closed obj flag_close) ) (prin1) )
Code:
(vl-load-com) (defun c:Effile_Rappel ( / js th_start th_end n ent obj) (princ "\nSélectionner les polylignes: ") (while (not (setq js (ssget '((0 . "*POLYLINE") (-4 . "<NOT") (-4 . "&") (70 . 126) (-4 . "NOT>"))))) (princ "\nPas d'objets valable ou sélection vide!") ) (initget 5) (setq th_start (getdist "\nLargeur de départ: ")) (initget 5) (setq th_end (getdist "\nLargeur de fin: ")) (repeat (setq n (sslength js)) (setq ent (ssname js (setq n (1- n))) obj (vlax-ename->vla-object ent) ) (vla-SetWidth obj 0 th_start th_end ) ) (prin1) )
Hors ligne
#8 Mon 04 February 2013 18:04
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4822
Re: Modifier largeur de segment de départ sur une sélection de polylignes?
Hello Bruno
Magnifique ces 3 routines que j'ai testees avec succes sur MAP 2013 32 bits ...
Encore Merci, GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
Pages: 1
- Sujet précédent - Modifier largeur de segment de départ sur une sélection de polylignes? - Sujet suivant