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.0416.641

      The following release notes apply to Toolbox build 24.1.0416.641. Maestro Toolfile Fix There was an issue with Maestro SCM Toolfiles reportedly experienced by some users, wherein the labels output by autolabeling would be in incorrect positions, an ...
    • Toolbox Release Notes | Build 24.1.0409.641

      The following release notes apply to Toolbox build 24.1.0409.641 Saw Delimited Processing Station Figure 1: The Saw Delimited option in a custom processing station. New options have been added to saw processing stations to allow for control over data ...
    • Toolbox Release Notes | Build 24.1.0328.641

      The following release notes apply to Toolbox Build 24.1.0328.641 Fillet Token Fixes Issues were discovered in the use of fillet tokens on products that also had the IRIB setting enabled: Some users processed work orders with rounded parts, which ...
    • Microvellum Foundation Library Release Notes | Build 24.0322

      Additions Added the Master Angled Ends Cabinet. Added a Global prompt, "Hinge Plate Offset From Front" for easier control. Added “Double Division” option to Horizontal Designer Cabinets, 3 Door Cabinets, and other similar products. Added a new ...
    • Common Floating License Connectivity Issues

      This document lists common issues reported by users regarding the topic of Microvellum’s Floating License Activation (FLA) and the connectivity required for FLA to function. Firewall Blocking Activation of Floating License Some users have had an ...