Параметрические изображения объектов проектирования на основе использования языка АВТОЛИСП в среде АВТОКАД. Притыкин Ф.Н. - 86 стр.

UptoLike

Составители: 

86
необходимо получить элементы m
0,k
матрицы (6.6), полученной умноже-
нием (6.2) k-матриц.
Приведем текст программы, позволяющей выполнять определение
элементов матриц произведения M
0,k
и координат узловых точек меха-
низма манипулятора на фронтальной и горизонтальной проекциях.
;==================== начало - call_coord ==================
(defun calc_coord ()
;Подпрограмма осуществляющая расчет матриц Mо,k определяющих
положение звеньев механизма и проекций координат узловых точек
;конфигураций
(sp-calc_coord) (calc_mkn ui li smi kodi) (setq n 0)
;Вычисление матриц М o,k задающих положение звеньев в неподвижной
;системе координат.
(while (< n nmat)
(setq moki (mprd moki (nth ( + n 2) mkn) 4) mok (subs mok (+ n 2) nmat moki)
;вычисление координат узловых точек манипулятора на фронтальной
;проекции определяемых списком – pfr –
pfri (list (+ vv (nth 4 moki)) (+ ez (nth 12 moki)))
pfr (subs pfr (+ n 2) nmat pfri)
;вычисление координат узловых точек манипулятора
;на горизонтальной
проекции определяемых спис
ком – pgr –
pgri (list (+ vv (nth 4 moki)) (nth 8 moki))
pgr (subs pgr (+ n 2) nmat pgri)
;вычисление координат узловых точек манипулятора на профильной
;проекции определяемых списком – ppr –
ppri (list (- vvp (nth 8 moki)) (+ ez (nth 12 moki)))
ppr (subs ppr (+ n 2) nmat ppri) n (+ n 1) ));setq-while
);================== конец - call_coord =====================
Программа calc_coord использует подпрограмму (sp-calc_coord)
для определения размерности списков mkn, pfr, pgr, ppr и подпрограмму
mprd, предназначенную, для перемножения матриц размером 4×4.
необходимо получить элементы m0,k матрицы (6.6), полученной умноже-
нием (6.2) k-матриц.
    Приведем текст программы, позволяющей выполнять определение
элементов матриц произведения M0,k и координат узловых точек меха-
низма манипулятора на фронтальной и горизонтальной проекциях.

;==================== начало - call_coord ==================
(defun calc_coord ()
;Подпрограмма осуществляющая расчет матриц Mо,k определяющих
положение звеньев механизма и проекций координат узловых точек
;конфигураций
   (sp-calc_coord) (calc_mkn ui li smi kodi) (setq n 0)
;Вычисление матриц М o,k задающих положение звеньев в неподвижной
;системе координат.
  (while (< n nmat)
   (setq moki (mprd moki (nth ( + n 2) mkn) 4) mok (subs mok (+ n 2) nmat moki)
    ;вычисление координат узловых точек манипулятора на фронтальной
     ;проекции определяемых списком – pfr –
     pfri (list (+ vv (nth 4 moki)) (+ ez (nth 12 moki)))
     pfr (subs pfr (+ n 2) nmat pfri)
     ;вычисление координат узловых точек манипулятора
     ;на горизонтальной проекции определяемых списком – pgr –
     pgri (list (+ vv (nth 4 moki)) (nth 8 moki))
     pgr (subs pgr (+ n 2) nmat pgri)
     ;вычисление координат узловых точек манипулятора на профильной
     ;проекции определяемых списком – ppr –
     ppri (list (- vvp (nth 8 moki)) (+ ez (nth 12 moki)))
     ppr (subs ppr (+ n 2) nmat ppri) n (+ n 1) ));setq-while
);================== конец - call_coord =====================

    Программа calc_coord использует подпрограмму (sp-calc_coord)
для определения размерности списков mkn, pfr, pgr, ppr и подпрограмму
mprd, предназначенную, для перемножения матриц размером 4×4.


                                      86