
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi Guys,
I am writing a lisp to automatically draw some squares and hatch them in solid pattern, the first one is colour 1 and the second one is colour 2, the lisp will stop at colour 255.
I am new to lisp and wrote a very very dumb lisp as below, is there any smarter way to do this?
(defun dtr ( deg ) (* pi (/ deg 180.0)))
(defun c:h1 ()
(setq oldlayer (getvar "CLAYER"))
(Command "LAYER" "M" "EL08" "C" "8" "" "")
(command "osmode" 0)
(setq a 50) ;set the square size and base point for hatch
(setq colour 0) ;
(setq p0 (getpoint "\nEnter rec point : "))
(setq p1 (polar p0 (DTR 0) a))
(command "rectang" p0 "D" a a p0)
(command "copy" "L" "" p0 "A" 15 p1 "")
(setq p1 (getpoint "\nEnter rec point : "))
(command "-hatch" "p" "s" "" )
(command "-hatch" "co" (+ colour 1) "" "")
(command "-hatch" p1 "" "")
(setq p2 (polar p1 (DTR 0) a))
(command "-hatch" "co" (+ colour 2) "" "")
(command "-hatch" p2 "" "")
(setq p3 (polar p2 (DTR 0) a))
(command "-hatch" "co" (+ colour 3) "" "")
(command "-hatch" p3 "" "")
(setq p4 (polar p3 (DTR 0) a))
(command "-hatch" "co" (+ colour 4) "" "")
(command "-hatch" p4 "" "")
(setq p5 (polar p4 (DTR 0) a))
(command "-hatch" "co" (+ colour 5) "" "")
(command "-hatch" p5 "" "")
(setq p6 (polar p5 (DTR 0) a))
(command "-hatch" "co" (+ colour 6) "" "")
(command "-hatch" p6 "" "")
(setq p7 (polar p6 (DTR 0) a))
(command "-hatch" "co" (+ colour 7) "" "")
(command "-hatch" p7 "" "")
(setq p8 (polar p7 (DTR 0) a))
(command "-hatch" "co" (+ colour 8) "" "")
(command "-hatch" p8 "" "")
(setq p9 (polar p8 (DTR 0) a))
(command "-hatch" "co" (+ colour 9) "" "")
(command "-hatch" p9 "" "")
(setq p10 (polar p9 (DTR 0) a))
(command "-hatch" "co" (+ colour 10) "" "")
(command "-hatch" p10 "" "")
(setq p11 (polar p10 (DTR 0) a))
(command "-hatch" "co" (+ colour 11) "" "")
(command "-hatch" p11 "" "")
(setq p12 (polar p11 (DTR 0) a))
(command "-hatch" "co" (+ colour 12) "" "")
(command "-hatch" p12 "" "")
(setq p13 (polar p12 (DTR 0) a))
(command "-hatch" "co" (+ colour 13) "" "")
(command "-hatch" p13 "" "")
(setq p14 (polar p13 (DTR 0) a))
(command "-hatch" "co" (+ colour 14) "" "")
(command "-hatch" p14 "" "")
(setq p15 (polar p14 (DTR 0) a))
(command "-hatch" "co" (+ colour 15) "" "")
(command "-hatch" p15 "" "")
(setq p16 (polar p15 (DTR 0) a))
(command "-hatch" "co" (+ colour 16) "" "")
(command "-hatch" p16 "" "")
(setvar "CLAYER" oldlayer)
(command "osmode" 255)
(princ)
)
Many thanks for you comments
Leo
Solved! Go to Solution.