Функция расчета координат базовых точек и отрисовки

Страницы работы

Содержание работы

На входе программы-параметризатора будут координата Х точки привязки; координата Уточки привязки; длина пилим;

L; диаметр цилиндра D. Требуется найти координату Х точки А (обозначим Ах), координату У точки А (обозначим А координату Х точки В (обозначим Ду); координату Уточки В (обозначим By). Очевидно,что:


Ex = Х + 5 + L

А^ =Х+5;

D

Ay =Y+°-\ By =Y+D-

Y         2      у         2

Будем считать, что функция отображения SHOW вызывается из головной функции и ей передаются параметры Л, Г. L. Результаты расчета нужно записывать в локальные переменные функции SHOW. В переменную //»/; «пюснтся текуи результаты расчетов, а в переменную 1st - список рассчитанных координат. Этот список будет состоять in ;ш\\ )jii;mchh)h ( ю'


((А, Л,

точка,-i


гочк;) И


А и В), каждый из которых, в свою очередь, тоже будет списком их двух координат: Х и У: 1st Ниже представлена программа функции SHOW (см листинг. 8.1).



(DEFUN show ( х у d 1 / tmp 1st)

;х,у,s, 1 - параметры

; tmp, 1st - локальные переменные

( SETQ tmp ( + х 5 )); координата х точки А записывается в переменную tmp

( SETQ 1st ( LIST tmp (+y(/d2))));B переменную 1st записывается список координат точки А

; координата х точки В записывается в переменную tmp

( SETQ tmp ( + х 5 1)); в переменную tmp записывается список координат точки В

( SETQ tmp ( LIST tmp (+y(/d2))));B список 1st добавляется точка В

( SETQ 1st ( LIST 1st tmp ))

( COMMAND "СТЕРЕТЬ" "РАМКА"'(-10000 -10000 ) '(10000 10000)""); Удаляем все объекты

; Рисуем осевую линию красным цветом (код 1)

; и штрих-пунктирно (тип линии CENTER)

( COMMAND "ЦВЕТ" 1 "ТИПЛИН" "УСТАНОВИТЬ" "ОСЕВАЯ2" "")

( COMMAND "ПЛИНИЯ" ( LIST х у ) ( LIST ( + х 1 10 ) у )"")

; Рисуем контур детали белым цветом (код 1)

; и сплошной линией (тип линии CONTINUOS)

( COMMAND "ЦВЕТ" 7 "ТИПЛИН" "УСТАНОВИТЬ" "CONTINUOUS""")

(COMMAND "ПЛИНИЯ"

( LIST ( + х 5 ) у ); левая точка пересечения осевой с контуром

( CAR 1st); точка А

( CADR 1st); точка В

( LIST ( + х 1 5 ) у ); правая точка пересечения осевой с контуром

"") ( COMMAND "ЗЕРКАЛО" ( CAR 1st) "" ( LIST х у ) ( LIST ( + х 1) у ) "Н")

( COMMAND "ЦВЕТ" 1 ) (COMMAND "РАЗМЕР!"

"ГОР" ; размер горизонтальный

( CAR 1st) ; начало первой выносной линии - точка А

( CADR 1st); начало второй выносной линии - точка В

( POLAR ( CAR 1st) (/ PI 2 ) 30 ); размерная линия ; отстоит от контура на 30мм

""); размерный текст ставится автоматически ; Проставляем диаметр

(COMMAND "РАЗМЕР!" "ВЕР" ( CADR 1st) ( LIST ( CAR ( CADR 1st)) (- ( CADR ( CADR 1st)) d )) ( POLAR ( CADR 1st ) 0 30 ) ( STRCAT "%%c" ( RTOS d 2 2 ))) ( COMMAND "ПОКАЖИ" "ВСЕ" )

);конец функции

Листинг 8.1 - Функция расчета координат базовых точек и отрисовки

Размерные параметры конкретного изделия вводятся конструктором с клавиатуры. Функция ввода данных GF.TD1M входе не имеет параметров, а возвращает несколько чисел, объединенных в список. (DEFUN getdim (/Id) ; ввод длины и диаметра

(IN1TGET 7 ); запрет пустого ввода и ввода чисел <=0 ( SETQ 1 ( GETREAL "\пВведите длину валика: ")) (IN1TGET 7)

( SETQ d ( GETREAL "\пВведите диаметр валика: ")) ( LIST d 1); возвращаемое значение ); конец функции getdim

Листинг 8.2 - Функция ввода параметров

Головная функция выполняет подготовительные операции и циклический вызов двух остальных функций: GETDIM SHOW. Для удобства перед именем головной функции добавлены символы "С:". Тогда в AutoCAD появится новая команда

Похожие материалы

Информация о работе