Конструктор G-кода 3.3 – Синтаксис кода встроенного редактора

В качестве языка для “файла правила формирования текста G-кода” применяется язык LUA с некоторыми особенностями.

Доступ к данным осуществляется ченичерез неё получить:

СвойствоОписаниеВозвращаемый тип значения
Dыйт список векторных примитивовСписок примитивов
DATA.Items.Count
или


Данный параметр возвращает количество примитивовЧисло


DATA.CountElements

Данный параметр возвращает количество примитивов (аналог предыдущего варианта получения количества)
Число
DATA.Items[xxx]Данный параметр возвращает примитив из списка примитивов, а число “xxx” – указывает номер примитива в списке, нумерация начинается с нуля!примитив

DATA.UsedDataArea
Данный параметр содержит информацию о размере всех данныхструктура описания размеров

Доступные свойства у структуры описания размеров “UsedDataArea”:

СвойствоОписаниеВозвращаемый тип
XminМинимально возможная координата из всех данных по оси XЧисло
YminМинимально возможная координата из всех данных по оси YЧисло
XmaxМаксимально возможная координата из всех данных по оси XЧисло
YmaxМаксиоох по оси YЧисло

Доступные свойства у примитивwp!– wp:table –>

СвойствоОписаниеВозвращаемый тип
typeIВозвращает тип примитива*Число
TAGМетка данного примитиваСтрока
UsedDataAreaДанный параметр содержит информацию о размере всех данныхструктура описания размеров
ItemsСписок точек траекторииСписок координат
Items[xxx]Возвращает конкретную точку из списка, с номером “xxx”Координатная точка

*В зависимости от типа примитива, будут дополнительно доступны дополнительные свойства примитива, о чем будет> >

Доступные свойства у координатной точки:

СвойствоОписаниеТип значения
XВозвращает положение по оси X Число
YВозвращает положение по оси YЧисло
ZВозвращает положение по оси ZЧисло

Примеры кода:

1
2
-- пример записи в переменную p1 количества примитивов
 количества
1
2
3
4
5
6
-- пример получения первого примитива из списка
примитива из-- пример получения первой координаты из списка точек
 получения -- пример записи в переменные pX,pY,pZ числа
ска точек
point = primitiv[0]
 

Дополнительная функция “FILE”, позволяет записывать данные в файл:

1
2
3
4
5
6
7
8
9
10
11
-- создаем новый файл, или перезаписываем существующий
аписыва-- создаем числовые переменные
ILE:Create()-- добавляем текст              
е переменные
a = 5
b = 6
-- добавляем текст              
FILE:AddLine("Пример сложения: a + b")    
FIL-- сохраняем в файл  
.. a)
FILE:

В примере выше мы в файл добавили таp>

Пример сложения: a + b
Где a= 5
Где b= 6
И сумма равна: 11

OC /wp:html –>

Пример выше дает такой результат:

p1= 0.333333333333333
Где p1= 0.33

В строке FORMAT:SetFormat(  “#0.##”  ,  “.”  ) есть 2 параметра, это как форматировать число, и какой символ использовать дл илице ниже я приведу примеры указания 1-го параметртанке исходное значение, в 3-й результатrawp:table –>

Атоь обязательно.

абить отличие работы форматирования целомвикак не влияют на длину выводимой целой части.

В цикле задается 3 параметра, начальное значение, конинкоторое будет увеличиваться значение при каждом повторе цикла)

1
2
3
4
5
6
7
8
9
10
11
12
FORMAT:SetFormat("#0.0#",".")
FILE:Create()
for indx = 0, DATA.Items.Count-1, 1 do
    primitiv = DATA.Items[indx]
    FILE:AddLine("// примитив №: "в №: " .. indx)
    for indxP = 0, primitiv.Items.Count-1, 1 do
        point = primitiv.Items[indxP]
        FILE:AddLine("X" .. FORMAT:Fd(point.X) .. " Y" .. FORMAT:Fd(point.Y))
    end
    FILE:AddLine(" ")
end
F

В примере выше, получаем такой результат:

// примитив №: 0
X10.0 Y10.0
X20.0 Y10.0
X20.0 Y20.0
X15.0 Y25.0
X10.0 Y20.0
X10.0 Y10.0
// примитив №: 1
X40.0 Y10.0
X40.0 Y40.0