Dilack33 Posté(e) le 30 mai Posté(e) le 30 mai Bonjour à tous, Je cherche à me passer de ce genre de "bug graphique" sur les polyligne fermé sur un arc non tangent Hormis faire deux polylignes distingue je vois pas trop Merci d'avance pour vos réponse Citer
Sebu Posté(e) le 30 mai Posté(e) le 30 mai Bonjour @Dilak33 au 10ème post une solution est apportée : https://forums.autodesk.com/t5/autocad-tous-produits-francais/polylignes-a-angles-vifs/td-p/2649428 Mais... J'ai testé et malheureusement tu n'obtiendra pas ce que tu souhaites avec des courbes. Je penses que ce n'est pas possible d'ailleurs (à confirmer par la communauté) Pour m'être intéressé aux méthodes de rendu d'Autocad, je te suggère d'abandonner le travail des largeurs de segments au profit des épaisseurs de lignes d'Autocad. Je t'invite aussi à te pencher sur le concept de .ctb du gestionnaire d'impression pour maitriser graphiquement la sortie de tes épaisseurs de traits et bien sûr utiliser la commande LWDISPLAY pour afficher/masquer les épaisseurs de ton dessin en cours de création. Ci-joint des gabarits .ctb issus des éditeurs américains de l'excellent plugin LandFX destiné aux paysagistes. https://www.landfx.com/docs/cad-basics/plotting.html Cordialement, Sébastien. LFX Pens.pdf How to install.txt LFX.ctb LFX-25percent.ctb LFX-50percent.ctb LFX-75percent.ctb LFX Pens.dwg Citer Sébastien / Dezign-UP
rebcao Posté(e) le 30 mai Posté(e) le 30 mai Bonjour, Pourquoi des CTB ?! Il est préférable de gérer les épaisseurs directement via les CALQUES ! Pour moi les CTB nous ramène très loin au début d'AutoCAD où l'on faisait la relation COULEUR = Epaisseur de plume à l'impression. Depuis on est passé au mode STB... mais on peut s'en passer aussi ! Christian Citer Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
thierry.garré Posté(e) le 30 mai Posté(e) le 30 mai Alors , je ne vais pas donner une solution, mais un contournement. sur les versions recentes de Covadis (à partir de la v18 je crois) il existe une commande recréant les polylignes "de bords" d'une polyligne avec largeur avec cette commande tu obtiendras les deux polylignes violettes ci dessous Donc si ce n'est que pour faire du joli plan , tu rajoutes les deux extrémités et une bonne hachure dedans... voila , esperant que cela te serve. Citer Thierry Garré Géorail-Covadis-Autopiste-Autocad-Autocad Map-Infraworks 360- Navisworks -Recap
Dilack33 Posté(e) le 31 mai Auteur Posté(e) le 31 mai Bonjour, Dernière solution, apprendre au paysagiste le concept des tangentes. 😁 Citer
rebcao Posté(e) le 31 mai Posté(e) le 31 mai Effectivement vu le défaut, le plus simple est de donner une épaisseur au calque et de laisser la LARGEUR de la polyligne à 0 ! L'épaisseur MAX pour un calque est de 2,11, mais on peut, à l'impression aller au delà. Mais 2,11 c'est déjà pas mal ! Après si la LARGEUR de la polyligne correspond à une largeur de BORDURE ce sera compliqué à gérer de cette manière. Christian Citer Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
Sebu Posté(e) le 31 mai Posté(e) le 31 mai Il y a 15 heures, rebcao a dit : Pourquoi des CTB ?! Parce que ça existe, que c'est pratique pour standardiser ses rendus et que j'aime ça! 😅 Citer Sébastien / Dezign-UP
rebcao Posté(e) le 31 mai Posté(e) le 31 mai Oui mais sans le fichier CTB on sera incapable d'imprimer correctement les différentes épaisseurs de trait ! Christian Citer Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
lecrabe Posté(e) le 2 juin Posté(e) le 2 juin Hello @Dilack33 Voici une routine "PLWO" VLisp de Kent qui dessine les 2 Polylignes "gauche-droite" de N LWPOLYLINEs (avec segment et/ou arc) ayant une Largeur globale NON NULLE ATTENTION 1 : la routine PLWO supprime les N LWPOLYLINEs originales ... DONC il faut travailler sur une copie des N LWPOLYLINEs ... Copiees en Ortho a 1000/2000m ... ATTENTION 2 : Et aussi elle cree les nouvelles LWPOLYLINEs sur le calque origine des LWPOLYLINEs selectionnees et non pas sur le calque courant ! Bon dimanche, Bye, lecrabe ;; ;; http://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/convert-polylines-into-double-lines-with-hatch/m-p/5844082#M335741 ;; ;; PLWtoOutline.lsp [command name: PLWO] ;; ;; To convert lightweight PolyLines with global Width to closed outlining Polylines ;; without width, tracing the edges of the selected Polylines and closing their ends. ;; ;; For closed Polylines, results in two Polylines tracing edges of original (does not ;; connect their ends, and, of course, cannot join them together). ;; ;; Ignores non-Polylines, those with zero or varying width, and those on locked layers. ;; Works with Polylines in different Coordinate Systems. ;; ;; Kent Cooper, last edited 1 October 2015 ;; (defun C:PLWO (/ *error* doc osm plset pl pldata ucschanged offs pljoin plobj) (defun *error* (errmsg) (if (wcmatch errmsg "Function cancelled,quit / exit abort,console break") (princ (strcat "\nError: " errmsg))) (if ucschanged (command "_.ucs" "_prev")); don't go back unless routine changed UCS but didn't change it back yet (setvar 'osmode osm) (setvar 'cmdecho cmde) (vla-endundomark doc) ); defun - *error* (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (setq osm (getvar 'osmode) cmde (getvar 'cmdecho)) (setvar 'cmdecho 0) (setvar 'osmode 0) (prompt "\nTo change PLines with global Width to outline PLines tracing their edges,") (setq plset (ssget "_:L" '((0 . "LWPOLYLINE")))); [(ssget) provides its own Select objects: prompt] (while (> (sslength plset) 0); as long as there's still something in the set (setq pl (ssname plset 0); get the first item pldata (entget pl); and its entity data ); setq (if (> (cdr (assoc 43 pldata)) 0.0); it has a non-zero global width (progn ; then - process this Polyline (command "_.ucs" "_new" "_object" pl) ; set UCS to match object (setq ucschanged T ; for use in *error* function if UCS does not get reset offs (/ (cdr (assoc 43 pldata)) 2); half of Pline's global width pljoin (ssadd); start initially empty set of items to join together plobj (vlax-ename->vla-object pl) ); setq (vla-put-ConstantWidth plobj 0.0) (vla-offset plobj offs) (ssadd (entlast) pljoin) (vla-offset plobj (- offs)) (ssadd (entlast) pljoin) (entdel pl) ;; eliminate original (if (not (vlax-curve-isClosed (entlast))); open-ended - close ends & join (progn (setvar 'clayer (cdr (assoc 8 pldata))) (command "_.line" (trans (vlax-curve-getStartPoint (ssname pljoin 0)) 0 1) (trans (vlax-curve-getStartPoint (ssname pljoin 1)) 0 1) "" ); command (ssadd (entlast) pljoin) (command "_.line" (trans (vlax-curve-getEndPoint (ssname pljoin 0)) 0 1) (trans (vlax-curve-getEndPoint (ssname pljoin 1)) 0 1) "" ); command (ssadd (entlast) pljoin) (command "_.pedit" (ssname pljoin 0) "_join" pljoin "" "" "_.layerp" ) ; command ); progn ); if (command "_.ucs" "_prev"); reset UCS (setq ucschanged nil); eliminate reset in *error* function ); progn ); if (ssdel pl plset) ;; remove from set, and... ); while - ...go back and do next one if appropriate (setvar 'osmode osm) (setvar 'cmdecho cmde) (vla-endundomark doc) (princ) ); defun (vl-load-com) (prompt "\nType PLWO to change PLines with Global Width to Outlines tracing their edges ") Citer Autodesk Expert Elite Team
Dilack33 Posté(e) le 2 juin Auteur Posté(e) le 2 juin Bonjour à tous, En fait c'était plus l’esthétisme qui me dérangeait, je voulais savoir si vous aviez des astuces, pas besoin de Lisp. Mais ça peut servir à d'autre. Merci Citer
Messages recommandés