Fillet multiple polyline all at once by lisp

Fillet multiple polyline all at once by lisp

Anonymous
Not applicable
20,928 Views
30 Replies
Message 1 of 31

Fillet multiple polyline all at once by lisp

Anonymous
Not applicable

Help me please,

 

Anybody know how to fillet selected polylines all at once by lisp.

0 Likes
Accepted solutions (1)
20,929 Views
30 Replies
Replies (30)
Message 21 of 31

urban33
Community Visitor
Community Visitor

Fantastic code.
Can I use the same for chamfer?

Thanks.

0 Likes
Message 22 of 31

Kent1Cooper
Consultant
Consultant

@urban33 wrote:

.... Can I use the same for chamfer? ....


You apparently have not looked through the entire topic.  See Message 17.

Kent Cooper, AIA
0 Likes
Message 23 of 31

paliwal222
Advocate
Advocate

Sir,

My problem is solved with "Fillet multiple Polyline" code.

this time I fillet multiple polyline approx. a bunch of 250, and explode them.

put "arc" in  "arc"  layer.

and change my poly line according surveyor road type, (four type of road)

isolate road layer type -1 + arc layer then join them,

isolate road layer type -2 + arc layer then join them, (repeat again with arc layer is isolate always four times)

one by one by four time I make arc with road with different layer.

Thanks.

 

0 Likes
Message 24 of 31

paliwal222
Advocate
Advocate

Sir

My problem is solved with FilletMultiplePolylines.lsp

its not necessary to break arc at mid point.

Thanks.

 

0 Likes
Message 25 of 31

midorikawa.mitsunobu
Explorer
Explorer

"I tried creating a code to input the fillet radius at the beginning, referring to the Lisp program you created. However, since it requires input every time, what should I do to make it possible to retain the previously input value in the input field?"

----------------------------------------------------------------

(defun C:FMP ;Fillet Multiple Polylines
       (/ plss n radius)
  (setq radius (getreal "\Enter fillet radius: "))
  (if (null radius)
    (progn
      (princ "\nError:Fillet radius is not inputted。")
      (exit)
    )
    (if (setq plss (ssget "_:L" '((0 . "LWPOLYLINE"))))
      (repeat (setq n (sslength plss))
(command "_.fillet"
"_polyline"
"R"
radius
(ssname plss (setq n (1- n)))
)
      )
    ) ; if
  ) ; if
  (princ)
) ; defun

=====================================================

"It was already resolved with FilletMultiplePolylines.lsp.

Thank you very much."

0 Likes
Message 26 of 31

Sea-Haven
Mentor
Mentor

I would use a less obvious name than radius like xradiusx, try this

 

(if (null xradiusx)
(setq xradiusx (getreal "\Enter fillet radius: "))
)

 

 

Take the radius out of your localising of variables (/ plss n radius)

 

 

 

0 Likes
Message 27 of 31

Kent1Cooper
Consultant
Consultant

@midorikawa.mitsunobu wrote:

.... what should I do to make it possible to retain the previously input value in the input field?"....


You should use the version called FilletMultiplePolylines.lsp at Message 12.

Kent Cooper, AIA
0 Likes
Message 28 of 31

midorikawa.mitsunobu
Explorer
Explorer

Thank you very much

 

0 Likes
Message 29 of 31

midorikawa.mitsunobu
Explorer
Explorer

Thank you very much

0 Likes
Message 30 of 31

midorikawa.mitsunobu
Explorer
Explorer

I am currently studying LISP. Thank you in advance for your continued support.

0 Likes
Message 31 of 31

midorikawa.mitsunobu
Explorer
Explorer

I am currently studying LISP. Please continue to teach me in the future.

 

0 Likes