TFD Posté(e) le 20 octobre 2006 Posté(e) le 20 octobre 2006 Bonjours à tous, je recherche une manière de créer des polylignes avec une largeur donnée et représentée par deux traits parralèles (type multilignes). Les multilignes ne convenant pas car inexploitables par covadis (métré, listing ...) quelqu'un a-til une solution ? Merci de vos idées..
(gile) Posté(e) le 20 octobre 2006 Posté(e) le 20 octobre 2006 Salut et bienvenue, La commande DECALER (_OFFSET) ne te convient pas ? Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
TFD Posté(e) le 20 octobre 2006 Auteur Posté(e) le 20 octobre 2006 En effet, pour le rendu à l'écran cela conviendrai.mais le décalage demande 2 manip supplémentaires (décaler à gauche, décaler à droite par rapport à l'axe déssiné en polyligne puis changement de calque pour differencier l'axe de construction et les lignes décalées)et cela sur un trés grand nombre de polylignes. je cherche donc à automatiser tout ca pour n'avoir qu'un objet à dessiner et pour exploiter ses propriétés rapidement.
ticticmarc Posté(e) le 20 octobre 2006 Posté(e) le 20 octobre 2006 HelloEn fait, et m'en excuse d'avance, je n'ai pas de réponse définitive mais peut-être en créant un type de ligne spécifique ?
TFD Posté(e) le 20 octobre 2006 Auteur Posté(e) le 20 octobre 2006 J'y avais pensé mais je ne sais pas comment faire un type de ligne qui comporte 2 traits parrallèles etde plus, le type de ligne ne poura pas être lier à la largeur de la polyligne.Voila donc l'étendu de mon problème. c'est pour dessiner des réseaux Assainissement avec leur largeur réelle (exemple largeur de la polyligne = 0.8 avec un dessin en metre pour un Ø800 mm)
(gile) Posté(e) le 20 octobre 2006 Posté(e) le 20 octobre 2006 Salut, Je ne suis pas sûr d'avoir compris si tu veux un double décalage de chaque polyligne ou une polyligne d'une largeur constante. Donc, voici 2 petits LISP. Le premier décale les polylignes sélectionnées de chaque côté de la moitié de la largeur spécifiée.Les polylignes sont créées sur le calque courant. (defun c:dble_dec (/ larg ss pline) (vl-load-com) (initget 3) (setq larg (/ (getdist "\nSpécifiez la largeur totale: ") 2.0)) (if (setq ss (ssget '((0 . "LWPOLYLINE")))) (progn (vla-StartUndoMark (vla-get-ActiveDocument (vlax-get-acad-object)) ) (foreach pl (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))) ) (setq pline (car (vlax-invoke pl 'Offset larg))) (vla-put-Layer pline (getvar "CLAYER")) (setq pline (car (vlax-invoke pl 'Offset (- larg)))) (vla-put-Layer pline (getvar "CLAYER")) ) (vla-EndUndoMark (vla-get-ActiveDocument (vlax-get-acad-object)) ) ) ) (princ) ) Celui-ci crée une nouvelle polyligne de la largeur constante spécifiée sur le calque courant (defun c:larg_pl (/ larg ss pline) (vl-load-com) (initget 1) (setq larg (getdist "\nSpécifiez la largeur totale: ")) (if (setq ss (ssget '((0 . "LWPOLYLINE")))) (progn (vla-StartUndoMark (vla-get-ActiveDocument (vlax-get-acad-object)) ) (foreach pl (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))) ) (setq pline (vla-Copy pl)) (vla-put-ConstantWidth pline larg) (vla-put-Layer pline (getvar "CLAYER")) ) (vla-EndUndoMark (vla-get-ActiveDocument (vlax-get-acad-object)) ) ) ) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
kallain Posté(e) le 20 octobre 2006 Posté(e) le 20 octobre 2006 Voila donc l'étendu de mon problème. c'est pour dessiner des réseaux Assainissement avec leur largeur réelle (exemple largeur de la polyligne = 0.8 avec un dessin en metre pour un Ø800 mm :casstet: Bin oui, mais justement Covadis gère cela très bien :D Tu dessines tes poly dans le calque TUYO_Assainiss (par exemple)avec des largeurs suivant les diamètreset avec la commande "Métrés des réseaux"tu obtiens un listing avec la longueur totale des poly par Ø (= largeur que tu as appliqué à tes poly) [Edité le 20/10/2006 par kallain]
TFD Posté(e) le 20 octobre 2006 Auteur Posté(e) le 20 octobre 2006 Merci Kallain pour le tuyo :cool: mais il me semblais que Covadis ne dessiné que des filaireset si je met une largeur j'obtiens un trait épais alors que je souhaite deux traits parrallèles. A+
kallain Posté(e) le 20 octobre 2006 Posté(e) le 20 octobre 2006 et si je met une largeur j'obtiens un trait épais alors que je souhaite deux traits parrallèles. Ouais, mais là t'est dur.... mais c'est vrai un Ø 1000 au 200 ça crache ;) Encore que j'ai déjà vu (et je crois lu sur CadXP) des polys avec largeur vides (comme les textes avec textfill) mais là c'est un bug.[Edité le 20/10/2006 par kallain] [Edité le 20/10/2006 par kallain]
bonuscad Posté(e) le 20 octobre 2006 Posté(e) le 20 octobre 2006 j'obtiens un trait épais Si cela ne te dérange pas pour les autres objets de ton dessin, tu peux mettre la variable "FILLMODE" à 0 , comme ca tu verras tes traits de bords sans que cela cache d'autres objet éventuels. Faire un "Regen" pour voir la modif. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
kallain Posté(e) le 20 octobre 2006 Posté(e) le 20 octobre 2006 Encore que j'ai déjà vu (et je crois lu sur CadXP) des polys avec largeur vides (comme les textes avec textfill) [surligneur] mais là c'est un bug[/surligneur] Qu'est-ce qu'on peux raconter comme co......... :P :calim: :P Mais bon sang mais c'est bien sûr ............FillmodeMerci qui : Merci Bonuscad ;)
TFD Posté(e) le 20 octobre 2006 Auteur Posté(e) le 20 octobre 2006 ;) merci c'est impec pour mes réseaux FILLMODE nettoie mes plans merci à tous
clauderey Posté(e) le 20 octobre 2006 Posté(e) le 20 octobre 2006 on peut aussi décomposer les multilignes ce qui évite les petites lignes aux coins des polylignes
fabcad Posté(e) le 21 octobre 2006 Posté(e) le 21 octobre 2006 Le gestionnaire d'affichage ou de stylisation d'AutoDESK MAP 3D fait ce genre de choses à merveille.
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