Hide Table of Contents
SOLIDWORKS Electrical API  2021.0.0
Electrical API
Getting Started

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#

EwErrorCode ewErrorCode = EwErrorCode.EW_UNDEFINED_ERROR;
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#

EwErrorCode ewErrorCode = EwErrorCode.EW_UNDEFINED_ERROR;
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()
{
EwErrorCode ewErrorCode = EwErrorCode.EW_UNDEFINED_ERROR;
EwInteropFactoryX ewInteropFactory = (EwInteropFactoryX)Marshal.GetActiveObject"EwAPI.EwInteropFactoryX");
EwApplicationX ewApplicationX = null;
if(ewInteropFactory != null)
ewApplicationX = ewInteropFactory.getEwApplication("License Code(*)", out ewErrorCode);
}
static void startApplicationInBackground()
{
EwErrorCode ewErrorCode = EwErrorCode.EW_UNDEFINED_ERROR;
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
@ EW_UNDEFINED_ERROR
Undefined error.
Definition: EnumDefinition.idl:24
EwErrorCode
All errors codes for this API.
Definition: EnumDefinition.idl:21


Provide feedback on this topic

SOLIDWORKS welcomes your feedback concerning the presentation, accuracy, and thoroughness of the documentation. Use the form below to send your comments and suggestions about this topic directly to our documentation team. The documentation team cannot answer technical support questions. Click here for information about technical support.

* Required

 
*Email:  
Subject:   Feedback on Help Topics
Page:   SOLIDWORKS Electrical API: Getting Started
*Comment:  
*   I acknowledge I have read and I hereby accept the privacy policy under which my Personal Data will be used by Dassault Systèmes

Print Topic

Select the scope of content to print:

x

We have detected you are using a browser version older than Internet Explorer 7. For optimized display, we suggest upgrading your browser to Internet Explorer 7 or newer.

 Never show this message again
x

Web Help Content Version: API Help (English only) 2021 SP05

To disable Web help from within SOLIDWORKS and use local help instead, click Help > Use SOLIDWORKS Web Help.

To report problems encountered with the Web help interface and search, contact your local support representative. To provide feedback on individual help topics, use the “Feedback on this topic” link on the individual topic page.