Message 1 of 9
CLOSE 2 POLYLINES IN LISP
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi Guys
The lisp i am busy with draw's a section of a stormwater drain, i am currently stuck where i am unsure of how to close the polylines on the side (green polylines)Here is my code:
(defun c:Test (/ dw dd dt de ds nl sl ip np np1 np2 p1 p2 p3 p3_1 p4 p4_1 p5 p6 pl pl2)
(setq OldLayer (getvar "clayer")); Gets Old Layer
(setq OldOffsetValue (getvar "offsetdist")); Gets Old Offset distance
; Get information from user
(setq dw (getreal "\nInsert Base Width: "))
(setq dd (getreal "\nInsert Drain Depth: "))
(setq dt (getreal "\nInsert Drain Thickness: "))
(setq de (getreal "\nInsert Drain Side Extension Length: "))
(setq ds (getreal "\nInsert Daylight Slope 1: "))
(setq nl (getreal "\nInsert NGL Length "))
; Calculations
(setq sl (* ds dd)) ; Calculates the Drain Slope
(setq ip (getpoint "\nChoose Insertion Point : "))
(setq np (polar ip (dtr 90.0) dd))
(setq np1 (polar np (dtr 180.0) (/ dw 2)))
(setq np2 (polar np (dtr 0.0) (/ dw 2)))
(setq p1 (polar ip (dtr 180.0) (/ dw 2)))
(setq p2 (polar ip (dtr 0.0) (/ dw 2)))
(setq p3 (polar np1 (dtr 180.0) sl ))
(setq p3_1 (polar p3 (dtr 180.0) de ))
(setq p4 (polar np2 (dtr 0.0) sl ))
(setq p4_1 (polar p4 (dtr 0.0) de ))
(setq p5 (polar p4 (dtr 0.0) nl ))
(setq p6 (polar p3 (dtr 180.0) nl ))
; Draw Stormwater Drain
(setvar "clayer" ".CONCRETE")
(setvar "Offsetdist" dt)
(command "Pline" p3_1 p3 p1 p2 p4 p4_1 "")
(while (= (logand (getvar "cmdactive") 1) 1)
(command pause))
(setq pl (entlast)); Gets last entity
(while (= (logand (getvar "cmdactive") 1) 1)
(command pause))
(command "offset" dt pl ip "") ;offset
(while (= (logand (getvar "cmdactive") 1) 1)
(command pause))
; STUCK HER TO CLOSE POLYLINE BOUNDARY
(setvar "clayer" ".NGL");Change Layer to .NGL
(command "PLine" p6 p3_1 "")
(setvar "clayer" ".NGL DASHED");Change Layer to .NGL dashed
(command "Pline" p3 p4 "")
(setvar "clayer" ".NGL");Change Layer to .NGL
(command "Pline" p4_1 p5 "")
(setvar "clayer" OldLayer)
(princ)
)
Civil 3D Certified Professional