Configuring Part Transformation Functions (Legacy Support)

Configuring Part Transformation Functions (Legacy Support)

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 is ONLY applicable to builds 15.6.2404 through 21.10604 and will prove helpful when you need to display accurate rotated edge boring (HBore) data, face 5 or face 6 data, and accurate edgebanding data labels are rotated on an auto-nest labeling system.

Configuring & Using Part Transformation Functions

On builds 15.6.2404 through 21.10604, to configure your reports to correctly display secondary machining data you must add the part transformation functions in each report or label as required. These functions will be required anytime you need to accurately display an edge boring (HBore) filename or barcode for a specific edge to the corresponding edge in the rotated part picture. They are also needed for rotated labels that display edgebanding material on an auto-nest labeling system.

There are twelve Part Transformation Functions used within the software. Add the function code to each report where they are needed, in the Code tab. Also, add references to these functions in the individual report components where you intend to display the edge boring, edgebanding, or face 5/6 data. These functions provide rotation information for the report text components so that they match the part picture.

The function code that must be copied to the report Code tab is contained in the attached text file named “PartTransformationFunctions.txt.”

Part Transformation Functions

Edgebore Rotation

Use these functions to correctly display HBore data on all edges of the part where each edge filename and barcode are different.

  • MVHBoreLeftRotated
  • MVHBoreRightRotated
  • MVHBoreBottomRotated
  • MVHBoreTopRotated

Edgeband Material for Rotated Labels
 (auto-nest labeling systems only)

Use these functions to correctly display edgebanding material data on all edges of the part where the label has been rotated so as not to interfere with nearby machining.

  • MVEdgeBandLeftRotated
  • MVEdgeBandRightRotated
  • MVEdgeBandBottomRotated
  • MVEdgeBandTopRotated

Single Parts Station Face 5 & 6 Machining Data

Use these functions to correctly display single part data for face 5 and face 6, or where the edge boring data for all edges of the part is contained in a single filename and barcode.

  • MVFace5Filename
  • MVFace6Filename
  • MVFace5Barcode
  • MVFace6Barcode

Each of these twelve functions contains parameters requiring three arguments. The arguments you must supply to the function in the report components are listed below in the order they must appear following the function name.

  • Work Order LinkID
  • Work Order Batch LinkID
  • Parent or Primary Station LinkID

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:

  1. Edit the Nest or Saw processing station
  2. Click on the “Associates” tab
  3. Add the following types:
    1. Edge_Bore for HBore processing stations

    2. Single_Part_Maching for P2P processing stations
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 edge boring 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 edge boring 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)}


    • Related Articles

    • Processing Station Associates for Reports

      For information about setting up part transformation functions required for builds 15.6.2404 through 21.1.0604, see Configuring Part Transformation Functions (Legacy Support). This article contains a detailed reference for setting up and using the ...
    • Parts File Processing Station Associates (Overview)

      Overview of Processing Station Parts File Associates Microvellum contains complete nesting optimizer and complete sawing optimizer solutions. It also supports third-party optimizers such as Ardis, BlueCell, and CutRite. Microvellum creates a “parts ...
    • Issue: HBore Barcodes Do Not Match Part Picture

      As of build 15.6.2211, you now may use the simplified procedure found in the Microvellum Help Center article  Processing Station Associates for Reports (Overview)  to resolve this issue in addition to the procedure found in this article. Issue ...
    • Using Functions in Expressions

      Built-in Functions There is a variety of built-in functions available in the Report Designer. These functions can be accessed directly from the data dictionary, or from within the Expression Editor. Here is an example of a built-in function: ...
    • How to Remove Dimension Formatting Functions from Default Microvellum Reports

      Occasionally a Microvellum User will request that their reports display various product, subassembly, or part dimensions without the formatting functions. These functions format the dimensions based on the following Microvellum properties:  Number ...
    • Recent Articles

    • Toolbox Release Notes | Build 24.1.1105.641

      The following release notes apply to Toolbox build 24.1.1105.641 Nesting Fix Fig. 1: The fatal error that would occur during processing. There was reportedly an issue that occurred when clients attempted to process a work order using the nesting ...
    • Microvellum Foundation Library Release Notes | Build 24.1025

      The following release notes apply to Microvellum Foundation Library build 24.1025. Additions Added new global variable “Remove Stop Dado On Bottom Edge” for wood drawer boxes. Check this option to run the dado through at the bottom of the sub front ...
    • Toolbox Release Notes | Build 24.1.1030.641

      The following release notes apply to Toolbox build 24.1.1030.641 Routing and Profile Fixes Several issues were found with routing and polyline paths: Fig. 1: Horizontal routes off of a part disappearing (left) and appearing correctly (right). When ...
    • Toolbox Release Notes | Build 24.1.1010.641

      The following release notes apply to Toolbox build 24.1.1010.641 Biesse Winstore Fix Several issues with the Biesse Winstore plugin have been resolved: There was an issue that would sometimes occur wherein materials that were intended to stack wound ...
    • Toolbox Release Notes | Build 24.1.1001.641

      The following release notes apply to Toolbox build 24.1.1001.641 HBore Toolfile Fix Fig. 1: The location in the Toolfile UI where the error would occur. There was an issue reported with the functionality of the Horizontal Boring Machine setting in ...