Графор на VB6, VBA Excel, VBA AutoCAD
Год выпуска: 2026
Разработчик: нет
Таблетка: не требуется
Требования: наличие русских шрифтов в системе
Описание: ГРАФОР на VB6, VBA EXСEL, VBA AutoCAD с сохранением в DXF полилинией и демонстрационные программы.
Обратите внимание перед прочтением, что данное программное обеспечение является морально и физически устаревшим (образно).
Данная библиотека программ предназначена только для людей с минимальными знаниями по программированию на языках VB6 и VBA , которым необходимо построить график любой сложности и отправить его в Автокад или Компас. Остальные возможности: по построению чертежей, карт и отображения трехмерных объектов и поверхностей на картинной плоскости, использование геометрических вычислителей, не имеют практического применения из-за морально устаревшей графики. Часть этих программ в данной версии работает с ошибками.
ГРАФОР («Графическое РАсширение ФОРтрана») — библиотека векторной графики на языке Фортран, разработанная в Институте прикладной математики в 1970-x годах под руководством Баяковского Ю. М., изначально для ЭВМ БЭСМ-4. Была портирована на распространенные в СССР платформы (БЭСМ-6, ЕС ЭВМ, СМ ЭВМ и др.) и получила широкое распространение в СССР и странах СЭВ.
B ГРАФОРе более 400 программ которые позволяют строить графики, гистограммы, карты изолиний, проекции поверхностей, применять методы сплайн-интерполяции и сглаживания, производить аффинные преобразования и экранирование, выполнять геометрические вычисления и т.д.
Данная версия ГРАФОР для VB6 была создана на основе неполного сборника программ комплекта ГРАФОР для ЭВМ БЭСМ-6 написанных на языке Фортран и расположенного на github Сергея Вакуленко.
Все программы ГРАФОР были переведены с Фортрана на VB6, недостающая часть программ была дописана.
Все программы ГРАФОР записаны в отдельном модуле “Функции_Графор”.
В качестве демонстрационных программ были переведены программы из книги 1 и 2 (см. ниже) около 100 программ.
Создана демонстрационная программа Grafor.exe, которую можно запустить из папки ГРАФОР VB6. Не пугайтесь, увидев сообщения об ошибке в одной программе (можете прочитать о ней в книге 1) .
Чертежи, построенные этой программой можно сохранить в формате .DXF
Запустить ее также можно на VB6, VBA EXСEL, VBA AutoCAD.
Данная версия ГРАФОР для VB6 представляет полнофункциональную демонстрационную версию.
Она позволяет на VB6, VBA EXСEL, VBA AutoCAD создать чертеж, построить графики любой сложности и т.д., и сохранить чертеж в формате .DXF Автокада.
Чертеж на VB6 и VBA EXСEL, VBA AutoCAD создается в файле .DXF полилиниями. Обратите внимание!!! Текст сохраняется в виде полилиний.
Демонстрационную программу “bant” в цвете полилиниями нельзя сохранить в файле .DXF без переделки, из-за метода построения полилиний (не поддерживает разноцветные линии в полилинии). Для сохранения цвета нужно разорвать полилинию, добавив невидимые точки между цветными линиями.
К сожалению, не все программы полноценно работают.
Операторы раздела 7.1 (книги 1 по Графору) – рисуют дублирующие изолинии и ломают линий у правой границы области построения.
При переключении на программу SMTBVF, наблюдается смещение линий в некоторых частях области построения, что очень искажает графику.
В программе раздела 8.1.2. (книги 1 по Графору) по созданию трехмерной графики была отключена некорректно работающая часть программы. Сейчас при построении сложных поверхностей за границей сетки наблюдается построение лишних линий.
Это можно увидеть в Демо программе “pup” и Демонстрации 2/ “Программа стр. 205, рис.8.4”. Лечится увеличением количества линий сетки и обрезанием 2-3 линий по краям сетки по X и Y.
ГРАФОР внесенные изменения
Все операторы вводятся с дополнением в конце “_g” из-за конфликтов.
В этой версии ГРАФОР соединены шрифты SET(0) и SET(1) в один. Отсутствуют символы “^, Ъ, ъ , Ё, ё” и другие системные символы неиспользуемые в обычном тексте. Символы замены ъ - ь, Ъ – Ь, ^ - ¬, Ё-Е, ё- е и тд. Заменены не все символы.
В эту версию ГРАФОР добавлены новые операторы:
1. Оператор Цвет_g(Код цвета как в Quick Basic) .
2. Оператор Из_Памяти_x_y_g(Координаты_X, Координаты_Y , Количество_точек)
запускается перед оператором RENTCH_g. Оператор нужен для введения функций перезаписи массивов точек оператором IADR_g.
3. Операторы переключения программ:
3.1 Графор_Переключение_Move_g;
3.2 Графор_Переключение_ITPLBV_g;
3.3 Графор_Переключение_XPOL_YPOL_g;
3.4 Графор_Переключение_ATDX_ATDY_g;
3.5 Графор_Переключение_XILIY_XILIY1_g.
Данная версия требует наличия русских шрифтов в системе Windows.
ГРАФОР на VB6
Связь с VB6 осуществляется через операторы:
1. PLOT_g - через оператор постройки линии Form1.Лист1.Line(….)
2. PAGE_g – через настройки рисунка Лист1 на форме Form1.
Связь с модулем сохранения DXF через оператор PLOT_g (массивы точек) и
ENDPG_g смещение других чертежей (при множестве чертежей).
Логика работы на VB6. Создается программа в кнопке или в меню.
Запускается и чертит графику на рисунке Лист1 на форме Form1 и появляется окно о построении, одновременно с этим создается массив точек для сохранения.
Если в программе несколько чертежей то первый стирается и строится новый и появляется окно о построении, одновременно с этим дописывается массив точек для сохранения со смещением.
При открытии файла DXF чертежи будут расположены рядом по оси Х со смещением 20мм.
В VB6 не реализовано открытие в отдельных окнах и сохранение в .bmp формате
так как это не имеет смысла для демонстрационной версии. При желании вы можете сделать переключатель в операторах PLOT_g и PAGE_g и создать команду, чтобы чертить на любых рисунках или формах (только не трогайте переменную номера экрана в настройках Графора) и разделить массивы точек по листам (требуется пересмотреть логику работы с массивами точек и сохранение чертежей).
Сохранение осуществляется через меню “Сохранение в DXF”, вызывается окно сохранения файла и сообщение о сохранении.
Запуск демонстрационной программы на VB6:
1. Открываете проект Grafor.vbp из папки “ГРАФОР VB6\ ГРАФОР_VB6”;
2. Выбираете Form1 и запускаете её.
Не пугайтесь, увидев сообщения об ошибке в одной программе (можете прочитать о ней в книге 1) .
Создание новой программы на VB6:
1. В меню «File» выбираете «New Project»;
2. В окне выбираете «Standard.EXE» ;
3. На форме «Form1» создаете «PictureBox» и переименовываете в Лист1;
4. На форме «Form1» создаете «CommonDialog1»;
5. Подключаете в окне проекта модули из папки “ГРАФОР VB6\ ГРАФОР_VB6”: Функции_Графор.bas, Сохранение_в_DXF.bas, Штампы.bas (по желанию), Комплексные_числа.bas(по желанию);
6. Создаете кнопку или меню;
7. Копируете демонстрационную программу с нужными операторами (Call BLOCK_DATA_g – обязательно ставим вначале). Далее пишете свою программу.
ГРАФОР на VBA EXСEL
Связь с VBA EXСEL осуществляется через операторы:
1. PLOT_g - через оператор постройки линии With Worksheets(1).Shapes.AddLine( (….), в нем и позиционирование но листе;
2. PAGE_g – через команду удаления графики с листа Лист1 и расположенную в виде программы в модуле “Удаление_Граф”;
Связь с модулем сохранения DXF через оператор PLOT_g (массивы точек).
Запуск макроса запуска “Демонстрационной программы” и шаблона новой программы находится в модуле “Удаление_Граф”.
Логика работы на VBA EXСEL создается программа в кнопке.
Запускается и чертит графику на листе Лист1 (с отключенными границами ячеек), затем появляется окно о построении, одновременно с этим создается массив точек для сохранения.
Если в программе несколько чертежей первый остается, а рядом со смещением строится новый и появляется окно о построении, одновременно с этим дописывается массив точек для сохранения со смещением.
При запуске новой программы старый чертеж стирается.
Сохранение осуществляется через Кнопку “Сохранение в DXF”, вызывается окно сохранения файла и сообщение о сохранении.
Создание новой программы осуществляется созданием новой кнопки на форме UserForm1 (или другой форме). Запуск через макрос “ГРАФОР_UserForm1_Запуск”
Запуск демонстрационной программы на EXCEL:
1. Открываете файл EXCEL “ГРАФОР VB6\ ГРАФОР_EXCEL \Графор.xlsm”;
2. Заходите в меню “Разработчик“(если его нет, включите его);
3. Вариант 1. Запускаете меню “Макросы” в окне выбираете “ГРАФОР_ДЕМОНСТРАЦИЯ_Запуск” и жмете “Выполнить”.
Вариант 2. Жмете на кнопку на Листе2;
4. Появляется окно формы, выбираете программу и жмете на кнопку с ней.
Запускается выбранная программа, строится чертеж на Листе1 и появляется окно о построении. На слабых машинах построение может длиться несколько минут и некоторые программы имеют несколько листов чертежей. Не пугайтесь, увидев сообщения об ошибке в одной программе (можете прочитать о ней в книге 1) . Долгое время построения связано с формированием массивов линий в EXCEL, в некоторых чертежах до 20000 линий;
5. Закрываете окно формы и смотрите чертеж на Листе1;
6. Чтобы сохранить запускаете снова и жмете Кнопку “Сохранение в DXF”, вызывается окно сохранения файла и сообщение о сохранении;
7. При запуске новой программы чертеж стирается и строится новый.
При запуске программ с большим количеством линий рекомендуется закрыть EXCEL без сохранения, иначе долго ждать удаления всех линий.
Программа тестировалась на EXCEL 2003-2007.
ГРАФОР на VBA AutoCAD
Связь с VBA AutoCAD осуществляется через операторы:
1. PLOT_g - через операторы Автокада постройки линии на модели;
2. PAGE_g – через команду удаления графики с модели и расположенную в виде программы в модуле “Удаление_Граф”.
Связь с модулем сохранения DXF через оператор PLOT_g (массивы точек).
Логика работы на VBA AutoCAD создается программа в кнопке.
Запускается и чертит графику на модели и появляется окно о построении, одновременно с этим создается массив точек (можете отключить).
Если в программе несколько чертежей первый остается, а рядом со смещением строится новый и появляется окно о построении, одновременно с этим дописывается массив точек со смещением.
При запуске новой программы старый чертеж стирается (иногда блокируется эта функция, удаляете вручную).
Сохранение осуществляется через Кнопку “Сохранение в DXF полилинией”, вызывается окно сохранения файла и сообщение о сохранении.
Создание новой программы осуществляется созданием новой кнопки на форме UserForm1 (или другой форме). Запуск через макрос “ГРАФОР_UserForm1_Запуск”
Запуск демонстрационной программы на VBA AutoCAD:
1. Ставите VBA на AutoCAD если его нет;
2. Создаете новый чертеж;
3. Заходите в меню “Управление“;
4. Запускаете меню “Загрузить приложение” в окне находите папку с файлом “ ГРАФОР VB6\ ГРАФОР_AutoCAD\ Grafor_AutoCAD.dvb”, выбираете и загружаете его.
Внизу появляется сообщение о загрузке, закрываете окно;
5. Запускаете меню “Запустить макрос VBA” в окне выбираете “ГРАФОР_ДЕМОНСТРАЦИЯ_Запуск” и жмете “Выполнить”;
6. Появляется окно формы, сместите его вправо, чтобы видеть поле модели, выбираете программу и жмете на кнопку с ней и наслаждаетесь эффектом мультипликации (только на VBA AutoCAD).
Запускается выбранная программа, строится чертеж на модели и появляется окно о построении. На слабых машинах построение может длиться до десятка минут и некоторые программы имеют несколько листов чертежей. Не пугайтесь, увидев сообщения об ошибке в одной программе (можете прочитать о ней в книге 1) . Долгое время построения связано с формированием массивов линий в AutoCAD, в некоторых чертежах до 20000 линий. Программа тестировалась на AutoCAD 2010-2016.
Инструкции
В качестве инструкции прилагаю:
1. Баяковский Ю.М. Графор. Графическое расширение фортрана / Ю.М. Банковский, В.А. Галактионов, Т.Н. Михайлова. — М. : Наука, 1985. — 288 с. ил.; 20. — (Библиотечка программиста).
2. Браузерная версия книги 1 – скаченная с официального сайта и дополненная рисунками, но не отредактирована (содержит ошибки).
3. ГРАФОР: комплекс графических программ на ФОРТРАНЕ : (граф. элементы) : метод. указания. - Текст : электронный / М-во высш. и сред. спец. образования РСФСР, Куйбышев. авиац. ин-т им. С. П. Королева ; сост. Александров О. П., Суханов С. В. - Куйбышев, 1985.
4. Внесенные изменения.doc.
Примечание. Описание для некоторых операторов дуг в разделе 1 книге 1 немного не совпадает, воспользуйтесь книгой 3.
Демонстрационные программы для практического использования
Как демонстрацию к использованию прилагаю программы построения профилей земли при переходе через реку с уровнем воды, без рамок и штампов и надписей оформления (осиY, лб., пб., уровня воды, название профиля и т.д.) :
1. Профиль перехода трубы через реку наVB6, VBA EXСEL, Профиль.exe.
2. ПрофильР1 наVB6, VBA EXСEL, VBA AutoCAD, ПрофильР1.exe .
Профиль создан на базе программы для построения профилей на Лиспе для
Автокада 12 дос.
Гидрологический Профиль Р1 был создан по образцу чертежа из программы Гидрология 91 (содержит функции ГРАФОРа), только без оформления и с добавлением уровня воды. В ней также отсутствует функция удаления надписей данных в нижней рамке при увеличении масштаба (наслоение цифр) по сравнению с программой Гидрология 91.
Загрузка данных осуществляется в VB6, VBA AutoCAD, Профиль.exe, ПрофильР1.exe с текстового файла формата .TXT или .PRN (разделитель пробел). Описание прилагается. Запуск аналогичен демонстрационной версии.
Советы
Главный. Все массивы в ГРАФОРе начинаются с 1, заполнение двумерных массивов смотрите в демонстрационных программах, наследство Фортрана.
1. Для желающих видеть запятую в числах вместо точки. Измените код или создайте команду переключения:
В операторе BCD_g отключите функцию Запятая_Точка_g;
В операторе NUMBER_g в SYMBOL_g замените “.” на “,”.
2. При использовании геометрических вычислителей в своих программах. Убедитесь, что диапазона точности в 6 знаков после запятой хватает для ваших нужд.
При необходимости увеличьте до 9-16 знаков после запятой в том вычислителе
который вы используете.
3. Если хотите сохранять в формате .DXF текст или другие примитивы вам придется создать массивы для этих примитивов, с внедрением в операторы команды заполнения этих массивов и написать программы шаблоны для записи этих примитивов.
4. Если хотите в программе с девушкой, чтобы девушка стала озорницей или соблазнительницей и ужастиком, замените координаты полилинии между губами в программе на линию. Направление языка девушки зависит от начала и конца этой линии))).
5. Если в массиве памяти для программы IADR_g не хватает места (размер больше 32000 точек) увеличьте его.
6. Если в массивах сохранения не хватает места (размер больше 165000 точек) увеличите их.
7. Описание кодирования букв шрифтов в документе Внесенные изменения.doc
8. Для VBA AutoCAD. Если необходимо чертить на модели без удаления существующего чертежа, отключите команду удаления в операторе PAGE_g и создайте команду позиционирования начальных координат на модели. Добавив их в оператор PLOT_g.
9. Если хотите динамически изменять диапазон построения графика по оси Y и X, не трогая массив данных, скройте построение дефектных линий, включив рамку области построения. Это можно увидеть в программе ПрофильР1 с отключенной рамкой.
От автора адаптации
Автор не является программистом и не знает английский язык и имеет только общее понимание работы на Бейсике (уровень создания маленьких вычислителей на Бейсике для ZX Спектрума и др. 8-16 битных машин по книгам). Так что не удивляйтесь вольному оформлению программ из-за отсутствия базовых знаний.
Некоторые программы написаны только по рисункам, так что не удивляйтесь отсутствию программ в книгах.
Первоначальная задача была построить график на VB6 и отправить его в Автокад, при этом имея минимальные знания по программированию.
Для этой задачи по случайному стечению обстоятельств подошли программы ГРАФОРа написанные на Фортране в 70-х годы. Автору понравилась графика выполняемая этими программами. К сожалению, не понимая как работать в Фортране и подключить библиотеки .obj и .lib к VB6, пришлось переводить все программы с Фортрана.
Так появилась эта версия.
Справка о существующих версиях в интернете
1. Версия для БЭСМ-6. Неполная версия. Содержит критические ошибки в некоторых программах (ошибки ввода с перфокарт и разные версии программ). Требует для работы некоторых операторов установку IADR (где взять неизвестно).
2. Версия для Дос Фортрана и Си. Неполная версия (отсутствует часть программ в библиотеках). Требует для работы некоторых операторов установку IADR (где взять неизвестно).
3. Версия для Fortran PowerStation 4.0. Неполная версия (отсутствует часть программ в библиотеке). Требует для работы некоторых операторов установку IADR (где взять неизвестно).
4. Версия для Compaq Visual Fortran. Неполная версия (отсутствует часть программ в библиотеке). Требует для работы некоторых операторов установку IADR (где взять неизвестно).