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


(defun c:SPEC ( / make-line make-text-l make-text-c y)
; STREAMING_CHUNK:Configuring system variables...
;; Отключаем привязки, чтобы линии строились ровно
(setvar "OSMODE" 0)
; STREAMING_CHUNK:Creating ISOCPEUR text style...
;; === СОЗДАНИЕ ТЕКСТОВОГО СТИЛЯ ===
;; Проверяем, существует ли стиль, и если нет - создаем его со шрифтом ISOCPEUR
(if (not (tblsearch "STYLE" "GOST_ISOCPEUR"))
(entmakex '((0 . "STYLE")
(100 . "AcDbSymbolTableRecord")
(100 . "AcDbTextStyleTableRecord")
(2 . "GOST_ISOCPEUR")
(70 . 0)
(40 . 0.0)
(41 . 1.0)
(50 . 0.0)
(71 . 0)
(3 . "isocpeur.ttf")
(4 . "")))
)
; STREAMING_CHUNK:Defining helper functions...
;; === ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ ===
;; Функция создания линии
(defun make-line (x1 y1 x2 y2)
(entmakex (list '(0 . "LINE") (list 10 x1 y1 0) (list 11 x2 y2 0)))
)
;; Функция создания текста (выравнивание по левому краю + шрифт ISOCPEUR)
(defun make-text-l (x y txt hgt)
(entmakex (list '(0 . "TEXT") (list 10 x y 0) (cons 40 hgt) (cons 1 txt) '(7 . "GOST_ISOCPEUR")))
)
;; Функция создания текста (выравнивание по центру + шрифт ISOCPEUR)
(defun make-text-c (x y txt hgt rot)
(entmakex (list '(0 . "TEXT") (list 10 x y 0) (cons 40 hgt) (cons 1 txt)
(cons 50 (* pi (/ rot 180.0))) '(72 . 1) (list 11 x y 0) '(7 . "GOST_ISOCPEUR")))
)
; STREAMING_CHUNK:Drawing table grid...
;; === 1. РИСОВАНИЕ СЕТКИ ТАБЛИЦЫ ===
;; Горизонтальные линии строк (высота 8, от Y=40 до Y=272)
(setq y 40)
(while (<= y 272)
(make-line 0 y 185 y)
(setq y (+ y 8))
)
;; Верхняя линия шапки
(make-line 0 287 185 287)
;; Вертикальные линии колонок
(make-line 0 40 0 287)       ;; Левая граница
(make-line 6 40 6 287)       ;; Формат
(make-line 12 40 12 287)     ;; Зона
(make-line 20 40 20 287)     ;; Поз.
(make-line 90 40 90 287)     ;; Обозначение
(make-line 153 40 153 287)   ;; Наименование
(make-line 163 40 163 287)   ;; Кол.
(make-line 185 0 185 287)    ;; Правая граница (до самого низа)
(make-line 0 0 0 40)         ;; Левая граница нижнего штампа
; STREAMING_CHUNK:Drawing title block grid...
;; Горизонтальные линии нижнего штампа
(make-line 0 0 185 0)
(make-line 0 5 65 5)
(make-line 0 10 65 10)
(make-line 0 15 185 15)
(make-line 0 20 65 20)
(make-line 135 20 185 20)
(make-line 0 25 65 25)
(make-line 135 25 185 25)
(make-line 0 30 65 30)
(make-line 0 35 65 35)
;; Вертикальные линии нижнего штампа
(make-line 17 0 17 40)
(make-line 40 0 40 40)
(make-line 55 0 55 40)
(make-line 65 0 65 40)
(make-line 135 0 135 40)
(make-line 150 15 150 25)
(make-line 165 15 165 25)
; STREAMING_CHUNK:Inserting header texts...
;; === 2. ЗАПОЛНЕНИЕ ТЕКСТА (ШАПКА И ШТАМП) ===
(make-text-c 3 279.5 "Формат" 2.5 90)
(make-text-c 9 279.5 "Зона" 2.5 90)
(make-text-c 16 279.5 "Поз." 3 0)
(make-text-c 55 278 "Обозначение" 3.5 0)
(make-text-c 121.5 278 "Наименование" 3.5 0)
(make-text-c 158 279.5 "Кол." 2.5 90)
(make-text-c 174 281 "Приме-" 3 0)
(make-text-c 174 275 "чание" 3 0)
;; Текст в штампе
(make-text-c 100 30 "ТПЖА. ХХХХХХ. ХХХ. ХХ" 5 0)
(make-text-c 100 10 "Вентиль" 7 0)
(make-text-c 142.5 21.5 "Лит." 2.5 0)
(make-text-c 157.5 21.5 "Лист" 2.5 0)
(make-text-c 175 21.5 "Листов" 2.5 0)
(make-text-c 142.5 16.5 "У" 3.5 0)
(make-text-c 175 16.5 "1" 3.5 0)
; STREAMING_CHUNK:Inserting specification data...
;; === 3. ЗАПОЛНЕНИЕ ДАННЫХ (сдвинуто на 1 строку вниз) ===
;; Документация
(make-text-c 121.5 258 "Документация" 3.5 0)
(make-text-c 3 242 "А2" 3.5 0)
(make-text-l 22 241.5 "ТПЖА.491112.299 СБ" 3.5)
(make-text-l 92 241.5 "Сборочный чертеж" 3.5)
(make-text-c 3 234 "А4" 3.5 0)
(make-text-l 22 233.5 "ТПЖА.491112.299 Е1" 3.5)
(make-text-l 92 233.5 "Схема деления изделия" 3.5)
(make-text-l 92 225.5 "на составные части" 3.5)
;; Сборочные единицы
(make-text-c 121.5 210 "Сборочные единицы" 3.5 0)
(make-text-c 3 194 "А4" 3.5 0)
(make-text-c 16 194 "1" 3.5 0)
(make-text-l 22 193.5 "ТПЖА.303666.501" 3.5)
(make-text-l 92 193.5 "Шпиндель в сборе" 3.5)
(make-text-c 158 194 "1" 3.5 0)
; STREAMING_CHUNK:Inserting parts data...
;; Детали
(make-text-c 121.5 178 "Детали" 3.5 0)
(make-text-c 3 162 "А3" 3.5 0) (make-text-c 16 162 "2" 3.5 0) (make-text-l 22 161.5 "ТПЖА.731616.502" 3.5) (make-text-l 92 161.5 "Корпус" 3.5) (make-text-c 158 162 "1" 3.5 0)
(make-text-c 3 154 "А4" 3.5 0) (make-text-c 16 154 "3" 3.5 0) (make-text-l 22 153.5 "ТПЖА.752175.503" 3.5) (make-text-l 92 153.5 "Втулка нажимная" 3.5) (make-text-c 158 154 "1" 3.5 0)
(make-text-c 3 146 "А4" 3.5 0) (make-text-c 16 146 "4" 3.5 0) (make-text-l 22 145.5 "ТПЖА.753137.504" 3.5) (make-text-l 92 145.5 "Штуцер" 3.5) (make-text-c 158 146 "1" 3.5 0)
(make-text-c 3 138 "А4" 3.5 0) (make-text-c 16 138 "5" 3.5 0) (make-text-l 22 137.5 "ТПЖА.753770.505" 3.5) (make-text-l 92 137.5 "Маховичок" 3.5) (make-text-c 158 138 "1" 3.5 0)
(make-text-c 3 130 "А4" 3.5 0) (make-text-c 16 130 "6" 3.5 0) (make-text-l 22 129.5 "ТПЖА.754160.506" 3.5) (make-text-l 92 129.5 "Прокладка" 3.5) (make-text-c 158 130 "1" 3.5 0)
(make-text-c 3 122 "А4" 3.5 0) (make-text-c 16 122 "7" 3.5 0) (make-text-l 22 121.5 "ТПЖА.758420.507" 3.5) (make-text-l 92 121.5 "Гайка накидная" 3.5) (make-text-c 158 122 "1" 3.5 0)
; STREAMING_CHUNK:Inserting standard components...
;; Стандартные изделия
(make-text-c 121.5 106 "Стандартные изделия" 3.5 0)
(make-text-c 16 90 "8" 3.5 0) (make-text-l 92 89.5 "Винт М6х16 ГОСТ 17473-80" 3.5) (make-text-c 158 90 "1" 3.5 0)
(make-text-c 16 82 "9" 3.5 0) (make-text-l 92 81.5 "Шайба 2.6 ГОСТ 11371-78" 3.5) (make-text-c 158 82 "1" 3.5 0)
;; Материалы
(make-text-c 121.5 66 "Материалы" 3.5 0)
(make-text-c 16 50 "10" 3.5 0) (make-text-l 92 49.5 "Шнур пеньковый" 3.5) (make-text-c 158 50 "0,012" 3.5 0) (make-text-l 165 49.5 "кг" 3.5)
; STREAMING_CHUNK:Restoring parameters...
;; Восстанавливаем привязки
(setvar "OSMODE" 4133)
(princ "\nСпецификация с шрифтом ISOCPEUR и правильными отступами успешно начерчена!")
(princ)
)