Introduction
This online reference guide documents the Electrical Application Programming Interface (API).
API Help can be downloaded to have it available locally. You have to reach index.html from downloaded package to launch it.
Every supported interface available in the API is documented; undocumented API interfaces and functions are not supported and should not be used. Obsolete APIs are not supported. SOLIDWORKS recommends that you use the most current version of the API. Obsolete APIs are not supported. We recommend that you use the most current version of the API.
Usage
Use of the API assumes that you are familiar with Java, Python, VBA, VB.NET, Visual C#, Visual C++ 6.0 or Visual C++/CLI.
- Note
- All of the sample code supplied is intended to demonstrate ways of using the API. No representations or warranties are made regarding these samples. Intellectual property rights of the samples remain with Trace Software International.
Get Application
Application must be started to get a valid instance, then you just need to call:
Sample in C++
EwAPI::IEwInteropFactoryXPtr iEwInteropFactoryXPtr;
iEwInteropFactoryXPtr.GetActiveObject(__uuidof(EwAPI::EwInteropFactoryX));
EwAPI::IEwApplicationXPtr iEwApplicationXPtr = nullptr;
if (iEwInteropFactoryXPtr != nullptr)
iEwApplicationXPtr = iEwInteropFactoryXPtr->getEwApplication("License Code(*)", &errorCode);
Sample in C#
EwInteropFactoryX ewInteropFactory = (EwInteropFactoryX)Marshal.GetActiveObject"EwAPI.EwInteropFactoryX");
EwApplicationX ewApplicationX = null;
if(ewInteropFactory != null)
ewApplicationX = ewInteropFactory.getEwApplication("License Code(*)", out ewErrorCode);
Sample in Python
prog_id = 'EwAPI.EwInteropFactoryX'
import comtypes.gen.EwAPI as EwAPI
from comtypes.gen.EwAPI import *
ewInteropFactory = cc.GetActiveObject(prog_id, dynamic=True)
ewError = EW_NOT_IMPLEMENTED
ew_application = ewInteropFactory.getEwApplication('License Code(*)', ewError)
ew_environment = ew_application.getEwEnvironment(ewError)
ew_environment=comtypes.client.dynamic._Dispatch(ew_environment._comobj).QueryInterface(IEwEnvironmentX)
Sample in VB
Dim ewInteropFactory As EwAPI.ewInteropFactoryX
Dim ewApplication As EwAPI.ewApplicationX
Dim ewErrorCode As EwAPI.ewErrorCode
On Error GoTo Error_MayCauseAnError
ewInteropFactory = GetObject(, "EwAPI.EwInteropFactoryX.1")
'Get the application from the factory
ewApplicationX = ewInteropFactory.getEwApplication("License Code(*)", ewErrorCode)
Start Application in Background mode
Access the API without starting the application, then you just need to call:
Sample in C++
EwAPI::IEwInteropFactoryXPtr iEwInteropFactoryXPtr;
iEwInteropFactoryXPtr.CreateInstance(__uuidof(EwAPI::EwInteropFactoryX));
EwAPI::EwAPIX ewApi = iEwInteropFactoryXPtr->getEwAPI(&errorCode);
if (ewApi != nullptr)
errorCode = ewApi.initializeInBackground(0);
EwAPI::IEwApplicationXPtr iEwApplicationXPtr = nullptr;
if (ewApi != nullptr)
iEwApplicationXPtr = ewApi.getEwApplication("License Code(*)", &errorCode);
Sample in C#
EwInteropFactoryX ewInteropFactory = new EwInteropFactoryX();
EwAPIX ewApi = ewInteropFactory.getEwAPI(out ewErrorCode);
if (ewApi != null)
ewErrorCode = ewApi.initializeInBackground(0);
EwApplicationX ewApplicationX = null;
if (ewApi != null)
ewApplicationX = ewAPI.getEwApplication("License Code(*)", out ewErrorCode);
Sample in VB
Dim ewInteropFactory As New EwAPI.ewInteropFactoryX
Dim ewAPI As EwAPI.ewAPIX
Dim ewApplication As EwAPI.ewApplicationX
Dim ewErrorCode As EwAPI.ewErrorCode
On Error GoTo Error_MayCauseAnError
'Get the EwAPI from the factory
ewAPI = ewInteropFactory.getEwAPI(ewErrorCode)
'Initialise the EwApi in Background mode
ewErrorCode = ewAPI.initializeInBackground(0)
'Get the application from the EwAPI
ewApplicationX = ewAPI.getEwApplication("License Code(*)", ewErrorCode)
All Samples in C++
int main ()
{
getApplication();
return 0;
}
void getApplication()
{
EwAPI::IEwInteropFactoryXPtr iEwInteropFactoryXPtr;
iEwInteropFactoryXPtr.GetActiveObject(__uuidof(EwAPI::EwInteropFactoryX));
EwAPI::IEwApplicationXPtr iEwApplicationXPtr = nullptr;
if (iEwInteropFactoryXPtr != nullptr)
iEwApplicationXPtr = iEwInteropFactoryXPtr->getEwApplication("License Code(*)", &errorCode);
}
void startApplicationInBackground()
{
EwAPI::IEwInteropFactoryXPtr iEwInteropFactoryXPtr;
iEwInteropFactoryXPtr.CreateInstance(__uuidof(EwAPI::EwInteropFactoryX));
EwAPI::EwAPIX ewApi = iEwInteropFactoryXPtr->getEwAPI(&errorCode);
if (ewApi != nullptr)
errorCode = ewApi.initializeInBackground(0);
EwAPI::IEwApplicationXPtr iEwApplicationXPtr = nullptr;
if (ewApi != nullptr)
iEwApplicationXPtr = ewApi.getEwApplication("License Code(*)", &errorCode);
}
All Samples in C#
using EwAPI;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
}
static void getApplication()
{
EwInteropFactoryX ewInteropFactory = (EwInteropFactoryX)Marshal.GetActiveObject"EwAPI.EwInteropFactoryX");
EwApplicationX ewApplicationX = null;
if(ewInteropFactory != null)
ewApplicationX = ewInteropFactory.getEwApplication("License Code(*)", out ewErrorCode);
}
static void startApplicationInBackground()
{
EwInteropFactoryX ewInteropFactory = new EwInteropFactoryX();
EwAPIX ewApi = ewInteropFactory.getEwAPI(out ewErrorCode);
if (ewApi != null)
ewErrorCode = ewApi.initializeInBackground(0);
EwApplicationX ewApplicationX = null;
if (ewApi != null)
ewApplicationX = ewAPI.getEwApplication("License Code(*)", out ewErrorCode);
}
}
}
- Note
- License Code(*): Contact your reseller to get your license code