As of build 21.1.0604.641, we have streamlined the way information for labels and reports is processed to improve accuracy and efficiency. Part image rotation, filenames, barcodes, edge boring(Hbore), and edgebanding location data are all now accessed from the OptimizationResults table directly. This means you will no longer need to set up the part transformation functions listed below to accurately display data on Microvellum generated part labels and reports. See Streamlined Label and Report Data Processing for more information.
This article contains a tutorial showing the procedure for setting up and using the processing station associates for reports. It is based on version 15.6.2404 or greater.
See the article ProcessingStation Associates for Reports (Overview) in the Microvellum Help Center for a general description of this functionality.
See the article Processing Station Associates for Reports (Reference) in the Microvellum Help Center for a detailed description of this functionality.
Configure Processing Station Associates
Determine which processing stations need Associative functions, such as a Nest or Saw. To add this functionality to a processing station, follow the steps below:
Edit the Nest or Saw processing station
Click on the “Associates” tab
Add the following types:
If not processing to a Nest or Saw (i.e., CutRite), edit the P2P station and add the HBore processing station associate. Rename the processing stations so that the HBore processing station is listed above the P2P processing station.
Fig. 1 – Processing Station Associates Screen
Optimized Results Databand Filters
Add the following to the OptimizationResults report databand filter:
Nest or Saw:
IIF(OptimizationResults.PrintFlags.Contains(Environment.MachineName & Environment.UserName), True, False)
P2P:
OptimizationResults.LinkIDProcessingStation = “ insert P2P processing station linkID here ”
Code
Add the following to the report Code tab:
Private Function MVHBoreLeftRotated(LinkIDWO As String, LinkIDBatch As String, LinkIDParent As String ) As String
Microvellum.Production.Optimization.clsOptimizationResultTransformation.Init(LinkIDWO, LinkIDBatch)
Return
Microvellum.Production.Optimization.clsOptimizationResultTransformation.BarcodeLeft(LinkIDParent, microvellum.mvxProcessingStationAssociationType.mvedge_bore)
End Function
Private Function MVHBoreRightRotated(LinkIDWO As String, LinkIDBatch As String, LinkIDParent As String ) As String
Microvellum.Production.Optimization.clsOptimizationResultTransformation.Init(LinkIDWO, LinkIDBatch)
Return
Microvellum.Production.Optimization.clsOptimizationResultTransformation.BarcodeRight(LinkIDParent, microvellum.mvxProcessingStationAssociationType.mvedge_bore)
End Function
Private Function MVHBoreBottomRotated(LinkIDWO As String, LinkIDBatch As String, LinkIDParent As String ) As String
Microvellum.Production.Optimization.clsOptimizationResultTransformation.Init(LinkIDWO, LinkIDBatch)
Return
Microvellum.Production.Optimization.clsOptimizationResultTransformation.BarcodeBottom(LinkIDParent, microvellum.mvxProcessingStationAssociationType.mvedge_bore)
End Function
Private Function MVHBoreTopRotated(LinkIDWO As String, LinkIDBatch As String, LinkIDParent As String ) As String
Microvellum.Production.Optimization.clsOptimizationResultTransformation.Init(LinkIDWO, LinkIDBatch)
Return
Microvellum.Production.Optimization.clsOptimizationResultTransformation.BarcodeTop(LinkIDParent, microvellum.mvxProcessingStationAssociationType.mvedge_bore)
End Function
Private Function MVHBoreFace5FileName(LinkIDWO As String, LinkIDBatch As String, LinkIDParent As String ) As String
Microvellum.Production.Optimization.clsOptimizationResultTransformation.Init(LinkIDWO, LinkIDBatch)
Return
Microvellum.Production.Optimization.clsOptimizationResultTransformation.filenameface5(LinkIDParent, microvellum. mvxProcessingStationAssociationType.mvedge_bore)
End Function
Private Function MVHBoreFace5Barcode(LinkIDWO As String, LinkIDBatch As String, LinkIDParent As String ) As String
Microvellum.Production.Optimization.clsOptimizationResultTransformation.Init(LinkIDWO, LinkIDBatch)
Return
Microvellum.Production.Optimization.clsOptimizationResultTransformation.barcodeface5(LinkIDParent, microvellum. mvxProcessingStationAssociationType.mvedge_bore)
End Function
Private Function MVFace5FileName(LinkIDWO As String, LinkIDBatch As String, LinkIDParent As String ) As String
Microvellum.Production.Optimization.clsOptimizationResultTransformation.Init(LinkIDWO, LinkIDBatch)
Return
Microvellum.Production.Optimization.clsOptimizationResultTransformation.filenameface5(LinkIDParent, microvellum.mvxProcessingStationAssociationType.mvSingle_Part_Machining)
End Function
Private Function MVFace5Barcode(LinkIDWO As String, LinkIDBatch As String, LinkIDParent As String ) As String
Microvellum.Production.Optimization.clsOptimizationResultTransformation.Init(LinkIDWO, LinkIDBatch)
Return
Microvellum.Production.Optimization.clsOptimizationResultTransformation.barcodeface5(LinkIDParent, microvellum.mvxProcessingStationAssociationType.mvSingle_Part_Machining)
End Function
Private Function MVFace6FileName(LinkIDWO As String, LinkIDBatch As String, LinkIDParent As String ) As String
Microvellum.Production.Optimization.clsOptimizationResultTransformation.Init(LinkIDWO, LinkIDBatch)
Return
Microvellum.Production.Optimization.clsOptimizationResultTransformation.filenameface6(LinkIDParent, microvellum.mvxProcessingStationAssociationType.mvSingle_Part_Machining)
End Function
Private Function MVFace6Barcode(LinkIDWO As String, LinkIDBatch As String, LinkIDParent As String ) As String
Microvellum.Production.Optimization.clsOptimizationResultTransformation.Init(LinkIDWO, LinkIDBatch)
Return
Microvellum.Production.Optimization.clsOptimizationResultTransformation.barcodeface6(LinkIDParent, microvellum.mvxProcessingStationAssociationType.mvSingle_Part_Machining)
End Function
Private Function MVEdgeBandLeftRotated(LinkIDWO As String, LinkIDBatch As String, LinkIDParent As String ) As String
Microvellum.Production.Optimization.clsOptimizationResultTransformation.Init(LinkIDWO, LinkIDBatch)
Return
Microvellum.Production.Optimization.clsOptimizationResultTransformation.EdgeBandLeft(LinkIDParent)
End Function
Private Function MVEdgeBandRightRotated(LinkIDWO As String, LinkIDBatch As String, LinkIDParent As String ) As String
Microvellum.Production.Optimization.clsOptimizationResultTransformation.Init(LinkIDWO, LinkIDBatch)
Return
Microvellum.Production.Optimization.clsOptimizationResultTransformation.EdgeBandRight(LinkIDParent)
End Function
Private Function MVEdgeBandBottomRotated(LinkIDWO As String, LinkIDBatch As String, LinkIDParent As String ) As String
Microvellum.Production.Optimization.clsOptimizationResultTransformation.Init(LinkIDWO, LinkIDBatch)
Return
Microvellum.Production.Optimization.clsOptimizationResultTransformation.EdgeBandBottom(LinkIDParent)
End Function
Private Function MVEdgeBandTopRotated(LinkIDWO As String, LinkIDBatch As String, LinkIDParent As String ) As String
Microvellum.Production.Optimization.clsOptimizationResultTransformation.Init(LinkIDWO, LinkIDBatch)
Return
Microvellum.Production.Optimization.clsOptimizationResultTransformation.EdgeBandTop(LinkIDParent)
End Function
HBore Formulas
Add the following to the report components displaying edgeboring filenames or barcodes:
These formulas are used when the HBore processing station produces a barcode for each side.
{MVHBoreLeftRotated(OptimizationResults.LinkIDWorkOrder,OptimizationResults.LinkIDWorkOrderBatch,OptimizationResults.LinkID)}
{MVHBoreRightRotated(OptimizationResults.LinkIDWorkOrder,OptimizationResults.LinkIDWorkOrderBatch,OptimizationResults.LinkID)}
{MVHBoreTopRotated(OptimizationResults.LinkIDWorkOrder,OptimizationResults.LinkIDWorkOrderBatch,OptimizationResults.LinkID)}
{MVHBoreBottomRotated(OptimizationResults.LinkIDWorkOrder,OptimizationResults.LinkIDWorkOrderBatch,OptimizationResults.LinkID)}
HBore Formulas (Single Barcode)
Add the following to the report components displaying edgeboring filenames or barcodes:
These formulas are used when the HBore processing station produces a single barcode for all sides.
{MVHBoreFace5FileName(OptimizationResults.LinkIDWorkOrder,OptimizationResults.LinkIDWorkOrderBatch,OptimizationResults.LinkID)}
{MVHBoreFace5Barcode(OptimizationResults.LinkIDWorkOrder,OptimizationResults.LinkIDWorkOrderBatch,OptimizationResults.LinkID)}
P2P Formulas (Single Station)
Add the following to the report components displaying face 5 and face 6 filenames or barcodes:
These formulas are used when the primary processing station is a Nest or Saw.
{MVFace5FileName(OptimizationResults.LinkIDWorkOrder,OptimizationResults.LinkIDWorkOrderBatch,OptimizationResults.LinkID)}
{MVFace5Barcode(OptimizationResults.LinkIDWorkOrder,OptimizationResults.LinkIDWorkOrderBatch,OptimizationResults.LinkID)}
{MVFace6FileName(OptimizationResults.LinkIDWorkOrder,OptimizationResults.LinkIDWorkOrderBatch,OptimizationResults.LinkID)}
{MVFace6Barcode(OptimizationResults.LinkIDWorkOrder,OptimizationResults.LinkIDWorkOrderBatch,OptimizationResults.LinkID)}
Edgebanding Formulas
Add the following to the report components displaying edgebanding materials on labels that may be rotated by an auto-nest labeling system:
These formulas are used when labels are printed by an auto-nest labeler with label rotation capabilities. The IPP toolfile setting Integrated Post Processor Settings > Auto Label Settings > Auto Labeling Type must be set to something other than NONE, and the property “Allow Label Rotation” must be checked ON.
{MVEdgeBandLeftRotated(OptimizationResults.LinkIDWorkOrder,OptimizationResults.LinkIDWorkOrderbatch,OptimizationResults.LinkID)}
{MVEdgeBandRightRotated(OptimizationResults.LinkIDWorkOrder,OptimizationResults.LinkIDWorkOrderbatch,OptimizationResults.LinkID)}
{MVEdgeBandTopRotated(OptimizationResults.LinkIDWorkOrder,OptimizationResults.LinkIDWorkOrderbatch,OptimizationResults.LinkID)}
{MVEdgeBandBottomRotated(OptimizationResults.LinkIDWorkOrder,OptimizationResults.LinkIDWorkOrderbatch,OptimizationResults.LinkID)}





