ETRAGE ACI for Creo
Pro/TOOLKIT Power without Pro/TOOLKIT Complications

What is it?

ETRAGE Automation COM Interface (ACI) for Creo is COM-based encapsulation of Pro/TOOLKIT (Creo's native C API).

Who is it for?

If you are an engineer with programming skills and you want to...

  • automate Creo but are anxious to avoid complexities of Pro/TOOLKIT API
  • build rich user interface "over" Creo in a language other then C
  • solve your engineering problem by utilizing Creo facilities in minimum lines of code

...then ETRAGE Automation COM Interface for Creo is the right solution for you.

Hello ACI for Creo!

Following Visual Basic .NET program uses ACI for Creo to load a part and highlight one of its features:

    Dim server As New ProeServer.Server ' Start ACI.
    Dim proe As ProeServer.IProE = server.StartProE() ' Start Creo.
    Dim part As ProeServer.IPart = proe.LoadPart("my_part.prt") ' Load part.
    part.Visible = True ' Show part.
    Dim feature As ProeServer.IFeature = part.Features.ItemByName("EXTRUDE_1")
    feature.ToSelection().Highlight() ' Highlight feature.

For more information, please see the Tutorial.

About COM

Component Object Model (along with related technologies: "Distributed COM" or DCOM, "Object Linking and Embedding" or OLE, and ActiveX) is Microsoft's object-oriented interoperability technology. COM is a binary standard, meaning it does not depend on the syntax of any particular language. In fact, any language that adheres to COM standard is automatically compatible with any other COM-compliant language.

About ACI's Utilization of COM

Technically, ACI for Creo is a COM server - it implements set a of COM objects, such as "Part", "Feature" or "Dimension", which encapsulate native Creo objects. Since "on the outside" these objects do not differ from any other COM objects, they can be used from any COM-compatible language (such as VB or VB.NET).

 

ETRAGE Automation COM Interface for Pro/ENGINEER

 

When the client makes a COM call into ACI, ACI internally translates this call into corresponding series of Pro/TOOLKIT calls, thus completely shielding the client from ever needing to know Pro/TOOLKIT internals.

Benefits

There are two principal benefits of using ACI for Creo:

  • Greater freedom in choosing client language, as noted in "Language Support" section below.
  • Significant reduction in programming complexity - a lot of Pro/TOOLKIT "plumbing" is hidden inside the ACI and error handling is greatly simplified since client does not need to constantly check for Pro/TOOLKIT error codes. For example, starting the Creo, loading a part and suppressing a feature (including proper error handling) requires about 50 lines of Pro/TOOLKIT C code, while equivalent Visual Basic .NET program using ACI is only 6 lines long.

Language Support

Any COM compatible language can be used as client for ACI. Technically, all ACI interfaces are "dual", meaning they support both "virtual table" calls (for fast access from compiled languages) and "dispatch" calls (for flexibility of OLE Automation compatible interpreted/scripting languages).

As a result, ACI for Creo is compatible with large number of languages, including (but not limited to):

  • .NET Languages (Visual Basic .NET, C#, managed C++ or C++/CLI)
  • "Classic" Visual Basic (version 6 and earlier)
  • Delphi
  • non-managed C++
  • Tcl, VBA and other scripting languages
  • Java, with appropriate bridge

Licensing

In accordance to PTC's licensing policy, ACI for Creo can only be used by customers that already own the Pro/TOOLKIT license. Full version of ACI for Creo is delivered as locked Pro/TOOLKIT executable (EXE or DLL) and it is expected from the customers to unlock it (using their Pro/TOOLKIT unlock tool) prior to using it.

Trial version is limited in functionality and provided for evaluation only, so it is delivered as unlocked Pro/TOOLKIT application and can be run without Pro/TOOLKIT license.

Download Free Trial Version!

Please follow this link for more info.