Лекции и лабораторные работы по AutoCAD'у


             

Основы параметрического проектирования - часть 4


Определим размерные параметры детали. Очевидно, их два: длина цилиндра и его диаметр.

Для сложных деталей возможны различные наборы размеров. подходящий набор выбирается из технологических соображений.

Для расчета необходимо задаться точкой привязки - опорной точкой, определяющей положение проекции на листе чертежа. Условимся считать опорной точкой левый конец осевой линии. Также, заглянув в ЕСКД, условимся, что осевая линия выходит за контур на 5мм.

Итак, на входе нашей функции:

-        координата Х

точки привязки;

-        координата Y

точки привязки;

-        длина цилиндра L;

-        диаметр цилиндра D.

Нужно найти:

-        координату X

точки A (обозначим AX);

-        координату Y

точки A (обозначим AY);

-        координату X

точки B (обозначим BX);

-        координату Y

точки B (обозначим BY).

Очевидно, что:

                                  (7.4)

 

Будем считать, что наша функция отображения (назовем ее show) вызывается из некоторой головной функции и ей передаются параметры x, y, l, d

(координаты точки привязки, длина и диаметр цилиндра соответственно). Результаты расчета нужно записывать в локальные переменные функции show. Соображения экономии памяти, а также хорошего стиля программирования приводят к тому, что нам хватит всего двух локальных переменных: в переменную tmp мы будем заносить текущие результаты расчетов, а в переменную lst - список рассчитанных координат. Этот список будет состоять из двух элементов (точки A и B), каждый из которых, в свою очередь, тоже будет списком их двух координат: X

и Y:

.

Пишем программу (легко сказать...):

( DEFUN show ( x y d l / tmp lst )

 ; x, y, s, l - параметры

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

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

 ( SETQ tmp ( + x 5 ) )

 ; в переменную lst записывается список координат

 ; точки A

 ( SETQ lst ( LIST tmp ( + y ( / d 2 ) ) ) )

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

 ( SETQ tmp ( + x 5 l ) )

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

 ; точки B

 ( SETQ tmp ( LIST tmp ( + y ( / d 2 ) ) ) )

 ; в список lst добавляется точка B

 ( SETQ lst ( LIST lst tmp ) )

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

<


Содержание  Назад  Вперед