Page 67 - AutoLISP и Visual LISP в среде AutoCAD
P. 67

управления. После работы с графическим экраном производится повторный
                  вызов  диалогового  окна  с  восстановлением  запомненных  параметров.  В
                  момент работы с диалоговым окном запрещены следующие функции:
                         1.     Запросы команд AutoCad (command, osnap);
                         2.     Функции  ввода  пользователем  (все  функции get,  например,
                  getint, getreal, getpoint);
                         3.     Функции  управления  экраном  (prompt, menucmd, redraw,
                  graphscr, textscr, textpage);
                         4.     Функции  непосредственной  отрисовки  на  графическом  экране
                  (grclear, grdraw, grread, grtext);
                         5.     Функции создания наборов (ssget);
                         6.     Функции  управления  примитивами  (entmod, entmake, entdel,
                  entsel, nentsel, entupd).
                         Ниже представлены  исходные  тексты  диалога  на  языке DCL и
                  программы  на AutoLisp,  реализующей  модифицированную  команду DIST
                  системы AutoCad.
                                                    Диалог на языке DCL


                  dist : dialog {
                       label = "Dist";
                       : row {
                             key = "r1";
                             : boxed_column {
                                  label = "Первая точка";
                                  key = "p1";
                                  children_fixed_width = true;
                                  : text {
                                       value = "X=";
                                       key = "x1";
                                       width = 13;
                                  }
                                  : text {
                                       value = "Y=";
                                       key = "y1";
                                       width = 13;
                                  }
                                  : text {
                                       value = "Z=";
                                       key = "z1";
                                       width = 13;
                                  }
                             }
                             : boxed_column {
                                  label = "Вторая точка";
                                  key = "p2";
                                  : text {
                                       value = "X=";
                                       key = "x2";
                                       width = 13;
                                  }
                                  : text {

                  66
   62   63   64   65   66   67   68   69   70   71   72