VB.NET Examples Using the PowersolutionDOTNetOLE DLL

Below are various VB.NET projects freely available for you to download.  The downloads are now installation routines, which will install the executable and short-cut (in the Programs->Delcam->PowerSolutionDOTNETOle Examples menu).  But also upon installing each utility, the source code project will also be installed in the directory you select to install to (usuall c:\Program Files\Delcam PLC\xxxxx).

The minimum version of the PowerSolutionDOTNetOLE DLL required for each utility is shown.  Note this is the MINIMUM version, i.e. if you install the latest version, applications written with older versions of the DLL will still work without recompiling.

PowerSHAPE

Utility Name
Minimum DLL Version

Description Shows Example Of...

InputLaterals
v1.1

This is based on the previous VB6 utility for inputting multiple curves between existing curves in a surface. This utility has been updated to VB.NET and will now support closed surfaces.

clsPowerSHAPEOLE.Connect
clsPowerSHAPEOLE.GetSelectedEntities
clsPowerSHAPEOLE.Execute
clsEntityType.GetObjectInfo
clsEntityType.Name
clsEntityType.Type

RepointSurface
v1.1
This utility takes the selected surface, and rebuilds it automatically by repointing all of the curves in the direction selected.

As InputLaterals plus...
clsPowerSHAPEOLE.SelectEntityList
clsPowerSHAPEOLE.GetCreatedEntities

clsEntityType.SelectObject

TextWrapper
v1.1
This is based on the previous VB6 utility for wrapping text along an arc or along a curve.  It has been extended as follows...

Start angle for arc can be entered.
Positive or Negative span angle can be entered.
When wrapping to a curve, the original curve is not changed (repointed).
Speed improvements.

As InputLaterals plus...
clsPowerSHAPEOLE.SetDialogMode
clsPoint3D - from coordinate
clsPoint3D - from clsEntityType
clsPoint3D.SerialisedString
clsPoint3D.GetPolar
clsEntityType.DuplicateEntity
clsEntityType.DeleteEntity



PowerMILL
Utility Name
Minimum DLL Version
Description Shows Example Of...
ToolListCSVExport
v1.1
This is based on the previous VB6 utility for exporting the tools in the current PowerMILL project to a CSV file.  The utility has been extended to allow you to specify what fields and the order in which to output various tool parameters.  It also now supports all tool types up to PowerMILL5.5 (including Tap and Form tools).

It is useful to show how to retrieve settings from PowerMILL, and also how to make use of the new clsIniFile class for easy reading and writing to INI files for storing settings.

clsPowerMILLOLE.Connect
clsPowerMILLOLE.GetEntityParameterInfo
clsPowerMILLOLE.ParseParameterInfoForSetting
clsIniFile.GetIniValue
clsIniFile.WriteIniValue

LockBlockToWorkplane
v1.2
Utility that allows you to lock a Min/Max block to a specific workplane, even when another workplane is active.

This utility uses the new clsDMT class added in v1.2 of the DLL.  It works by taking an existing min/max block that has been defined relative to a workplane, creating an equivalent triangle model of the block (relative to world), and importing directly into PowerMILL.  This will then allow you to activate any workplane without the block moving.

clsPowerMILLOLE.Connect
clsPowerMILLOLE.Execute
clsPowerMILLOLE.ExecuteEx
clsPowerMILLOLE.DialogsOff
clsPowerMILLOLE.DialogsOn
clsPowerMILLOLE.GetEntitySize
clsPowerMILLOLE.GetActiveEntityName
clsDMT.clsTriangleBlock - from node list
clsDMT.AddTriangleBlock
clsDMT.WriteDMTFile
clsFileFunctions.GetTemporaryFilename
clsDMT.clsTriangleNode - from clsPoint3D object
clsPoint3D.TransformFromWkpl

CylinderBlock
v1.2
Utility that allows you to create a cylindrical block to specified tolerance along any axis.  The block will automatically locked in position so that activating any other workplane will not move the block.

Before creating the block, the project must have been saved to disk at some point - it is not necessary to save the project every time you want to create the block though.  The reason for this is the clyinder block triangle model must be saved with the project.

Same functions used in...
LockBlockToWorkplane