Лекція
Використання пакетних файлів для автоматизації проектування
Пакетний файл – це текстовий файл, який містить команди AutoCAD і відповіді на підказки до цих команд (але не містить самих підказок). Пакетні файли мають розширення *.scr.
Пакетний файл для побудови, наприклад, відрізка між точками (10,20) і (15,30) може мати такий вміст:
LINE(
10,20(
15,30(
(
Якщо такий пакетний файл записати під іменем OneLine.SCR на диск за допомогою програми NOTEPAD (БЛОКНОТ), то його у подальшому можна автоматично виконати.
Пакетний файл можна виконати, перетягуючи його у зону рисунка головного вікна Автокада, або з допомогою команди SCRIPT (меню Tools > Run script…), яка вимагає вказання пакетного файла:
Після вибору пакетний файл починає виконуватись в автоматичному режимі.
При цьому з файла вибирається перше слово, яке сприймається як команда. Ця команда починає виконуватись. Якщо ця команда вимагає відповіді на підказки, то з пакетного файлу послідовно вибирається наступне слово (послідовність символів), що підставляється як відповідь на підказку.
Далі ACAD переходить до виконання наступної команди з пакетного файлу, якщо вона в ньому існує.
У командному рядку діалог для пакетного файла OneLine.SCR має вигляд:
Command:LINE
Specify first point:10,20
Specify next point or [Undo]:15,30
Specify next point or [Undo]:
Command:
Пакетні файли створюють з допомогою сторонніх по відношенню до ACAD спеціалізованих програм, що можуть бути написані на будь-якій з мов програмування високого рівня.
Послідовність розробки програм для створення пакетних файлів
1) Побудувати параметризоване зображення – результат виконання пакетного файла. Наприклад, при проектуванні залізобетонних балок дещо спрощене параметризоване зображення поперечного перерізу може мати вигляд:
2) Розробити математичну модель об’єкта проектування (алгоритм). Цей алгоритм повинен реалізувати формули для визначення параметрів зображення (креслення) об’єкта проектування. Для нашого прикладу це мають бути залежності b, h, c та d від прогону балки, навантажень та характеристик бетону і арматури.
3) Записати символічний вміст пакетного файла з використанням параметрів зображення об’єкта проектування. Цей файл не можна виконати. Він є допоміжним засобом для написання програми.
Приклад.
Запишемо символічний вміст пакетного файла для такого параметризованого зображення поперечного перерізу стрижня (у формі квадрата):
Рис.1
Символічний вміст:
4) Розробити програму, що передбачає:
введення вихідних даних (конкретних числових значень);
обчислення конкретних числових значень параметрів зображення об’єкта проектування;
відкриття пакетного файла;
наповнення його конкретним вмістом;
закривання пакетного файла;
завершення програми.
Напишемо програму для створення пакетного файла фігури за рис. 1 з відповідним символічним вмістом пакетного файлу:
program KW;
var
X, Y, A: real;
F: text;
begin
WriteLn(’Пакетний файл для KW’);
Write(’X=’); ReadLn(X);
Write(’Y=’); ReadLn(Y);
Write(’A=’); ReadLn(A);
{На цей момент введено конкретні числові значення
X, Y, A. Відкриваємо пакетний файл.}
Assign(F, ’KWADR.SCR’);
Rewrite(F);
{Відкрито файл з іменем KWADR.SCR, наповнюємо його
командами та відповідями на підказци до цих
команд}
WriteLn(F, ’LINE’);
WriteLn(F, X:0:4, ’,’, Y:0:4);
{Запис X:0:4 означає, що буде виведене числове
значення X з точністю 4 знаки після коми,
без початкового пропуску (пробіла), який
зазвичай виводиться Паскалем при друкуванні
додатних дійсних чисел}
WriteLn(F, ’@’, A:0:4, ’,0’);
WriteLn(F, ’@’, A:0:4, ’<90’);
WriteLn(F, ’@’, (-A):0:4, ’,0’);
WriteLn(F, ’c’);
{Наповнили пакетний файл конкретним вмістом,
закриваємо файл}
Close(F);
end.
Якщо пакетний файл має виконуватися в ACAD з мовою, що відрізняється від англійської, то замість ’LINE’ та ’c’ в програмі треба писати ’_LINE’ та ’_c’ відповідно (тут символ ’_’ – це символ підкреслювання, а не позначення пробіла).
Далі цю програму треба набрати у середовищі Turbo Pascal, відлагодити її та виконати. У процесі виконання програми, треба ввести конкретні числові значення X, Y, A. Після завершення програми, на диску буде створений файл з іменем KWADR.SCR, який і треба буде виконати з допомогою команди SCRIPT Автокада.
Ще один приклад.
Написати програму створення пакетного файлу для побудови графічного зображення поперечного перерізу елемента конструкції:
Символічний вміст пакетного файла (один з можливих варіантів) :
line
x,y
x+a,y(
x+a,y+b(
x,y+b(
c(
Записуємо текст програми:
program RECT;
var
X, Y, A, B: real;
F: text;
begin
WriteLn(’Пакетний файл для побудови прямокутн.’);
Write(’X=’); ReadLn(X);
Write(’Y=’); ReadLn(Y);
Write(’A=’); ReadLn(A);
Write(’B=’); ReadLn(B);
Assign(F, ’RECTANG.SCR’);
Rewrite(F);
WriteLn(F, ’LINE’);
WriteLn(F, X:0:4, ’,’, Y:0:4);
WriteLn(F, (X+A):0:4, ’,’, Y:0:4);
WriteLn(F, (X+A):0:4, ’,’, (Y+B):0:4);
WriteLn(F, X:0:4, ’,’, (Y+B):0:4);
WriteLn(F, ’c’);
Close(F);
end.
Ще один приклад:
Написати програму створення пакетного файлу для побудови графічного зображення поперечного перерізу елемента конструкції:
Символічний вміст пакетного файла (один з можливих варіантів) :
line
x,y
@(-b),0(
@(b-c),a(
c(
Записуємо текст програми:
program TR;
var
x, y, a, b, c: real;
fo: text;
begin
WriteLn(’Пакетний файл для побудови трикутн.’);
Write(’x=’); ReadLn(x);
Write(’y=’); ReadLn(y);
Write(’a=’); ReadLn(a);
Write(’b=’); ReadLn(b);
Write(’c=’); ReadLn(c);
Assign(fo, ’TR.SCR’);
Rewrite(fo);
WriteLn(fo, ’line’);
WriteLn(fo, x:0:3, ’,’, y:0:4);
WriteLn(fo, ’@’, (-b):0:3, ’,0’);
WriteLn(fo, ’@’, (b-c):0:3, ’,’, a:0:4);
WriteLn(fo, ’c’);
Close(fo);
end.