CadSheetManager: Difference between revisions
Line 69: | Line 69: | ||
end -- function end | end -- function end | ||
-- =====================================================]] | -- =====================================================]] | ||
function SheetNextSize(X, Y) | function SheetNextSize(X, Y) -- Make New Sheet to size (x, y) | ||
if X == nil then | if X == nil then | ||
X = Milling.MaterialBlockWidth | X = Milling.MaterialBlockWidth |
Revision as of 10:14, 31 October 2023
This object is responsible for managing all the sheets within the applicaon. A reference to the CadSheetManager is obtained via the SheetManager property of the VectricJob. The CadSheetManager maintains a list of all the sheet ids in the job.
Properties
.ActiveSheetId
Read / Write UUID - Get the id of the active sheet. Set this value to the id of a different sheet to change the active sheet.
.NumberOfSheets
Read Only Integer- returns the number of sheets in the job.
Methods
:CreateSheets:(integer num_sheets, UUID sheet_id)
Create num_sheets new sheets with the same properties as the sheet with id sheet_id.
- num_sheets - integer - the number of new sheets to add to the job.
- sheet_id - UUID - the id of the sheet that the new sheets should take their properties from (e.g. dimensions, Z Zero Posion etc.).
:CreateSheets:(integer num_sheets, UUID sheet_id, Box2D material_bounds)
Create num_sheets new sheets with the same properties as the sheet with id sheet_id but with width and height defined by material_bounds.
- num_sheets - integer - the number of new sheets to add to the job.
- sheet_id - UUID - the id of the sheet that the new sheets should take their properties from.
- material_bounds - Box2D - the width and height dimensions for the new sheets.
:GetSheetIds()
Returns: Lua iterator that can be used to iterate over all of the sheet ids in the job (see example below).
:GetSheetName(UUID sheet_id)
Returns: name of the sheet with the passed id as a string.
- sheet_id - UUID - the method will return the name of the sheet with this id.
Example Code:
-- =====================================================]] function SetSheet() -- Sets sheet to "Sheet 1" local job = VectricJob() local sheet_manager = job.SheetManager local sheet_ids = sheet_manager:GetSheetIds() for id in sheet_ids do if(sheet_manager:GetSheetName(id) == "Sheet 1") then sheet_manager.ActiveSheetId = id end -- if end end -- for end end -- function end -- =====================================================]] function SheetSet(Name) -- Move focus to a named sheet local job = VectricJob() local sheet_manager = job.SheetManager local sheet_ids = sheet_manager:GetSheetIds() for id in sheet_ids do if(sheet_manager:GetSheetName(id) == Name) then sheet_manager.ActiveSheetId = id end -- if end end -- for end end -- function end -- =====================================================]] function SheetNextSize(X, Y) -- Make New Sheet to size (x, y) if X == nil then X = Milling.MaterialBlockWidth else X = X + (2 * Milling.Cal) end -- function end if Y == nil then Y = Milling.MaterialBlockHeight else Y = Y + (2 * Milling.Cal) end -- function end Milling.Sheet = Milling.Sheet + 1 local sheet_manager = Milling.job.SheetManager local sheet_ids = sheet_manager:GetSheetIds() for id in sheet_ids do if(sheet_manager:GetSheetName(id) == "Sheet 1") then sheet_manager:CreateSheets(1, id, Box2D(Point2D(0, 0), Point2D(X, Y))) end -- function end end SheetSet("Sheet " .. tostring(Milling.Sheet)) return true end -- function end -- =====================================================]]
References
Please Note: The base material for the contents found in this WiKi was sourced from Vectric Lua Interface for Gadgets, version 11.0, published October 18, 2011. by Vectric Ltd. Most current document from Vertric can be downloaded at Vertric Developer Information