Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defun ext_polygon(p s a / p2 p3 p4 p5 p6 p7 pa1 pa2)
- (setq p1 (list 0.0 0.0))
- (setq p2 (polar '(0.0 0.0) 0 (* s 4)))
- (setq p3 (list (+ (car p2) (* s 5)) (* s 5)))
- (setq p4 (list (car p2) (+ (cadr p2) (* s 10))))
- (setq p5 (list 0.0 (* s 10)))
- (setq p6 (list s (* s 9)))
- (setq p7 (list s s))
- (setq pa1 (list 0.0 s))
- (setq pa2 (list 0.0 (* s 9)))
- (setq p1 (turn_point p1 p a))
- (setq p2 (turn_point p2 p a))
- (setq p3 (turn_point p3 p a))
- (setq p4 (turn_point p4 p a))
- (setq p5 (turn_point p5 p a))
- (setq p6 (turn_point p6 p a))
- (setq p7 (turn_point p7 p a))
- (setq pa1 (turn_point pa1 p a))
- (setq pa2 (turn_point pa2 p a))
- (command "_line" p2 p "")
- (command "_arc" p1 "_c" pa1 "_a" 90)
- (command "_line" p7 p6 "")
- (command "_arc" p6 "_c" pa2 "_a" 90)
- (command "_line" p5 p4 "")
- (command "_arc" p2 p3 p4 "")
- )
- (defun int_polygon(p s a / p1 p2 p3 p4 p5)
- (setq p1 (list (* s 3) s))
- (setq p2 (list (* s 4) s))
- (setq p3 (list (* s 7) (* s 5)))
- (setq p4 (list (* s 4) (* s 9)))
- (setq p5 (list (* s 3) (* s 9)))
- (setq p1 (turn_point p1 p a))
- (setq p2 (turn_point p2 p a))
- (setq p3 (turn_point p3 p a))
- (setq p4 (turn_point p4 p a))
- (setq p5 (turn_point p5 p a))
- (command "_line" p2 p1 p5 p4 "")
- (command "_arc" p2 p3 p4 "")
- )
- (defun turn_point(p bp a)
- (list (+ (car bp) (- (* (car p) (cos a)) (* (cadr p) (sin a))))
- (+ (cadr bp) (+ (* (car p) (sin a)) (* (cadr p) (cos a)))))
- )
- (defun c:draw_letter(/ p s a)
- (setq p (getpoint "Input base point: "))
- (setq s (getdist "Pick letter size"))
- (setq a (getangle "Pick angle"))
- (setq s (/ s 10))
- (ext_polygon p s a)
- (int_polygon p s a)
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement