Логотип сайта поддержки пользователей САПРО сайте поддержки пользователей САПР Translate to:
Hosting Ukraine

Программа 2 – описание работы со свайным полем – установка блоков свай по типам, их нумерация, и получение сводных данных в таблице

Оглавление

Прежде, чем начать применять задачи, необходимо выполнить на чертеже установку свайного поля. Помочь в этом может вставленный в чертеж шаблон-заготовка, помогающий быстро выбрать и установить необходимую сваю (всего 15 видов). Установленные сваи в свайном поле имеют в атрибуте номера число, состоящее из двух чисел, где первое число соответствует длине сваи (5-6-7-8-9), а второе число соответствует варианту сваи данной длины (1-2-3). Это двузначное число помогает визуальному контролю правильности выбора и установки сваи. После окончания установки свай на чертеже, в этом атрибуте производится автоматическая замена указанного числа на последовательно устанавливаемый номер сваи, после того, как задан первый номер, тем самым заменяя номер модификации сваи. Иногда производится корректировка свайного поля, при которой добавляется или уменьшается количество свай. В этом случае удобно вернуть в атрибут номера двузначное число, соответствующее модификации сваи, т.е. ее длине и варианту. Для этого запускается задача возврата числа модификации. После корректировки свайного поля нужно снова автоматически установить номер каждой сваи.

Программа 2 содержит 6 Lisp-файлов, в том числе:

Программа (sva) – головной модуль

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

Поскольку этот модуль является простейшей конструкцией, исполь-зуемой только для выбора задач, мы рассмотрим его поверхностно, тем не менее, надо учитывать, что в создаваемых программах часто используется такой способ по созданию головного модуля;

defun sva ()
Программная объединяющая функция главного модуля. Функция defun под именем /sva/ объединяет все функции программы для выбора любой из них В сеансе Автокада она вызывается с помощью команды: (load "имя_файла") - загрузка файла, после чего в скобках указывается (имя_файла) для исполнения. Для нашего случая набрать (load "sva") - загрузка файла, после чего продолжить - (sva) для исполнения, полную запись (load "sva")(sva) необходимо указать в командной строке Автокада или в пункте меню через режим адаптации – создание пользовательских меню
(textscr)
Функция позволяет переключить экран из графического режима Автокада в текстовый, чтобы можно было прочитать сообщения программы в текстовом окне Автокада
(princ"===")(terpri)
Визуальный разделитель в текстовом окне Автокада при выводе информации, помогает выделить отдельные фрагменты текста
(princ "ВЫБЕРИТЕ ВАРИАНТ, ПОСЛЕ УСТАНОВКИ СВАЙНОГО ПОЛЯ")
(terpri)
Заголовок для выводимой информации в текстовом окне Автокада – начало упрощенного текстового меню
(princ“===")(terpri)
Визуальный разделитель в текстовом окне Автокада при выводе информации, помогает выделить отдельные фрагменты текста
(princ
"РУЧНОЕ ИЗМЕНЕНИЕ НОМЕРА СВАИ = 1 ") (terpri)
Пояснение для выбираемого первого варианта, т.е. при выборе варианта 1 запустится программа zns.lsp - ручного (с помощью курсора) изменения номера сваи простым указанием на блок сваи, последовательно увеличивая каждый номер на единицу
(princ " АВТОМАТИЧЕСКОЕ ИЗМЕНЕНИЕ НОМЕРА СВАИ  = 2  ")
(terpri)
Пояснение для выбираемого второго варианта, т.е. при выборе варианта 2 запустится программа zans.lsp Вариант для показания возможностей программирования. В связи с тем, что нумерация свай по полю носит хаотический характер – зависит от времени вставки блока, используя эту задачу можно создать на ее основе упорядоченную структуру нумерации свай – например задавая прямоугольные сектора и закладывая ограничения (сверху вниз и справа налево). Скорость нумерации свай при этом будет возрастать
(princ " СЧЕТ ДАННЫХ, ВЫВОД В ТАБЛИЦУ = 3 ")
(terpri)
Пояснение для выбираемого третьего варианта, т.е. при выборе варианта 3 запустится программа kols.lsp Позволяет вывести в таблицу данных количественные показатели по типам свай и их номера через пробел
(princ " ВОЗВРАТ В ЧЕРТЕЖ ТИПА СВАИ = 4 ")
(terpri)
Пояснение для выбираемого четвертого варианта, т.е. при выборе варианта 4 запустится программа vns.lsp Эта задача позволяет автоматически изменить номер каждой сваи на чертеже на ее номер модификации, что позволяет внести изменения в чертеж, добавляя сваи по их модификации
(princ "====")(terpri)
Визуальный разделитель в текстовом окне Автокада при выводе информации, помогает выделить отдельные фрагменты текста. Функция princ позволяет вывести в окно текстового режима Автокада надписи, которые помогут сориентироваться и правильно ответить на следующий вопрос. Функция terpri выводит следующее текстовое сообщение с новой строки для правильного прочтения
(setq vvbb (getstring "\n ВЫБЕРИТЕ ВАРИАНТ \n:  "))
Getstring – функция ввода символьной строки с клавиатуры и записи ее в переменную vvbb с помощью функции setq. В нашем случае мы вводим число в виде символа в ответ на запрос. В следующих условных функциях if идет сравнение переменной vvbb с символьным числом с по функции equal с символьным числом. Если при проверке значения символов совпадут, то мы попадаем внутрь условного выражения. В данном случае запустится выбранная функция
(if (equal vvbb "1")(progn (load"zns")(zns)
(setq znc nil)(gc)))
При значении переменной vvbb равном «1», запускается задача ручной скоростной последовательной нумерации свай. В конце обнуление задачи, для очистки памяти
(if (equal vvbb "2")(progn (load"zans")(zans)
(setq zanc nil)(gc)))
При значении переменной vvbb равном «2», запускается задача автоматической хаотичной нумерации свай. В конце обнуление задачи, для очистки памяти
(if (equal vvbb "3")  (progn (load"kols")(kols)
(setq kols nil)(gc)))
При значении переменной vvbb равном «3», запускается задача обсчета свай, установленных на чертеже. Данные обсчета заносятся в таблицу. В конце обнуление задачи, для очистки памяти
(if (equal vvbb "4")(progn (load"vns")(vns)
(setq vnc nil)(gc)))
При значении переменной vvbb равном «4», запускается задача автоматического возврата в номер сваи – номера модификации сваи. Задача используется для корректировки свайного поля. В конце обнуление задачи, для очистки памяти
(setq vvbb nil)
Уничтожение переменной
)
Скобка закрытия программной объединяющей функции работы со сваями (функция defun) под именем sva

Полный текст программы "sva.lsp"

(defun sva() ;общая ФУНКЦИЯ работы со сваями
(textscr)
(princ "===============================================")(terpri)
(princ "ВЫБЕРИТЕ ВАРИАНТ ПОСЛЕ УСТАНОВКИ СВАЙНОГО ПОЛЯ ")(terpri)
(princ "===============================================")(terpri)
(princ "   РУЧНОЕ     ИЗМЕНЕНИЕ N СВАИ    = 1          ")(terpri)
(princ "АВТОМАТИЧЕСКОЕ ИЗМЕНЕНИЕ N СВАИ   = 2          ")(terpri)
(princ "    ОБСЧЕТ     ВЫВОД В ТАБЛИЦУ    = 3          ")(terpri)
(princ "    ВОЗВРАТ          ТИПА СВАИ    = 4          ")(terpri)
(princ "===============================================")(terpri)
(setq vvbb (getstring"\n ВЫБЕРИТЕ ВАРИАНТ\n: "))
(if (equal vvbb "1")(progn (load"zns")(zns)))
(if (equal vvbb "2")(progn (load"zans")(zans)))
(if (equal vvbb "3")(progn (load"kols")(kols)))
(if (equal vvbb "4")(progn (load"vns")(vns)))
(setq vvbb nil)
)
Оглавление



Copyright © Сайт поддержки пользователей САПР