• CAMAPI
  • API Documentation
Show / Hide Table of Contents
  • Supported programming languages
    • C#
    • Delphi
    • C++
  • Tutorial lessons
    • Lesson 1 - general introduction to the extension ideology using the example of a C# project
    • Lesson 2 - connecting the SDK to a Delphi project using the build system
    • Lesson 3 - connecting the SDK to a C++ project using the build system
    • Lesson 4 - demonstration of methods for unloading an extension during main application is running
    • Lesson 5 - Creating a custom operation
    • Lesson 6 - Creating a C# application to interact with geometry in main application
    • Lesson 7 - Creating a C# application to connect to main application for managing it
  • System extensions
    • Extension.Util.Common.Dll
    • Extension.Util.Common.Exe
  • Debugging of extensions
    • Debugging a .NET extension using Visual Studio Code
    • Debugging a Delphi extension using RAD Studio
    • Debugging a C++ extension using Visual Studio
  • Entry points
    • Utilitiy in main form
    • Executor for utility in main form
    • New item to the operation's context menu
  • Machining Tools Import
    • Preparing the environment
    • Working with the tool library
    • Working with cutting tools
      • Milling Tools
      • Turning Tools
      • Custom Axial Shaped Tools
    • Working with the tool holder
  • API Documentation
  • External applications
    • Connecting in a C# application
    • Connecting in a Delphi application
    • Connecting in a C++ application

Entry point in adding new utility

At present, CAMAPI utilities has 2 entry points. This is sufficient to add any file to the list of utilities and configure its execution. This could be a DLL file, an executable EXE file, a script whose commands can only be processed by your other application.

The first entry point allows you to extend the list of utilities. Yes, this duplicates the functionality of manually adding utilities through the configuration window. However, extensions can be transferred from computer to computer via a dext file, so you can provide the user with just the executable file instead of writing instructions on how to configure a new utility. This becomes especially useful as the number of utilities begins to grow.

The use of this entry point can be complemented by the use of the second entry point – this will allow utilities of any format to be connected.

  • Identifier: utility;
  • Used interfaces:
    • IExtensionTypeInfoUtility.
    • IExtensionUtility.
  • Available configuration settings:
    • caption: the text that will be shown to the user;
    • hint_text: the text that will be displayed as a tooltip when hovering the mouse cursor;
    • loader_extension_ident: the identifier of another extension that will invoke the current extension for execution (non-mandatory setting - in the case, where it is not set, will be used standard Extension.Util.Common.Dll)

Examples in our GitVerse account:

  • C# - directory ExtensionUtilityNet;
  • Delphi - directory ExtensionUtilityDelphi;
  • C++ - directory ExtensionUtilityCpp.

IMPORTANT: The code in the examples demonstrates how main application will display an error that occurs in the extension code. There is an error in the examples – SprutCAM must be run with administrator rights to save the exported.stcp file.

In this article
Back to top Generated by DocFX