therock005 Posted April 24, 2010 Share Posted April 24, 2010 What i need is an automated way to select an arc, and turn it to a multiple-vertices polyline. Meaning, I want to turn it to a polyline, but not just any type of polyline, but a complex polyline that consists of multiple vertices along the arc. One way i thought of, but needs manual input is this: First turn the arc to a polyline with the pedit command. Then use the break at point command and select the middle of the polyline. Then repeat each time selecting the middle of each of the parts of the polyline that are created, and repeat this procedure until you get a satisfactory amount of vertices. But i'm wondering if there is a one-click solution for this type of action. Quote Link to comment Share on other sites More sharing options...
David Bethel Posted April 24, 2010 Share Posted April 24, 2010 AFAIK, not a built in ACAD command. But it can be done: [b][color=BLACK]([/color][/b]defun c:arc2pl [b][color=FUCHSIA]([/color][/b]/ ss en ed ce ra sa ea ia seg in[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]if [b][color=NAVY]([/color][/b]and [b][color=MAROON]([/color][/b]princ [color=#2f4f4f]"\nSelect 1 ARC To Convert..."[/color][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setq ss [b][color=GREEN]([/color][/b]ssget '[b][color=BLUE]([/color][/b][b][color=RED]([/color][/b]0 . [color=#2f4f4f]"ARC"[/color][b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]= [b][color=GREEN]([/color][/b]sslength ss[b][color=GREEN])[/color][/b] 1[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setq en [b][color=GREEN]([/color][/b]ssname ss 0[b][color=GREEN])[/color][/b] ed [b][color=GREEN]([/color][/b]entget en[b][color=GREEN])[/color][/b] ce [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 10 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] ra [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 40 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] sa [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 50 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] ea [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 51 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] ia [b][color=GREEN]([/color][/b]if [b][color=BLUE]([/color][/b]> sa ea[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- [b][color=PURPLE]([/color][/b]* 2 pi[b][color=PURPLE])[/color][/b] sa[b][color=RED])[/color][/b] ea[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- ea sa[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]progn [b][color=MAROON]([/color][/b]initget 7[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setq seg [b][color=GREEN]([/color][/b]getint [color=#2f4f4f]"\nNumber Of Segments In The Pline: "[/color][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setq in [b][color=GREEN]([/color][/b]/ ia [b][color=BLUE]([/color][/b]* seg 2[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]command [color=#2f4f4f]"_.PLINE"[/color] [b][color=GREEN]([/color][/b]polar ce sa ra[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]repeat seg [b][color=GREEN]([/color][/b]command [color=#2f4f4f]"_arc"[/color] [color=#2f4f4f]"_s"[/color] [b][color=BLUE]([/color][/b]polar ce [b][color=RED]([/color][/b]+ sa in[b][color=RED])[/color][/b] ra[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]polar ce [b][color=RED]([/color][/b]+ sa in in[b][color=RED])[/color][/b] ra[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]setq sa [b][color=BLUE]([/color][/b]+ sa in in[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]command [color=#2f4f4f]""[/color][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] How do I use an AutoLISP routine -David Quote Link to comment Share on other sites More sharing options...
therock005 Posted April 24, 2010 Author Share Posted April 24, 2010 Thank You for your help, but no matter how many segments i type it always creates a 3 vertice polyline. Any idea what could be going wrong? Quote Link to comment Share on other sites More sharing options...
David Bethel Posted April 24, 2010 Share Posted April 24, 2010 It works here on R12 and A2K. Try turning off osnaps. -David [b][color=BLACK]([/color][/b]defun c:arc2pl [b][color=FUCHSIA]([/color][/b]/ ss en ed ce ra sa ea ia seg in[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]if [b][color=NAVY]([/color][/b]and [b][color=MAROON]([/color][/b]princ [color=#2f4f4f]"\nSelect 1 ARC To Convert..."[/color][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setq ss [b][color=GREEN]([/color][/b]ssget '[b][color=BLUE]([/color][/b][b][color=RED]([/color][/b]0 . [color=#2f4f4f]"ARC"[/color][b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]= [b][color=GREEN]([/color][/b]sslength ss[b][color=GREEN])[/color][/b] 1[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setq en [b][color=GREEN]([/color][/b]ssname ss 0[b][color=GREEN])[/color][/b] ed [b][color=GREEN]([/color][/b]entget en[b][color=GREEN])[/color][/b] ce [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 10 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] ra [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 40 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] sa [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 50 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] ea [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 51 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] ia [b][color=GREEN]([/color][/b]if [b][color=BLUE]([/color][/b]> sa ea[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- [b][color=PURPLE]([/color][/b]* 2 pi[b][color=PURPLE])[/color][/b] sa[b][color=RED])[/color][/b] ea[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- ea sa[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]progn [b][color=MAROON]([/color][/b]initget 7[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setq seg [b][color=GREEN]([/color][/b]getint [color=#2f4f4f]"\nNumber Of Segments In The Pline: "[/color][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setq in [b][color=GREEN]([/color][/b]/ ia [b][color=BLUE]([/color][/b]* seg 2[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]command [color=#2f4f4f]"_.PLINE"[/color] [color=#2f4f4f]"_non"[/color] [b][color=GREEN]([/color][/b]polar ce sa ra[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]repeat seg [b][color=GREEN]([/color][/b]command [color=#2f4f4f]"_arc"[/color] [color=#2f4f4f]"_s"[/color] [color=#2f4f4f]"_non"[/color] [b][color=BLUE]([/color][/b]polar ce [b][color=RED]([/color][/b]+ sa in[b][color=RED])[/color][/b] ra[b][color=BLUE])[/color][/b] [color=#2f4f4f]"_non"[/color] [b][color=BLUE]([/color][/b]polar ce [b][color=RED]([/color][/b]+ sa in in[b][color=RED])[/color][/b] ra[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]setq sa [b][color=BLUE]([/color][/b]+ sa in in[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]command [color=#2f4f4f]""[/color][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] Quote Link to comment Share on other sites More sharing options...
therock005 Posted April 24, 2010 Author Share Posted April 24, 2010 wow, that was the problem. I really dont know why having osnap turned on would cause a problem, but it does and switching it off makes the routine work. BTW did you add any new lines on your second post, cause i just re-run the first script. Thank You very much for your help here, i appreciate it. :thumbsup Quote Link to comment Share on other sites More sharing options...
David Bethel Posted April 24, 2010 Share Posted April 24, 2010 The second post added "_non" snap mode to point inputs. That way the routine disregards the current setting. Here is a routine that will match the ARCs properties as well: [b][color=BLACK]([/color][/b]defun c:arc2pl [b][color=FUCHSIA]([/color][/b]/ ss en ed ce ra sa ea ia seg in clr[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]if [b][color=NAVY]([/color][/b]and [b][color=MAROON]([/color][/b]princ [color=#2f4f4f]"\nSelect 1 ARC To Convert..."[/color][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setq ss [b][color=GREEN]([/color][/b]ssget '[b][color=BLUE]([/color][/b][b][color=RED]([/color][/b]0 . [color=#2f4f4f]"ARC"[/color][b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]= [b][color=GREEN]([/color][/b]sslength ss[b][color=GREEN])[/color][/b] 1[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setq en [b][color=GREEN]([/color][/b]ssname ss 0[b][color=GREEN])[/color][/b] ed [b][color=GREEN]([/color][/b]entget en[b][color=GREEN])[/color][/b] ce [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 10 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] ra [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 40 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] sa [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 50 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] ea [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 51 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] ia [b][color=GREEN]([/color][/b]if [b][color=BLUE]([/color][/b]> sa ea[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- [b][color=PURPLE]([/color][/b]* 2 pi[b][color=PURPLE])[/color][/b] sa[b][color=RED])[/color][/b] ea[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- ea sa[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]progn [b][color=MAROON]([/color][/b]setvar [color=#2f4f4f]"CLAYER"[/color] [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 8 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setvar [color=#2f4f4f]"ELEVATION"[/color] [b][color=GREEN]([/color][/b]caddr ce[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setvar [color=#2f4f4f]"CELTYPE"[/color] [b][color=GREEN]([/color][/b]if [b][color=BLUE]([/color][/b]assoc 6 ed[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]cdr [b][color=RED]([/color][/b]assoc 6 ed[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b] [color=#2f4f4f]"BYLAYER"[/color][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setvar [color=#2f4f4f]"THICKNESS"[/color] [b][color=GREEN]([/color][/b]if [b][color=BLUE]([/color][/b]assoc 39 ed[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]cdr [b][color=RED]([/color][/b]assoc 39 ed[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b] 0.0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [color=#8b4513] [b][color=MAROON]([/color][/b]setvar [color=#2f4f4f]"CELTSCALE"[/color] [b][color=GREEN]([/color][/b]if [b][color=BLUE]([/color][/b]assoc 48 ed[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]cdr [b][color=RED]([/color][/b]assoc 48 ed[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b] 1.0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][/color] [b][color=MAROON]([/color][/b]setq clr [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 62 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]cond [b][color=GREEN]([/color][/b][b][color=BLUE]([/color][/b]not clr[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]setvar [color=#2f4f4f]"CECOLOR"[/color] [color=#2f4f4f]"BLYLAYER"[/color][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b][b][color=BLUE]([/color][/b]zerop clr[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]setvar [color=#2f4f4f]"CECOLOR"[/color] [color=#2f4f4f]"BYBLOCK"[/color][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]T [b][color=BLUE]([/color][/b]setvar [color=#2f4f4f]"CECOLOR"[/color] [b][color=RED]([/color][/b]itoa clr[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]initget 7[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setq seg [b][color=GREEN]([/color][/b]getint [color=#2f4f4f]"\nNumber Of Segments In The Pline: "[/color][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setq in [b][color=GREEN]([/color][/b]/ ia [b][color=BLUE]([/color][/b]* seg 2[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]command [color=#2f4f4f]"_.PLINE"[/color] [color=#2f4f4f]"_non"[/color] [b][color=GREEN]([/color][/b]polar ce sa ra[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]repeat seg [b][color=GREEN]([/color][/b]command [color=#2f4f4f]"_arc"[/color] [color=#2f4f4f]"_s"[/color] [color=#2f4f4f]"_non"[/color] [b][color=BLUE]([/color][/b]polar ce [b][color=RED]([/color][/b]+ sa in[b][color=RED])[/color][/b] ra[b][color=BLUE])[/color][/b] [color=#2f4f4f]"_non"[/color] [b][color=BLUE]([/color][/b]polar ce [b][color=RED]([/color][/b]+ sa in in[b][color=RED])[/color][/b] ra[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]setq sa [b][color=BLUE]([/color][/b]+ sa in in[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]command [color=#2f4f4f]""[/color][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]if [b][color=GREEN]([/color][/b]assoc 210 ed[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]entmod [b][color=BLUE]([/color][/b]subst [b][color=RED]([/color][/b]assoc 210 ed[b][color=RED])[/color][/b] '[b][color=RED]([/color][/b]210 0 0 1[b][color=RED])[/color][/b] [b][color=RED]([/color][/b]entget [b][color=PURPLE]([/color][/b]entlast[b][color=PURPLE])[/color][/b][b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]entdel en[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]redraw[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] I does not reset the properties to their settings so watch your step. Good Luck! -David Quote Link to comment Share on other sites More sharing options...
therock005 Posted April 24, 2010 Author Share Posted April 24, 2010 This last scrip doesnt work. Running ACAD 2010. Select objects:; error: AutoCAD variable setting rejected: "CECOLOR" "BLYLAYER" And more importangly i found fault on the initial script that realy matters.The segment this routine creates are curvy. IF you explode you can see that each segment comprises of smaller arcs. What I really need is to break it down to lines. I need to create a linear representations of an arc, which is curvy (non-linear). Quote Link to comment Share on other sites More sharing options...
David Bethel Posted April 24, 2010 Share Posted April 24, 2010 I read your original post as you wanted arced segments. No biggie. You'd think that I could at least spell BYLAYER For straight segments: [b][color=BLACK]([/color][/b]defun c:arc2pls [b][color=FUCHSIA]([/color][/b]/ ss en ed ce ra sa ea ia seg in clr[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]if [b][color=NAVY]([/color][/b]and [b][color=MAROON]([/color][/b]princ [color=#2f4f4f]"\nSelect 1 ARC To Convert..."[/color][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setq ss [b][color=GREEN]([/color][/b]ssget '[b][color=BLUE]([/color][/b][b][color=RED]([/color][/b]0 . [color=#2f4f4f]"ARC"[/color][b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]= [b][color=GREEN]([/color][/b]sslength ss[b][color=GREEN])[/color][/b] 1[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setq en [b][color=GREEN]([/color][/b]ssname ss 0[b][color=GREEN])[/color][/b] ed [b][color=GREEN]([/color][/b]entget en[b][color=GREEN])[/color][/b] ce [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 10 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] ra [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 40 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] sa [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 50 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] ea [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 51 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] ia [b][color=GREEN]([/color][/b]if [b][color=BLUE]([/color][/b]> sa ea[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- [b][color=PURPLE]([/color][/b]* 2 pi[b][color=PURPLE])[/color][/b] sa[b][color=RED])[/color][/b] ea[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- ea sa[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]progn [b][color=MAROON]([/color][/b]setvar [color=#2f4f4f]"CLAYER"[/color] [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 8 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setvar [color=#2f4f4f]"ELEVATION"[/color] [b][color=GREEN]([/color][/b]caddr ce[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setvar [color=#2f4f4f]"CELTYPE"[/color] [b][color=GREEN]([/color][/b]if [b][color=BLUE]([/color][/b]assoc 6 ed[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]cdr [b][color=RED]([/color][/b]assoc 6 ed[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b] [color=#2f4f4f]"BYLAYER"[/color][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setvar [color=#2f4f4f]"THICKNESS"[/color] [b][color=GREEN]([/color][/b]if [b][color=BLUE]([/color][/b]assoc 39 ed[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]cdr [b][color=RED]([/color][/b]assoc 39 ed[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b] 0.0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setvar [color=#2f4f4f]"CELTSCALE"[/color] [b][color=GREEN]([/color][/b]if [b][color=BLUE]([/color][/b]assoc 48 ed[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]cdr [b][color=RED]([/color][/b]assoc 48 ed[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b] 1.0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setq clr [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 62 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]cond [b][color=GREEN]([/color][/b][b][color=BLUE]([/color][/b]not clr[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]setvar [color=#2f4f4f]"CECOLOR"[/color] [color=#2f4f4f]"BYLAYER"[/color][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b][b][color=BLUE]([/color][/b]zerop clr[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]setvar [color=#2f4f4f]"CECOLOR"[/color] [color=#2f4f4f]"BYBLOCK"[/color][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]T [b][color=BLUE]([/color][/b]setvar [color=#2f4f4f]"CECOLOR"[/color] [b][color=RED]([/color][/b]itoa clr[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]initget 7[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setq seg [b][color=GREEN]([/color][/b]getint [color=#2f4f4f]"\nNumber Of Segments In The Pline: "[/color][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]setq in [b][color=GREEN]([/color][/b]/ ia [b][color=BLUE]([/color][/b]1+ seg[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]command [color=#2f4f4f]"_.PLINE"[/color] [color=#2f4f4f]"_non"[/color] [b][color=GREEN]([/color][/b]polar ce sa ra[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]repeat seg [b][color=GREEN]([/color][/b]command [color=#2f4f4f]"_non"[/color] [b][color=BLUE]([/color][/b]polar ce [b][color=RED]([/color][/b]+ sa in[b][color=RED])[/color][/b] ra[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]setq sa [b][color=BLUE]([/color][/b]+ sa in[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]command [color=#2f4f4f]""[/color][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]if [b][color=GREEN]([/color][/b]assoc 210 ed[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]entmod [b][color=BLUE]([/color][/b]subst [b][color=RED]([/color][/b]assoc 210 ed[b][color=RED])[/color][/b] '[b][color=RED]([/color][/b]210 0 0 1[b][color=RED])[/color][/b] [b][color=RED]([/color][/b]entget [b][color=PURPLE]([/color][/b]entlast[b][color=PURPLE])[/color][/b][b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]entdel en[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]redraw[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] -David Quote Link to comment Share on other sites More sharing options...
lpseifert Posted April 24, 2010 Share Posted April 24, 2010 a quickie with a different approach (it's raining) keeps getting an 'Invalid point' (I'm not sure why) but it worked the few times I tested... ;;;Creates breaks along curve w/ user entered divisions LPS 2010-04 (defun c:test (/ oldecho oldsnap ent div arclen brkpt) (vl-load-com) (setq oldecho (getvar "cmdecho") oldsnap (getvar "osmode") ) (setvar "cmdecho" 0) (setvar "osmode" 0) (setq ent (car (entsel "\nPick curve: ")) div (getint "\nEnter number of segments: ") arclen (/ (vlax-curve-getDistAtPoint ent (vlax-curve-getEndPoint ent)) div) ) (repeat (1- div) (setq brkpt (vlax-curve-getPointatDist ent arclen)) (vl-cmdf "break" ent "f" brkpt "@") (setq ent (entlast)) ) (setvar "cmdecho" oldecho) (setvar "osmode" oldsnap) (princ) ) Quote Link to comment Share on other sites More sharing options...
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.