danglar Posted October 13, 2016 Posted October 13, 2016 Hi All! I need to convert radius elbow to segmented like shown in a picture.. (see attachments) I find the appropriative routine to convert arc to segmented pline with user defined number of segments (see attachments) and now I need a little improvement in this program to draw line or plines from segment vertex’s to center of selected arcs Can somebody help me to do it? Any help will be very appreciated Arc to Number Segments - ASX.lsp Quote
David Bethel Posted October 13, 2016 Posted October 13, 2016 Wow. It's been a long time since I developed the patterns for a gore elbow ! 1st thing : The 1st and last gores are 1\2 of the middle full gores In the states, we use ( used ) SMACNA as HVAC Standards as to radius of the bend vs the size of the round duct. The number of gores is determined by the application of the system. Dust collectors require a lot more gore than standard ventilation. Do you have specifications that you need to meet ? -David Quote
danglar Posted October 13, 2016 Author Posted October 13, 2016 I understand what you mean, but I have not any specifications and on the first "dirty" stage I need only line connections between gores in a direction of arc center Quote
Ronso Posted October 13, 2016 Posted October 13, 2016 Howr why did radius elbow get drawn in first place? Quote
tzframpton Posted October 13, 2016 Posted October 13, 2016 Download this LISP in post #204: http://www.cadtutor.net/forum/showthread.php?10882-Need-better-multiline&p=670389&viewfull=1#post670389 It's the updated version of a duct/pipe routing program originally created by ASMI, an old member of this forum: http://www.cadtutor.net/forum/showthread.php?30545-*FREE*-HVAC-or-Piping-program-for-AutoCAD This program creates mitered, radius or gored fittings on the fly, based off a few input values at first. With macros on Tool Palettes, you can have "preset" values. For instance you can have 4" mitered throats, or 1.5W radius elbows, all on the click of a button. This doesn't "convert" your elbows, but maybe it's an alternative solution for you overall. Hope this helps. -TZ **EDIT** Just saw Ronso, one of the authors of the program I linked, already posted. Many thanks for him keeping this program updated. Quote
danglar Posted October 13, 2016 Author Posted October 13, 2016 I have a bunch of already drawn radius elbows in a set of drawings and I need to "convert" it without redrawing at all Quote
tzframpton Posted October 13, 2016 Posted October 13, 2016 I have a bunch of already drawn radius elbows in a set of drawings and I need to "convert" it without redrawing at allThen what I've provided will not be of much help. Future projects, yes. Quote
Ronso Posted October 13, 2016 Posted October 13, 2016 I have a bunch of already drawn radius elbows in a set of drawings and I need to "convert" it without redrawing at all Regarding the radius elbows, What autocad objects are they comprised of? two separate polyline arcs, two separate circular arcs, or one continuous closed polyline. A bit more than a just little improvement when the routine you provided can select a multitude of object types. Quote
David Bethel Posted October 13, 2016 Posted October 13, 2016 I had some time today and this did bring back a LOT of fab shop memories : [color=#8b4513];|[/color] 2D GORE ELBOWS - MESH Entity d = Duct Diameter r = Throat Radius q = Qty Of Gores c = Center Point s = Start Angle b = Elbow Bend Angle |[color=#8b4513];[/color] [color=#8b4513];++++++++++++ Get Elbow Data +++++++++++++++++++++++++++++++++++++[/color] [b][color=BLACK]([/color][/b]defun ge_get [b][color=FUCHSIA]([/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]initget 7[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq d [b][color=NAVY]([/color][/b]getdist [color=#2f4f4f]"\nDuct Diameter: "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq rd [b][color=NAVY]([/color][/b]* d 1.5[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]initget 6[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq r [b][color=NAVY]([/color][/b]getdist [b][color=MAROON]([/color][/b]strcat [color=#2f4f4f]"\nThroat Radius <"[/color] [b][color=GREEN]([/color][/b]rtos rd 2 2[b][color=GREEN])[/color][/b] [color=#2f4f4f]">: "[/color][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]or r [b][color=NAVY]([/color][/b]setq r rd[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]or [b][color=MAROON]([/color][/b]not q[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]< q 3[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]initget 7[b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]setq q [b][color=MAROON]([/color][/b]getint [color=#2f4f4f]"\nGore Qty - Min 3: "[/color][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]initget 1[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq c [b][color=NAVY]([/color][/b]getpoint [color=#2f4f4f]"\nRadius Center Point: "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]initget 1[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq s [b][color=NAVY]([/color][/b]getangle c [color=#2f4f4f]"\nStart Angle: "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]initget 6[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq b [b][color=NAVY]([/color][/b]getangle [color=#2f4f4f]"\nElbow Included Bend Angle <90>: "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]or b [b][color=NAVY]([/color][/b]setq b [b][color=MAROON]([/color][/b]* pi 0.5[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b] [color=#8b4513];++++++++++++ Entity Construction ++++++++++++++++++++++++++++++++[/color] [b][color=BLACK]([/color][/b]defun ge_con [b][color=FUCHSIA]([/color][/b]d r q c s b / ga ha i ca c1 c2 p1 p2 pl1 pl2[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq ga [b][color=NAVY]([/color][/b]/ b [b][color=MAROON]([/color][/b]1- q[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] ha [b][color=NAVY]([/color][/b]* ga 0.5[b][color=NAVY])[/color][/b] i 0[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]repeat q [b][color=NAVY]([/color][/b]setq ca [b][color=MAROON]([/color][/b]+ s [b][color=GREEN]([/color][/b]* ga i[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]setq c1 [b][color=MAROON]([/color][/b]polar c ca r[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]setq c2 [b][color=MAROON]([/color][/b]polar c ca [b][color=GREEN]([/color][/b]+ r d[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]setq p1 [b][color=MAROON]([/color][/b]polar c1 [b][color=GREEN]([/color][/b]- ca [b][color=BLUE]([/color][/b]* pi 0.5[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]if [b][color=BLUE]([/color][/b]= i 0[b][color=BLUE])[/color][/b] 0 [b][color=BLUE]([/color][/b]* [b][color=RED]([/color][/b]sin ha[b][color=RED])[/color][/b] r[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]setq p2 [b][color=MAROON]([/color][/b]polar c2 [b][color=GREEN]([/color][/b]- ca [b][color=BLUE]([/color][/b]* pi 0.5[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]if [b][color=BLUE]([/color][/b]= i 0[b][color=BLUE])[/color][/b] 0 [b][color=BLUE]([/color][/b]* [b][color=RED]([/color][/b]sin ha[b][color=RED])[/color][/b] [b][color=RED]([/color][/b]+ r d[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]setq pl1 [b][color=MAROON]([/color][/b]cons p1 pl1[b][color=MAROON])[/color][/b] pl2 [b][color=MAROON]([/color][/b]cons p2 pl2[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]setq i [b][color=MAROON]([/color][/b]1+ i[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq pl1 [b][color=NAVY]([/color][/b]cons [b][color=MAROON]([/color][/b]polar c [b][color=GREEN]([/color][/b]+ s b[b][color=GREEN])[/color][/b] r[b][color=MAROON])[/color][/b] pl1[b][color=NAVY])[/color][/b] pl2 [b][color=NAVY]([/color][/b]cons [b][color=MAROON]([/color][/b]polar c [b][color=GREEN]([/color][/b]+ s b[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]+ r d[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] pl2[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]entmake [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]cons 0 [color=#2f4f4f]"POLYLINE"[/color][b][color=MAROON])[/color][/b][b][color=MAROON]([/color][/b]cons 66 1[b][color=MAROON])[/color][/b][b][color=MAROON]([/color][/b]cons 70 16[b][color=MAROON])[/color][/b][b][color=MAROON]([/color][/b]list 10 0 0 0[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]cons 71 2[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]cons 72 [b][color=GREEN]([/color][/b]1+ q[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]foreach v pl1 [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"VERTEX"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 70 64[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 10 v[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]foreach v pl2 [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"VERTEX"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 70 64[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 10 v[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]entmake [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]cons 0 [color=#2f4f4f]"SEQEND"[/color][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b] [color=#8b4513];************ Main Program ***************************************[/color] [b][color=BLACK]([/color][/b]defun c:gore [b][color=FUCHSIA]([/color][/b]/ d rd r q c s b[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]ge_get[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]ge_con d r q c s b[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b] Run c:gore or feed ge_con with the data. HTH -David Quote
danglar Posted October 18, 2016 Author Posted October 18, 2016 Nice approach David! Thank you, but I already have the "final" solution of this issue. You can see it here: https://lispbox.wordpress.com/2016/10/18/convert-radius-elbow-to-segmented-with-user-defined-number-of-segments/ Quote
David Bethel Posted October 18, 2016 Posted October 18, 2016 I cannot get the lisp file to load but I have seen references to it before. While I believe it can create the equal segments, that is not the correct application with HVAC round gore elbows. It would be if using tubular pipe ( image attached ) Quote
danglar Posted October 18, 2016 Author Posted October 18, 2016 I understand and realize that this Lisp does not quite correct separation to gores, but in the case, you mentioned it may be acceptable Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.