Редактор таблиц LABPP_Table для ARCHICAD
Для создания в проекте таблиц можно использовать удобный GDL элемент LABPP_Table.gsm.
Управление этим элементом удобно осуществлять через редактор LABPP_Table_unicode.cpp (LABPP_Table_unicode.zip).
Этот редактор можно модифицировать самостоятельно. Добавлять собственные кнопки и процедуры и т.п.
Основные возможности.
Максимальное число колонок - 100;
Максимальное число строк - 500;
Объединение ячеек - да;
Типов линий для отрисовки ячеек - 2 (перо для тонких линий, перо для толстых линий, без линии);
Регулировка размеров ячеек - да;
Групповое изменение высоты - да;
Групповое изменение ширины - да;
Число стилей в ячейках - 4:
Параметры для настройки стиля - шрифт, размер шрифта, отступ от границ ячейки, наклонный, жирный, коэффициент межстрочного интервала;
Перо для текста - общее для всех стилей;
Использование знаков UNICODE - да (не м2 а м²);
Выравнивание в ячейках - по горизонтали и вертикали (9 вариантов);
Расположение текста по вертикали - да;
Размещение в ячейках эскизов из других элементов - да (настройка масштаба, положения);
Описание работы редактора.
Запустить программу LabPP_Table_unicode.cpp.
Появится плавающее окно с кнопками управления редактором таблиц.
Все действия производятся при выделенном элементе таблицы.
Кнопки слева направо верхний ряд.
Редактирование текста в ячейке.
Щелкнуть на ячейке.
В появившемся окне отредактировать текст. Нажать кнопку записи.
Поворот текста в ячейке.
Щелкнуть на ячейке - текст в ней повернется в другое положение.
Объединение ячеек.
После нажатия кнопки щелкните на левый верхний угол воображаемого прямоугольника будущего объединения ячеек, затем - на правый нижний угол этого воображаемого прямоугольника.
Ячейки объединятся.
Разъединение ячеек.
Щелкните на объединенную ячейку.
Ячейки, ее составляющие, разъединятся.
Задать стиль в ячейке.
Нажать одну из кнопок - T, H, S, N - название, заголовок, подзаголовок и обычный текст.
Соответствующий стиль задается в настройках элемента таблицы.
Задать отрисовку линий пером для толстых линий.
Задать отрисовку линий пером для тонких линий.
Выключить отрисовку линий.
Выполняются одинаково - щелкнуть на воображаемый верхний левый угол и на воображаемый нижний правый угол.
В рамках воображаемого прямоугольника линии будут заданы в соответствии с командой.
Задать высоту строки.
Задать ширину колонки.
Выполняются одинаково - щелкнуть на воображаемый верхний левый угол и на воображаемый нижний правый угол.
В окне задайте соответствующее желаемое значение (можно предварительно измерить в проекте).
В рамках воображаемого прямоугольника колонки или строки будут заданы в соответствии с командой.
Задать в ячейке отображение эскиза из другого элемента.
В появившемся окне задать параметры отображаемого фрагмента.
Формат:
Имя макроса#Название фрагмента в макросе#Масштаб#Смещение от центра ячейки по горизонтали#Смещение от центра ячейки по вертикали#Текстовое поле для передачи дополнительных параметров
Для использования макроса в тексте 2d скрипта GDL необходимо разместить фрагменты с указанием названия и ответа для указания исходных размеров.
Пример фрагмента для отображения двух штриховок.
При отображении в таблице штриховки так же масштабируются.
За масштаб отвечает переменная TSScaleK.
Таких фрагментов может быть сколько угодно.
!----------------------------------------------------------
IF LABPP_PictureName = "Тип 1" THEN
IF LABPP_Command = "GET SIZES" THEN
! x,y,w,h
EXIT 0.951, -16.940, 3.9937, 0.751
ENDIF
fillAttribute_1 = 214
fillAttribute_2 = 330
lineTypeAttribute_1 = 1
lineTypeAttribute_2 = 0
pen penAttribute_1
fill fillAttribute_1
poly2_b{5} 5, 2, 1, 8, penAttribute_1, penAttribute_2,
2.947696588428, -16.52173742916, TSScaleK, 0, 0, TSScaleK, 0,
1.09620462548, -16.47923742916, 33,
1.09620462548, -16.56423742916, 33,
4.799188551377, -16.56423742916, 33,
4.799188551377, -16.47923742916, 33,
1.09620462548, -16.47923742916, 33
set line_type lineTypeAttribute_1
pen penAttribute_4
poly2_b{5} 7, 1, 0, 3, 1, 0,
0, 0, TSScaleK, 0, 0, TSScaleK, 0,
1.22479041471, -16.51429212963, 1,
1.202131508217, -16.51429212963, 900,
0, 180, 4001,
1.179472601724, -16.51429212963, 1,
1.202131508217, -16.51429212963, 900,
0, 180, 4001,
1.22479041471, -16.51429212963, 1
ENDIF
Масштабирование таблицы.
При нажатии кнопки в появившемся диалоге введите требуемый коэффициент увеличения/уменьшения ( меньше 1 - уменьшение, больше 1 - увеличение).