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


(defun c:DrawDerzhatel ( / old_osmode dx x_int pt_top_left pt_bot_left )
;; STREAMING_CHUNK: Сохранение настроек и вычисление сложных координат...
(setq old_osmode (getvar "OSMODE"))
(setvar "OSMODE" 0) ; Отключаем привязки для точного построения
;; Вычисляем точные координаты пересечения горизонтальных линий паза с внешним радиусом R14
;; Центр дуг X = -10, Y = 14. Паз высотой 16 (R8), значит горизонтали на Y=22 и Y=6.
;; Уравнение окружности: dx = sqrt(R^2 - dy^2) = sqrt(14^2 - 8^2)
(setq dx (sqrt (- (* 14.0 14.0) (* 8.0 8.0))))
(setq x_int (- -10.0 dx))
(setq pt_top_left (list x_int 22.0))
(setq pt_bot_left (list x_int 6.0))
;; ==========================================
;; STREAMING_CHUNK: Построение ВИДА СПЕРЕДИ (Видимые линии)...
;; ==========================================
(command "_COLOR" "BYLAYER")
;; Центральный блок и правое ушко
(command "_LINE" "0,28" "14,28" "")    ; Верх центрального блока
(command "_LINE" "14,28" "14,10" "")   ; Правая стенка центрального блока
(command "_LINE" "14,10" "38,10" "")   ; Верх правого ушка
(command "_LINE" "38,10" "38,0" "")    ; Правый торец ушка
(command "_LINE" "38,0" "14,0" "")     ; Низ правого ушка
(command "_LINE" "14,0" "0,0" "")      ; Низ центрального блока
;; Левая вилка (прямые участки)
(command "_LINE" "0,28" "-10,28" "")   ; Верхняя прямая часть левой вилки (длина 10)
(command "_LINE" "0,0" "-10,0" "")     ; Нижняя прямая часть левой вилки (длина 10)
;; Внешняя дуга левой вилки R14 (Рисуется против часовой стрелки от верхней точки к нижней)
(command "_ARC" "_C" "-10,14" "-10,28" "-10,0")
;; Внутренний U-образный паз
(command "_LINE" pt_top_left "-10,22" "") ; Верхняя граница паза
(command "_LINE" "-10,6" pt_bot_left "")  ; Нижняя граница паза
;; Внутренняя дуга паза R8 (Рисуется против часовой стрелки от нижней к верхней)
(command "_ARC" "_C" "-10,14" "-10,6" "-10,22")
;; STREAMING_CHUNK: Вид спереди (Невидимые и осевые линии)...
(command "_COLOR" "3") ; Зеленый (невидимые)
;; Отверстие Ø16,5 в правом ушке (Радиус 8.25. Центр на X=26)
(command "_LINE" "17.75,0" "17.75,10" "")
(command "_LINE" "34.25,0" "34.25,10" "")
(command "_COLOR" "1") ; Красный (осевые)
(command "_LINE" "-27,14" "4,14" "")   ; Горизонтальная ось левого паза
(command "_LINE" "-10,-2" "-10,30" "") ; Вертикальная ось левых радиусов
(command "_LINE" "26,-2" "26,12" "")   ; Вертикальная ось правого отверстия
;; ==========================================
;; STREAMING_CHUNK: Построение ВИДА СВЕРХУ...
;; ==========================================
;; Размещаем вид сверху ниже, Z=0 соответствует Y=-30, Z=-24 соответствует Y=-54
(command "_COLOR" "BYLAYER")
;; Внешний контур (левая вилка и центральный блок сливаются в одну плоскость 24x24)
(command "_LINE" "-24,-30" "26,-30" "") ; Верхняя (задняя) грань
(command "_LINE" "-24,-54" "26,-54" "") ; Нижняя (передняя) грань
(command "_LINE" "-24,-30" "-24,-54" "") ; Левый край (касательная к R14)
;; Правая дуга R12
(command "_ARC" "_C" "26,-42" "26,-54" "26,-30")
;; Ступенька правого ушка (оно ниже центрального блока, поэтому видна граница)
(command "_LINE" "14,-30" "14,-54" "")
;; Видимое отверстие Ø16,5
(command "_CIRCLE" "26,-42" "8.25")
;; STREAMING_CHUNK: Вид сверху (Невидимые и осевые линии)...
(command "_COLOR" "3")
;; Невидимая линия глубины левого паза (доходит до X=-2)
(command "_LINE" "-2,-30" "-2,-54" "")
(command "_COLOR" "1")
(command "_LINE" "-27,-42" "41,-42" "") ; Главная горизонтальная ось
(command "_LINE" "-10,-27" "-10,-57" "") ; Ось центров левой части
(command "_LINE" "26,-27" "26,-57" "")   ; Ось правого отверстия
;; ==========================================
;; STREAMING_CHUNK: Построение ВИДА СЛЕВА...
;; ==========================================
;; Размещаем справа от главного вида. X от 50 до 74 (ширина детали 24)
(command "_COLOR" "BYLAYER")
;; Внешний контур детали на виде слева (прямоугольник 24 на 28)
(command "_LINE" "50,0" "74,0" "")
(command "_LINE" "74,0" "74,28" "")
(command "_LINE" "74,28" "50,28" "")
(command "_LINE" "50,28" "50,0" "")
;; Видимые линии U-образного паза (смотрим прямо в него)
(command "_LINE" "50,22" "74,22" "")   ; Низ верхней губки
(command "_LINE" "50,6" "74,6" "")     ; Верх нижней губки
;; STREAMING_CHUNK: Вид слева (Невидимые и осевые линии)...
(command "_COLOR" "3")
;; Отверстие в правом ушке скрыто за центральным блоком
;; Центр отверстия на X = 50 + 12 = 62
(command "_LINE" "53.75,0" "53.75,10" "")
(command "_LINE" "70.25,0" "70.25,10" "")
(command "_COLOR" "1")
(command "_LINE" "62,-2" "62,30" "")   ; Главная вертикальная ось симметрии
(command "_LINE" "47,14" "77,14" "")   ; Ось симметрии паза
(command "_LINE" "47,5" "77,5" "")     ; Ось правого отверстия по высоте
;; STREAMING_CHUNK: Завершение и зуммирование...
(command "_COLOR" "BYLAYER")
(setvar "OSMODE" old_osmode)
(command "_ZOOM" "_E")
(princ "\nЧертеж детали 'Держатель' в 3-х видах успешно построен!")
(princ)
)