(defun c:Every30 (/ ang mid pt1 pt2 lst gr)
(setq pt1 (getpoint "\nFirst point: "))
(while (= (car (setq gr (grread T 1))) 5)
(if
(setq lst
(vl-some
'(lambda (firstAng secondAng)
(if
(and
(setq pt2 (cadr gr)
ang (angle pt1 pt2)
) ;_ >setq
(< ang firstAng)
(> ang secondAng)
) ;_ >and
(progn
(setq mid (/ firstAng 2))
(if
(> ang mid)
(list 7 pt1 (polar pt1 firstAng (distance pt1 pt2)))
(list 7 pt1 (polar pt1 secondAng (distance pt1 pt2)))
) ;_ >if
) ;_ >progn
) ;_ >if
) ;_ >lambda
'(0.5236 1.0472 1.5708 2.0944 2.6180 3.1416 3.6652 4.1888 4.7124 5.2360 5.7596 0.0)
'(0.0 0.5236 1.0472 1.5708 2.0944 2.6180 3.1416 3.6652 4.1888 4.7124 5.2360 5.7596)
) ;_ >vl-some
) ;_ >setq
(progn
(redraw)
(grvecs lst)
) ;_ >progn
) ;_ >if
) ;_ >while
) ;_ >defun
;|«Visual LISP© Format Options»
(72 2 40 2 T ">" 60 9 0 0 nil T T T T)
;*** DO NOT add text below the comment! ***|;
(defun c:Every30 (/ ang mid pt1 pt2 lst gr)
;converts radians to degrees
(defun RtD (r) (* 180.0 (/ r pi)))
;converts degrees to radians
(defun DtR (d) (* pi (/ d 180.0)))
(setq pt1 (getpoint "\nFirst point: "))
(while (= (car (setq gr (grread T 1))) 5)
(setq pt2 (cadr gr)
ang (RtD (angle pt1 pt2))
) ;_ >setq
(cond
(
(and (>= ang 0) (<= ang 30))
(redraw)
(if
(> ang 15)
(grvecs (list 7 pt1 (polar pt1 (DtR 30) (distance pt1 pt2)))
) ;_ >grvecs
(grvecs (list 7 pt1 (polar pt1 0.0 (distance pt1 pt2))))
) ;_ >if
)
(
(and (>= ang 30) (<= ang 60))
(redraw)
(if
(> ang 45)
(grvecs (list 7 pt1 (polar pt1 (DtR 60) (distance pt1 pt2)))
) ;_ >grvecs
(grvecs (list 7 pt1 (polar pt1 (DtR 30) (distance pt1 pt2)))
) ;_ >grvecs
) ;_ >if
)
(
(and (>= ang 60) (<= ang 90))
(redraw)
(if
(> ang 75)
(grvecs (list 7 pt1 (polar pt1 (DtR 90) (distance pt1 pt2)))
) ;_ >grvecs
(grvecs (list 7 pt1 (polar pt1 (DtR 60) (distance pt1 pt2)))
) ;_ >grvecs
) ;_ >if
)
(
(and (>= ang 90) (<= ang 120))
(redraw)
(if
(> ang 105)
(grvecs
(list 7 pt1 (polar pt1 (DtR 120) (distance pt1 pt2)))
) ;_ >grvecs
(grvecs (list 7 pt1 (polar pt1 (DtR 90) (distance pt1 pt2)))
) ;_ >grvecs
) ;_ >if
)
(
(and (>= ang 120) (<= ang 150))
(redraw)
(if
(> ang 135)
(grvecs
(list 7 pt1 (polar pt1 (DtR 150) (distance pt1 pt2)))
) ;_ >grvecs
(grvecs
(list 7 pt1 (polar pt1 (DtR 120) (distance pt1 pt2)))
) ;_ >grvecs
) ;_ >if
)
(
(and (>= ang 150) (<= ang 180))
(redraw)
(if
(> ang 165)
(grvecs
(list 7 pt1 (polar pt1 (DtR 180) (distance pt1 pt2)))
) ;_ >grvecs
(grvecs
(list 7 pt1 (polar pt1 (DtR 150) (distance pt1 pt2)))
) ;_ >grvecs
) ;_ >if
)
(
(and (>= ang 180) (<= ang 210))
(redraw)
(if
(> ang 195)
(grvecs
(list 7 pt1 (polar pt1 (DtR 210) (distance pt1 pt2)))
) ;_ >grvecs
(grvecs
(list 7 pt1 (polar pt1 (DtR 180) (distance pt1 pt2)))
) ;_ >grvecs
) ;_ >if
)
(
(and (>= ang 210) (<= ang 240))
(redraw)
(if
(> ang 225)
(grvecs
(list 7 pt1 (polar pt1 (DtR 240) (distance pt1 pt2)))
) ;_ >grvecs
(grvecs
(list 7 pt1 (polar pt1 (DtR 210) (distance pt1 pt2)))
) ;_ >grvecs
) ;_ >if
)
(
(and (>= ang 240) (<= ang 270))
(redraw)
(if
(> ang 255)
(grvecs
(list 7 pt1 (polar pt1 (DtR 270) (distance pt1 pt2)))
) ;_ >grvecs
(grvecs
(list 7 pt1 (polar pt1 (DtR 240) (distance pt1 pt2)))
) ;_ >grvecs
) ;_ >if
)
(
(and (>= ang 270) (<= ang 300))
(redraw)
(if
(> ang 285)
(grvecs
(list 7 pt1 (polar pt1 (DtR 300) (distance pt1 pt2)))
) ;_ >grvecs
(grvecs
(list 7 pt1 (polar pt1 (DtR 270) (distance pt1 pt2)))
) ;_ >grvecs
) ;_ >if
)
(
(and (>= ang 300) (<= ang 330))
(redraw)
(if
(> ang 315)
(grvecs
(list 7 pt1 (polar pt1 (DtR 330) (distance pt1 pt2)))
) ;_ >grvecs
(grvecs
(list 7 pt1 (polar pt1 (DtR 300) (distance pt1 pt2)))
) ;_ >grvecs
) ;_ >if
)
(
(and (>= ang 330) (<= ang 360))
(redraw)
(if (> ang 345)
(grvecs
(list 7 pt1 (polar pt1 (DtR 360) (distance pt1 pt2)))
) ;_ >grvecs
(grvecs
(list 7 pt1 (polar pt1 (DtR 330) (distance pt1 pt2)))
) ;_ >grvecs
) ;_ >if
)
) ;_ >cond
) ;_ >while
) ;_ >defun
If you are doing every 30°, why not simply enable Polar Tracking?This^^
If you are doing every 30°, why not simply enable Polar Tracking?Certainly yes Master_Shake!
Thank you very much for sharing your knowledge Ron.And just below I emphasized that I needed to study a little more ...
I've come to the conclusion that I need to study hard to get to their level.I often write things that have no use for me at that moment, just to exercise.