Загрузка данных


(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)