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


(defun c:ДЕТАЛИ ( / oldos my-arc my-line my-circle i ang step)
;; Отключаем привязки и эхо для чистого построения
(setq oldos (getvar "OSMODE"))
(setvar "OSMODE" 0)
(setvar "CMDECHO" 0)
;; Вспомогательные функции для точного построения без погрешностей
(defun my-arc (cx cy r a1 a2 / p1 p2)
(setq p1 (list (+ cx (* r (cos a1))) (+ cy (* r (sin a1)))))
(setq p2 (list (+ cx (* r (cos a2))) (+ cy (* r (sin a2)))))
(command "_arc" "_c" (list cx cy) p1 p2)
)
(defun my-line (x1 y1 x2 y2)
(command "_line" (list x1 y1) (list x2 y2) "")
)
(defun my-circle (cx cy r)
(command "_circle" (list cx cy) r)
)
;; STREAMING_CHUNK: Строим Деталь 1 (Крышка) - Внешний замкнутый контур
;; Базовые центры: Низ(100, 100), Верх(100, 175)
;; Верхняя дуга R70
(my-arc 100.0 136.077 70.0 0.7356 2.4060)
;; Левое ушко R12 (внешняя часть)
(my-arc 57.0 175.0 12.0 2.4060 3.1416)
;; Левая прямая сторона
(my-line 45.0 175.0 45.0 100.0)
;; Нижний левый радиус R13
(my-arc 58.0 100.0 13.0 3.1416 0.4200)
;; Левое нижнее сопряжение R10
(my-arc 79.0 109.381 10.0 3.5616 5.8632)
;; Нижний центральный радиус R13
(my-arc 100.0 100.0 13.0 2.7216 0.4200)
;; Правое нижнее сопряжение R10
(my-arc 121.0 109.381 10.0 3.5616 5.8632)
;; Правый нижний радиус R13
(my-arc 142.0 100.0 13.0 2.7216 0.0)
;; Правая прямая сторона
(my-line 155.0 100.0 155.0 175.0)
;; Правое ушко R12 (внешняя часть)
(my-arc 143.0 175.0 12.0 0.0 0.7356)
;; STREAMING_CHUNK: Строим Деталь 1 (Крышка) - Внутренние вырезы и отверстия
;; Внутренние части ушек R12 и их сопряжения R8 с центральной бобышкой
(my-arc 57.0 175.0 12.0 0.5033 2.4060)   ;; Левое ушко (внутри сверху)
(my-arc 57.0 175.0 12.0 3.1416 5.0489)   ;; Левое ушко (внутри снизу)
(my-arc 143.0 175.0 12.0 0.7356 2.6383)  ;; Правое ушко (внутри сверху)
(my-arc 143.0 175.0 12.0 4.3759 0.0)     ;; Правое ушко (внутри снизу)
(my-arc 63.605 156.122 8.0 0.4787 1.9073) ;; Левое сопряжение R8
(my-arc 136.395 156.122 8.0 1.2343 2.6629) ;; Правое сопряжение R8
;; Центральная бобышка D=66 (R=33)
(my-circle 100.0 175.0 33.0)
;; 7 отверстий D=10 (R=5) на центровой окружности D=48 (R=24)
(setq i 0)
(setq ang (/ pi 2.0))
(setq step (/ (* 2.0 pi) 7.0))
(while (< i 7)
(my-circle (+ 100.0 (* 24.0 (cos ang))) (+ 175.0 (* 24.0 (sin ang))) 5.0)
(setq ang (+ ang step))
(setq i (1+ i))
)
;; Отверстия в ушках (2 шт. D=12)
(my-circle 57.0 175.0 6.0)
(my-circle 143.0 175.0 6.0)
;; Отверстия внизу (3 шт. D=18)
(my-circle 58.0 100.0 9.0)
(my-circle 100.0 100.0 9.0)
(my-circle 142.0 100.0 9.0)
;; STREAMING_CHUNK: Строим Деталь 2 (Цилиндр) - Верхняя часть (паз и шея)
;; Базовый центр: (300, 100)
;; Внутренний овальный паз
(my-arc 300.0 175.0 10.0 0.0 pi)
(my-arc 300.0 141.0 10.0 pi 0.0)
(my-line 290.0 175.0 290.0 141.0)
(my-line 310.0 141.0 310.0 175.0)
;; Внешняя шея R20
(my-arc 300.0 175.0 20.0 0.0 pi)
(my-line 280.0 175.0 280.0 151.9615)
(my-line 320.0 175.0 320.0 151.9615)
;; STREAMING_CHUNK: Строим Деталь 2 (Цилиндр) - Основной фланец D=100
;; Сопряжения R10 от шеи к фланцу D=100
(my-arc 270.0 151.9615 10.0 0.0 5.2360)
(my-arc 330.0 151.9615 10.0 4.1888 pi)
;; Дуги фланца D=100 (R=50)
(my-arc 300.0 100.0 50.0 2.0944 pi)
(my-arc 300.0 100.0 50.0 0.0 1.0472)
;; Горизонтальные ступеньки (переход от D=100 к центральному D=60)
(my-line 250.0 100.0 270.0 100.0)
(my-line 350.0 100.0 330.0 100.0)
;; STREAMING_CHUNK: Строим Деталь 2 (Цилиндр) - Нижняя часть (ушки и сопряжения)
;; Центральный цилиндр D=60 (R=30)
(my-arc 300.0 100.0 30.0 0.0 pi)
(my-arc 300.0 100.0 30.0 pi 3.3085)
(my-arc 300.0 100.0 30.0 6.1163 0.0)
;; Внутреннее отверстие D=24 (R=12)
(my-circle 300.0 100.0 12.0)
;; Сопряжения R6 от D=60 к нижним ушкам
(my-arc 264.5 94.024 6.0 5.3396 0.1669)
(my-arc 335.5 94.024 6.0 2.9747 4.0852)
;; Нижние ушки R17
(my-arc 278.0 75.403 17.0 2.1980 5.9872)
(my-arc 322.0 75.403 17.0 3.4376 0.9436)
;; Нижнее центральное сопряжение R6 (между ушками)
(my-arc 300.0 68.695 6.0 2.8456 0.2960)
;; Отверстия в ушках (2 шт. D=18)
(my-circle 278.0 75.403 9.0)
(my-circle 322.0 75.403 9.0)
;; STREAMING_CHUNK: Завершение работы
;; Возвращаем привязки и центрируем вид
(setvar "OSMODE" oldos)
(command "_zoom" "_e")
(princ "\nОбе детали начерчены математически идеально, контуры замкнуты!")
(princ)
)