(defun c:SMOOTHHAND ( / old_osnap)
(setq old_osnap (getvar "OSMODE"))
(setvar "OSMODE" 0)
(command "_.VPOINT" '(1 -1 1))
(command "_.VSCURRENT" "_C")
;; --- 1. ГЛАДКАЯ ЛАДОНЬ ---
(command "_.COLOR" "43") ; Бежевый цвет
;; Основная плоскость ладони (прямоугольник внутри)
(command "_.BOX" '(-24 -5 -9) '(24 30 3))
;; Скругленные края ладони (цилиндры по периметру)
(command "_.CYLINDER" '(-24 -5 -3) 6 "_A" '(-24 30 -3))
(command "_.CYLINDER" '(24 -5 -3) 6 "_A" '(24 30 -3))
(command "_.CYLINDER" '(-24 30 -3) 6 "_A" '(24 30 -3))
(command "_.CYLINDER" '(-24 -5 -3) 6 "_A" '(24 -5 -3))
;; Идеально круглые углы ладони (сферы)
(command "_.SPHERE" '(-24 -5 -3) 6)
(command "_.SPHERE" '(-24 30 -3) 6)
(command "_.SPHERE" '(24 30 -3) 6)
(command "_.SPHERE" '(24 -5 -3) 6)
;; --- 2. ГЛАДКИЕ ПАЛЬЦЫ ---
;; Вспомогательная функция построения круглого пальца (капсулы)
(defun make-finger (x y z r dx dy)
(command "_.CYLINDER" (list x y z) r "_A" (list (+ x dx) (+ y dy) z))
(command "_.SPHERE" (list x y z) r)
(command "_.SPHERE" (list (+ x dx) (+ y dy) z) r)
)
;; Рисуем 4 пальца (направлены прямо)
(make-finger -19 30 -3 4.5 0 22) ; Мизинец
(make-finger -7 30 -3 4.8 0 32) ; Безымянный
(make-finger 5 30 -3 5.0 0 38) ; Средний
(make-finger 17 30 -3 4.8 0 30) ; Указательный
;; Большой палец (отходит под углом 45 градусов от правого края)
(make-finger 24 5 -3 5.5 17.7 17.7)
;; --- 3. ПОНЧИК (Тор) ---
(command "_.COLOR" "34")
(command "_.TORUS" '(0 12 10) 15 7)
;; --- 4. ГЛАЗУРЬ ---
(command "_.COLOR" "211")
(command "_.TORUS" '(0 12 11.5) 15 6)
;; --- 5. 3D ПОСЫПКА (Разноцветные сферы) ---
(command "_.COLOR" "1") (command "_.SPHERE" '(9 21 16) 1.2)
(command "_.COLOR" "2") (command "_.SPHERE" '(-9 21 16) 1.2)
(command "_.COLOR" "3") (command "_.SPHERE" '(11 7 16) 1.2)
(command "_.COLOR" "4") (command "_.SPHERE" '(-11 7 16) 1.2)
(command "_.COLOR" "5") (command "_.SPHERE" '(0 25 16) 1.2)
(command "_.COLOR" "6") (command "_.SPHERE" '(0 -1 16) 1.2)
(command "_.COLOR" "7") (command "_.SPHERE" '(-6 23 16) 1.2)
(command "_.COLOR" "1") (command "_.SPHERE" '(5 1 16) 1.2)
;; Возврат настроек
(command "_.COLOR" "_BYLAYER")
(setvar "OSMODE" old_osnap)
(princ "\nГладкая анатомическая рука построена! Вызови команду SMOOTHHAND.")
(princ)
)
(c:SMOOTHHAND)