;| RRL.LSP <> (c) 1998-2002 Tee Square Graphics Converts selection set of Lines, Polylines, LWPolylines, and Arcs to sets of triple parallel polylines. Outer polylines have zero width and CONTINUOUS line type, while inner polyline uses ACAD_ISO03w100 linetype with user-selected width. Developed and tested using AutoCAD R14.01. Version 1.01 - Streamlined (ssget) filter list and Added OSMODE to the list of System Variables to be preserved and reset on exit. (11/14/02) Appearance may be varied by adjusting the value used for LTS, below. |; (defun C:RRL (/ LTS ss ext osm cmd box app blp n i w ent en1 obj p1 p2 a) ;;; (setq LTS 0.1) ;; Adjust this value for desired appearance. ;;; (command "_.undo" "_be") (if (setq ss (ssget '((0 . "ARC,LINE,*POLYLINE")))) (progn (setq ext (getvar "expert") osm (getvar "osmode") cmd (getvar "cmdecho") box (getvar "pickbox") app (getvar "aperture") blp (getvar "blipmode") n (sslength ss) i 0 w (/ (getdist "\nWidth of RR line(s): ") 2.0) ) (setvar "cmdecho" 0) (setvar "expert" 5) (setvar "osmode" 0) (setvar "pickbox" 0) (setvar "aperture" 1) (setvar "blipmode" 0) (command "_.linetype" "_l" "acad_iso03w100" "acad.lin" "") (while (< i n) (setq ent (ssname ss i) en1 (entget ent) obj (cdr (assoc 0 en1)) ) (cond ((= obj "ARC") (setq p1 (cdr (assoc 10 en1)) a (cdr (assoc 50 en1)) r (cdr (assoc 40 en1)) p1 (polar p1 a r) p2 (polar p1 (+ a (/ pi 2)) w) ) (command "_.pedit" ent "_y" "") (setq ent (entlast)) ) ((= obj "LINE") (setq p1 (cdr (assoc 10 en1)) p2 (cdr (assoc 11 en1)) ) (command "_.pedit" ent "_y" "") (setq ent (entlast)) ) ((= obj "POLYLINE") (setq p1 (cdr (assoc 10 (entget (entnext ent)))) p2 (cdr (assoc 10 (entget (entnext (entnext ent))))) ) ) ((= obj "LWPOLYLINE") (setq p1 (cdr (assoc 10 en1)) p2 (cdr (assoc 10 (cdr (member (assoc 10 en1) en1)))) ) ) ) (setq a (+ (/ pi 2)(angle p1 p2))) (command "_.pedit" ent "_l" "_on" "_w" 0 "" "_.offset" w p1 (polar p1 a w) p1 (polar p1 (+ a pi) w) "" "_.pedit" ent "_w" (* w 2) "" "_.chprop" ent "" "_lt" "acad_iso03w100" "s" LTS "" ) (setq i (1+ i)) ) (setvar "expert" ext) (setvar "cmdecho" cmd) (setvar "osmode" osm) (setvar "pickbox" box) (setvar "aperture" app) (setvar "blipmode" blp) ) ) (command "_.undo" "_e") (princ) ) (alert (strcat "RRL.LSP (c) 1998-2002 Tee Square Graphics" "\n\n Type RRL to begin.")) (princ)