CadSheetManager
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 properes 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 properes from.
- material_bounds - Box2D - the width and height dimensions for the new sheets.
:GetAt(POSITION pos)
Returns: the layer at the passed position
- pos (POSTION) current position in list
:GetHeadPosition()
Returns: (POSITION) a variable to allow access to the head of the list of layers
:GetLayerWithName(string layer_name)
Returns: the CadLayer with passed name. If no layer exists with the passed name a new layer is created
:GetLayerWithId(UUID layer_id)
Returns: the CadLayer with passed id. The id is usually obtained from the .RawLayerId property of a CadObject
:GetNext(POSITION pos)
Returns: Both the layer at the current position AND a new value for position pointing to the next item in the list (or nil if at end of list)
- pos (POSTION) current position in list
- Note: GetNext(pos) is returning two values:
Usage: GetNext()
local pos = layer_manager:GetHeadPosition() local layer while pos ~= nil do layer, pos = layer_manager:GetNext(pos) DO SOMETHING WITH LAYER:. end -- while end
:GetPrev(POSITION pos)
Returns: the layer at the current position AND a new value for position, pointing to the previous item in the list (or nil if at start of list)
- pos (POSTION) current position in list
:GetTailPosition()
Returns: (POSITION) a variable to allow access to the tail of the list of layers
:HaveDataOnSheets()
Returns true if there is data on more than one sheet.
:RemoveLayer(CadLayer layer)
Remove the passed layer object from the list of layers in the job.
Layer - CadLayer - layer to remove from the job.
:SetActiveLayer(CadLayer layer)
Sets passed layer to be the current active layer. If passed layer is nil, sets first layer to be active.
- Layer (CadLayer) layer to be made the active layer
Example Code:
--[[ ]] function SetBitmapBrightness(job, brightness) if not job.Exists then DisplayMessageBox("No job loaded") return false end local layer_manager = job.LayerManager local pos = layer_manager:GetHeadPosition() while pos ~= nil do local layer layer, pos = layer_manager:GetNext(pos) if not layer.IsSystemLayer then local layer_pos = layer:GetHeadPosition() while layer_pos ~= nil do local object object, layer_pos = layer:GetNext(layer_pos) if object.ClassName == "vcCadBitmap" then cad_bitmap = CastCadObjectToCadBitmap(object) MessageBox("Found bitmap - brightess = " .. cad_bitmap.Brightness) cad_bitmap.Brightness = brightness cad_bitmap.Visible = visible end -- if end end -- while end end -- if end end -- while end of for each object on layer end -- function end of for each layer job:Refresh2DView()
References
Please Note: The base material for the contents found in this WiKi was sourced from Vectric Lua Interface for Gadgets, version 2.05, published September 12, 2018. by Vectric Ltd. Most current document from Vertric can be downloaded at Vertric Developer Information