home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Current Shareware 1994 January
/
SHAR194.ISO
/
cad_util
/
v8n8_cad.zip
/
RADTICS.LSP
< prev
next >
Wrap
Lisp/Scheme
|
1993-07-23
|
2KB
|
55 lines
(defun *error* (msg)
(princ msg)
(princ)
);defun
(defun C:RAD ( / ce bm ds arc1 ent1 rad rad1 dist1 ang1 ang2 ang3 ang4 dist2 dist3 rad2 ang5 pt1 pt2 pt3 t4
nam count)
(setq ce (getvar "cmdecho"))
(setq bm (getvar "blipmode"))
(setq ds (getvar "dimscale"))
(setvar "cmdecho" 0)
(setvar "blipmode" 0)
(setq count 0)
(while (= count 0)
(setq
arc1 (entsel "\nSelect Arc:")
ent1 (entget (car arc1))
nam (cdr (assoc 0 ent1))
);setq
(if (/= nam "ARC")
(progn
(princ "\nNot an arc, try again!
<polylines not allowed>")
(setq arc1 nil)
(setq ent1 nil)
);progn
(setq count 1)
);if
);while
(setq
rad (cdr (assoc 40 ent1))
rad1 (+ rad (* 0.01 ds))
dist1 (sqrt (- (* rad1 rad1) (* rad rad)))
ang1 (cdr (assoc 50 ent1))
ang2 (cdr (assoc 51 ent1))
ang3 (+ ang1 (atan dist1 rad))
ang4 (/ (- ang2 ang1) 2.0)
dist2 (* rad (/ (sin ang4) (cos ang4)))
dist3 (+ dist2 (* 0.09 ds))
rad2 (sqrt (+ (* dist3 dist3) (* rad rad)))
ang5 (+ ang1 (atan dist3 rad))
pt2 (cdr (assoc 10 ent1))
pt1 (polar pt2 (+ ang1 ang4) rad)
pt3 (polar pt2 ang3 rad1)
pt4 (polar pt2 ang5 rad2)
);setq
(command
"ucs" "s" "curorig" "Y"
"ucs" "w"
"line" pt3 pt4 ""
"mirror" "L" "" pt1 pt2 ""
"ucs" "r" "curorig"
);command (setvar "cmdecho" ce)
(setvar "blipmode" bm)
(princ)
);defun