Auto CAD

Блок заголовков


Разве не было бы замечательно, если бы программа автоматически помещала блок заголовка в определенный слой? И разве не было бы еще лучше, если бы она автоматически создавала такой слой, предварительно запросив у пользователя имя и цвет слоя? Возможно, вы предпочитаете вводить стандартные имя слоя и цвет, используя файл шаблона, но я покажу вам программу в листинге 8.3, чтобы вы знали, как ввести пользовательскую информацию и сохранить ее в виде переменной.

Эта программа немного сложнее и в ней представлены три новых функции:

     setq — создает программные переменные, чтобы можно было сохранять значения и затем использовать их в программе. Функция setq подробно обсуждается далее в этой главе, но сейчас вам не нужно знать о ней больше. Просто пользуйтесь ей для хранения данных, как показано в примере.

     getstring— функция, которая считывает все, что пользователь введет с клавиатуры. Если вы хотите, чтобы у пользователей была возможность вводить что-либо с пробелами, вы должны включить букву т в качестве аргумента: (getstring Т "nDestination layer: "), Т может быть как заглавной, так и строчной, но п всегда должно быть в нижнем регистре.

     entiast — выбирает последний созданный объект. Затем имя этого объекта может быть присвоено в качестве значения программной переменной,

В этой программе созданы три программных переменных: lname, lcoior и

sal. Их имена я просто придумал. Вы можете присвоить программной переменной почти любое имя, но следует помнить о нескольких правилах:

     Используйте такие имена переменных, которые помогут вам через месяц вспомнить, что делает ваша программа. Я пользуюсь постоянной системой именования переменных одного типа. Если у меня много программных переменных, в которых сохраняются наборы (для выбора объектов), строки, точки, углы, расстояния, радиусы, диаметры и т. д., я стараюсь использовать такие имена программных переменных, как ssi, sti, ptl, angi, disti, radi и dial. Однако такая система подходит только для относительно простых программ. В более длинных программах вы должны пользоваться именами, подробнее описывающими переменные.

     Не пользуйтесь именами функций AutoLISP в качестве имен переменных. Вы узнаете о такой ошибке, когда увидите, что имя переменной, введенное в Visual LISP, показано синим цветом вместо черного. Например, pi, set и SETQ являются функциями AutoLISP, и их не следует переопределять как программные переменные. Если вы переопределите встроенные функции, они перестанут интерпретироваться как функции.

Комментарии закрыты