Loops Lua循环以创建多个隔开的项目
我是卢阿的新手。我正在尝试在Lua中创建一个插件,它将创建多个间隔开的块。目前,我似乎无法让table函数更新块的新位置 这里有一个坐标系,文档可以在这里找到 用户界面允许用户输入所需的重复块数Loops Lua循环以创建多个隔开的项目,loops,lua,logic,cad,Loops,Lua,Logic,Cad,我是卢阿的新手。我正在尝试在Lua中创建一个插件,它将创建多个间隔开的块。目前,我似乎无法让table函数更新块的新位置 这里有一个坐标系,文档可以在这里找到 用户界面允许用户输入所需的重复块数 for x_panels = 1, data.x_panels do local position = {data.origin[1],data.origin[2],data.origin[3]} local new_stock = py
for x_panels = 1, data.x_panels do
local position = {data.origin[1],data.origin[2],data.origin[3]}
local new_stock = pytha.create_block(data.width, data.height, data.thickness, {data.position})
pytha.set_element_name(new_stock, "Stock")
table.insert(data.cur_elements, new_stock)
data.x_panels = -1
table.insert(position,{data.origin[1] + data.width, data.origin[2], data.origin[3]})
end
提前谢谢你 从代码的外观来看,您正在使用
table.insert()
尝试更新下一个块的位置。此方法所做的是将您新想要的职位插入到您已经存在的职位表中,从而导致:
position = {
data.origin[1],
data.origin[2],
data.origin[3],
{ data.origin[1] + data.width, data.origin[2], data.origin[3] }
}
此外,位置变量似乎未在创建块中使用,并且从发布的API的外观来看,data.position不可用
我的建议是,在循环外创建原始位置表,并在循环内通过直接将该表中的值设置为下一次迭代所需的新位置来更新它:
-- assuming format of data.origin = { 0, 0, 0 }
local position = data.origin
for i = 1, data.x_panels do
pytha.create_block(data.width, data.height, data.thickness, position)
pytha.set_element_name(new_stock, "Stock")
table.insert(data.cur_elements, new_stock)
position[1] = position[1] + data.width
end
您还可以使用while循环,因为实际上没有使用
i
,但这取决于您 尝试向lua表提供一个step
参数,并使用它跳转每个x
金额,直到它达到条件,相关文档可用。谢谢。让我。尝试一下,并更新你。