Purpose
This document presents some samples of using API in C#.
- Note
- mEwApplicationX: application object previously created.
Create a new project
Create a project from specified template
public void createProjectFromTemplate()
{
EwEnvironmentX ewEnvironment = mEwApplicationX.
getEwEnvironment(out ewErrorCode);
IEwProjectManagerX iEwProjectManagerX = ewEnvironment.getEwProjectManager(out ewErrorCode);
Array lIdArray = iEwProjectManagerX.
unarchive(strFilePath,
true, out ewErrorCode);
long lId = (long)lIdArray.GetValue(0);
}
Open a project
Open a project from name
public void openProjectbyName()
{
EwEnvironmentX ewEnvironment = mEwApplicationX.
getEwEnvironment(out ewErrorCode);
IEwProjectManagerX iEwProjectManagerX = ewEnvironment.getEwProjectManager(out ewErrorCode);
}
Open a project from id
public void openProjectbyId(int lID)
{
EwEnvironmentX ewEnvironment = mEwApplicationX.
getEwEnvironment(out ewErrorCode);
IEwProjectManagerX iEwProjectManagerX = ewEnvironment.getEwProjectManager(out ewErrorCode);
}
Open a project from id in the Application
public void openProjectbyName(int lID)
{
}
Open a project from file path
public void openProjectbyFilePath()
{
EwEnvironmentX ewEnvironment = mEwApplicationX.
getEwEnvironment(out ewErrorCode);
IEwProjectManagerX iEwProjectManagerX = ewEnvironment.getEwProjectManager(out ewErrorCode);
}
Use project file
- Note
- mEwProjectX: project object previously created.
Delete a Project file
public void deleteProjectFile()
{
EwProjectFileManagerX ewProjectFileManager = mEwProjectX.getEwProjectFileManager(out ewErrorCode);
if (ewProjectFileManager.getCount(out ewErrorCode) > 0)
{
EwProjectFileX[] array = ewProjectFileManager.getEwProjectFileArray(out ewErrorCode);
for (int i = 0; i < ewProjectFileManager.getCount(out ewErrorCode); i++)
{
EwProjectFileX ewProjectFile = array[0];
if(ewProjectFile.getFileType() ==
EwFileType.kFileLineDiagram)
ewErrorCode = ewProjectFile.remove();
}
}
}
Open a project file
To do that you must use the command EWOPEN command.
EWOPENFILE "D:\\ProgramData\\...\\Projects\\1216\\Drawings\\11319.ewg"
This command takes one parameter, the file path to open. To obtain this path use the getFilePath API from EwProjectFile object.
...
string strFilePath = ewProjectFile.getFilePath();
string strCommand = "EWOPEN ";
strCommand += strFilePath;
mEwApplicationX.runcommand(strCommand);
Get the project file description
public void descriptionFileProject()
{
EwProjectFileManagerX ewProjectFileManager = mEwProjectX.getEwProjectFileManager(out ewErrorCode);
if (ewProjectFileManager.getCount(out ewErrorCode) > 0)
{
EwProjectFileX[] array = ewProjectFileManager.getEwProjectFileArray(out ewErrorCode);
EwProjectConfigurationX mEwProjectConfigurationX = mEwProjectX.getEwProjectConfiguration(out ewErrorCode);
string strLanguage = mEwProjectConfigurationX.getCurrentCodeLanguage(out ewErrorCode);
for (int i = 0; i < ewProjectFileManager.getCount(out ewErrorCode); i++)
{
EwProjectFileX ewProjectFile = array[0];
string strDescription = ewProjectFile.getTranslatedData(0, strLanguage, out ewErrorCode);
}
}
}
Insert a symbol in a project file
public void insertSymbol()
{
EwProjectComponentManagerX ewProjectComponentManager = mEwProjectX.getEwProjectComponentManager(out ewErrorCode);
ewProjectComponentX.
setTag(
"ComponentMark");
ewErrorCode = ewProjectComponentX.insert();
mEwProjectSymbolX = ewProjectFileX.newEwProjectSymbol(out ewErrorCode);
mEwProjectSymbolX.setEwSymbolName("TR-DI007");
mEwProjectSymbolX.setRotationAngle(90);
mEwProjectSymbolX.setXPosition(150);
mEwProjectSymbolX.setYPosition(100);
mEwProjectSymbolX.setObjectID(ewProjectComponentX.
getID());
ewErrorCode = mEwProjectSymbolX.insert();
}
Export report
Export report in Excel
public void doExportReportIn()
{
string strTempFolder = Path.GetTempPath();
}
Export specified report in Excel
public void exportSpecifiedReportInExcel()
{
EwProjectReportManagerX ewProjectReportManagerX = mEwProjectX.getEwProjectReportManager(out ewErrorCode);
string strToFolder = Path.GetTempPath() + Guid.NewGuid() + "\\";
if (Directory.Exists(strToFolder) == true)
Directory.Delete(strToFolder, true);
Directory.CreateDirectory(strToFolder);
int lBookOrFolderId = ewProjectBook.
getID();
long[] aArrayId = new long[2];
IEwProjectReportX ewProjectReport = ewProjectReportManagerX.find(
"Folio_Metric.xml",
"", out ewErrorCode);
if (ewProjectReport == null)
return;
aArrayId[0] = ewProjectReport.
getID();
ewProjectReport = ewProjectReportManagerX.find(“CableGroupedByReference_Metric.xmlâ€, "", out ewErrorCode)
if (ewProjectReport == null)
return;
aArrayId[1] = ewProjectReport.
getID();
}
Renumber Wire
Renumber Wire Manually
public void doRenumberWireManuallyInABook()
{
EwProjectNumberWiresX ewProjectNumberWires = mEwProjectX.newEwProjectNumberWires(out ewErrorCode);
long[] aBookArrayId = new long[1];
aBookArrayId[0] = 1;
ewErrorCode = mEwProjectNumberWires.setSelectionType(
EwSelectionType.kSelectionBook);
ewErrorCode = mEwProjectNumberWires.setSelection(aBookArrayId);
ewErrorCode = mEwProjectNumberWires.process(action);
}
public void doRenumberWireManuallyInScheme()
{
EwProjectNumberWiresX ewProjectNumberWires = mEwProjectX.newEwProjectNumberWires(out ewErrorCode);
int iSize = aFileArray.Length;
long[] aFileArrayId = new long[iSize];
for (int i = 0; i < iSize; i++)
{
aFileArrayId[i] = ewProjectFileX.
getID();
}
ewErrorCode = mEwProjectNumberWires.setSelectionType(
EwSelectionType.kSelectionScheme);
ewErrorCode = mEwProjectNumberWires.setSelection(aFileArrayId);
ewErrorCode = mEwProjectNumberWires.process(action);
}
Renumber Wire
public void doRenumberWireAutomatic()
{
EwProjectNumberWiresX ewProjectNumberWires = mEwProjectX.newEwProjectNumberWires(out ewErrorCode);
ewErrorCode = ewProjectNumberWires.setActionOnManualNumber(false);
ewErrorCode = ewProjectNumberWires.setResetPosition(false);
ewErrorCode = ewProjectNumberWires.setSelectionType(
EwSelectionType.kSelectionAll);
}
Add Origin-Destination Arrow
Add Origin-Destination Arrow Manually
public void doOriginDestinationArrowManually()
{
EwProjectSymbolX ewProjectSymbolX = mEwProjectFile.newEwProjectSymbol(out ewErrorCode);
ewProjectSymbolX.setEwSymbolName("TR-OLINK");
ewErrorCode = ewProjectSymbolX.setXPosition(160;
ewErrorCode = ewProjectSymbolX.setYPosition(180);
ewErrorCode = ewProjectSymbolX.setRotationAngle(90);
ewErrorCode = ewProjectSymbolX.insert();
int iComponentID = ewProjectSymbolX.getObjectID(out ewErrorCode);
ewProjectSymbolX = mEwProjectFile.newEwProjectSymbol(out ewErrorCode);
ewProjectSymbolX.setEwSymbolName("TR-ILINK");
ewErrorCode = ewProjectSymbolX.setXPosition(180);
ewErrorCode = ewProjectSymbolX.setYPosition(180);
ewErrorCode = ewProjectSymbolX.setRotationAngle(90);
ewErrorCode = ewProjectSymbolX.setObjectID(iComponentID);
ewErrorCode = ewProjectSymbolX.insert();
EwProjectNumberWiresX ewProjectNumberWires = mEwProjectX.newEwProjectNumberWires(out ewErrorCode);
ewErrorCode = ewProjectNumberWires.setActionOnManualNumber(false);
ewErrorCode = ewProjectNumberWires.setResetPosition(false);
ewErrorCode = ewProjectNumberWires.setSelectionType(
EwSelectionType.kSelectionAll);
}
Some samples with the application
Collect information on electrical application
public void collectInformation()
{
string strPathAndName = Path.Combine(Path.GetTempPath(), "getSystemInformation\\");
if (Directory.Exists(strPathAndName) == true)
Directory.Delete(strPathAndName, true);
Directory.CreateDirectory(strPathAndName);
string[] arrayOfFiles = Directory.GetFiles(strPathAndName);
}