Eplan Platform API
Eplan.EplApi.DataModel Namespace / Function Class
Members Example

In This Topic
    Function Class
    In This Topic
    A class that represents logical devices (or device sub-components) of Project's Page.
    Inheritance Hierarchy

    System.Object
       Eplan.EplApi.DataModel.StorableObject
          Eplan.EplApi.DataModel.Placement
             Eplan.EplApi.DataModel.SymbolReference
                Eplan.EplApi.DataModel.FunctionBase
                   Eplan.EplApi.DataModel.Function
                      Eplan.EplApi.DataModel.BoxedDevice
                      Eplan.EplApi.DataModel.ConnectionDefinitionPoint
                      Eplan.EplApi.DataModel.EObjects.Cable
                      Eplan.EplApi.DataModel.EObjects.CableUnit
                      Eplan.EplApi.DataModel.EObjects.Harness
                      Eplan.EplApi.DataModel.EObjects.PLC
                      Eplan.EplApi.DataModel.EObjects.Plug
                      Eplan.EplApi.DataModel.EObjects.PlugStrip
                      Eplan.EplApi.DataModel.EObjects.Shield
                      Eplan.EplApi.DataModel.EObjects.Terminal
                      Eplan.EplApi.DataModel.EObjects.TerminalStrip
                      Eplan.EplApi.DataModel.Topology.Segment

    Syntax
    Remarks
    Some properties of Data model classes are not linked with their owners even if from the syntax it may seem otherwise. Like in this line: oRectangle.Pen.ColorId = 5, the ColorId of the Pen is changed but oRectangle object doesn't know about it since the Pen property is a stand alone value not aware of oRectangle object existence. This remark applies to the following Function properties: Articles, Connections.
    Example
    The following example shows how to create and place Function on page. Next example shows how to build connection between two functions.
    string strSymbolLibName = "IEC_symbol";
    string strSymbolName = "M2W";
    int nVariant = 0;
    
    //at first initialize SymbolVariant
    SymbolLibrary oSymbolLibrary = new SymbolLibrary(m_eplanDemo, strSymbolLibName);
    Symbol oSymbol = new Symbol(oSymbolLibrary, strSymbolName);
    SymbolVariant oSymbolVariant = new SymbolVariant();
    oSymbolVariant.Initialize(oSymbol, nVariant);
    
    //create function
    Function oNewFunction = new Function();
    oNewFunction.Create(page, oSymbolVariant);
    
    //set function name
    oNewFunction.Name = "=AP+ST1-M1";
    oNewFunction.VisibleName = "M1";
    
    //set pins descriptions
    oNewFunction.Properties.FUNC_CONNECTIONDESIGNATION[1] = "1";
    oNewFunction.Properties.FUNC_CONNECTIONDESIGNATION[2] = "2";
    oNewFunction.Properties.FUNC_CONNECTIONDESIGNATION[3] = "PE";
    
    //set location
    oNewFunction.Location = new PointD(120.0, 215.0);
    
    //adjust representation type
    oNewFunction.ManualPlacementType = page.PageType;
    
    
    
    Page oPage = m_oTestProject.Pages[9];
    
    string strSymbolLibName = "IEC_symbol";
    string strSymbolName = "M3";
    int nVariant = 0;
    
    SymbolLibrary oSymbolLibrary = new SymbolLibrary(m_oTestProject, strSymbolLibName);
    Symbol oSymbol = new Symbol(oSymbolLibrary, strSymbolName);
    SymbolVariant oSymbolVariant = new SymbolVariant();
    oSymbolVariant.Initialize(oSymbol, nVariant);
    
    Function oFunction = new Function();
    oFunction.Create(oPage, oSymbolVariant);
    oFunction.Name = "A";
    oFunction.Location = new PointD(100, 100);
    
    Function oFunction2 = new Function();
    oFunction2.Create(oPage, oSymbolVariant);
    oFunction2.Name = "B";
    oFunction2.Location = new PointD(100, 50);
    
    new Generate().Connections(m_oTestProject);
    
    
    
    Public Constructors
     NameDescription
    Public ConstructorConstructor. Creates a transient Function.  
    Top
    Public Properties
     NameDescription
    Public PropertyReturns an array of all sub-functions of the given main function. Sub-functions are all functions having the same identifying device tag (property 20005) which are not main (a.k.a. auxiliary functions).  
    Public PropertyDetermines if connection point data are saved locally at the part placement.  
    Public PropertyThe value determines if target is taken from net-based routing or not. (Inherited from Eplan.EplApi.DataModel.SymbolReference)
    Public PropertySets the ArticleReference at the reference position of the ArticleReference.  
    Public PropertyReturns ArticleReferences that are referenced by Function.  
    Public PropertyReturns Articles that are referenced by Function, and only those that are stored in project database.  
    Public PropertyReturns a block which this SymbolReference object is part of. If this object is not a part of any block, this property returns NULL. (Inherited from Eplan.EplApi.DataModel.SymbolReference)
    Public PropertyThe property gives the search direction of the full device tag, when the visible device tag name is empty.  
    Public PropertyReturns flag, if this function can give connection designations to other functions (is meant for the Device-Tag-Editor, where sometimes there can be edited more connection designations than the actual function has)  
    Public PropertyCheck if the Function can have Articles.  
    Public PropertyArray of connection points data.  
    Public PropertyReturns Connections that have the Functions as a start function or end function.  
    Public PropertyReturns contact image assign to this function or null.  
    Public PropertyGets or sets a value indicating where contact image is displayed for this function.  
    Public PropertyReturns an array of objects cross-referenced with this object (i.e. having the same name - in case of functions - or otherwise associated) (Inherited from Eplan.EplApi.DataModel.StorableObject)
    Public PropertyReturns the project as number. The number is unique for all open projects in one session. The number changes when the project is closed and opened again. (Inherited from Eplan.EplApi.DataModel.StorableObject)
    Public PropertySets display sequence. The drawing order flag will be used to sort elements according to drawing order within a group. If elements chare the same value the drawing order will result from order of the data model. Default value is 67. (Inherited from Eplan.EplApi.DataModel.Placement)
    Public PropertyReturns the category of a Function.  
    Public PropertyReturns the FunctionDefinition of the Function.  
    Public PropertyIf this object is the main function of a device or a cable, this property returns an array of transient object (of Connection or Function type) that represent function templates contained by the device or the cable.  
    Public PropertyAn array of the symbols's connection points (Inherited from Eplan.EplApi.DataModel.SymbolReference)
    Public PropertyAn array of SymbolReference.GraphicalConnection objects representing all auto-connecting lines connected to the pins of the symbol. This property may be useful to check graphical layout of connections associated with the symbol (including T-nodes, corners, etc.). (Inherited from Eplan.EplApi.DataModel.SymbolReference)
    Public PropertyReturns a group that the Placement object belongs to. If the Placement object doesn't belong to any group, NULL is returned. (Inherited from Eplan.EplApi.DataModel.Placement)
    Public PropertyDetermines if connection points to graphical terminals mapping is the default mapping, according to the symbol. Please refer to the line "Symbol connection point" in dialog "Connection point logic" in GUI. This property returns ... true, if all Symbol connection points are mapped to the respective connection point of the Function. false, if the mapping on the Function was changed in regard to the Symbol.  
    Public PropertyReturns true if the symbol's logical area is a polyline (consisting of segments) rather than just a rectangle. (Inherited from Eplan.EplApi.DataModel.SymbolReference)
    Public PropertyGets/Sets, if the function separates potentials.  
    Public PropertyReturns identifying name of the Function. (Inherited from Eplan.EplApi.DataModel.FunctionBase)
    Public PropertyReturns true if this is a Function object that covers a function template in a device.  
    Public PropertySet or checks if device of this function is fixed.  
    Public Property

    Determines if the the StorableObject is locked.

    The StorableObject is locked when it was explicitly or implicitly locked.

    (Inherited from Eplan.EplApi.DataModel.StorableObject)
    Public PropertyGets/Sets a flag which indicates a main function of the device.  
    Public PropertyReturns true if the list of name's properties is empty (Inherited from Eplan.EplApi.DataModel.FunctionBase)
    Public PropertyReturns, if the function is netconnecting.  
    Public PropertyReturns true if the placement is placed (Inherited from Eplan.EplApi.DataModel.Placement)
    Public PropertyDetermines if StorableObject is read-only (Inherited from Eplan.EplApi.DataModel.StorableObject)
    Public PropertyGets/Sets visibility of the object as set in its properties dialog. (Inherited from Eplan.EplApi.DataModel.Placement)
    Public PropertyReturns true if this is a transient Function object repesenting an uncovered function template of a device.  
    Public PropertyDetermines whether changes made on this template will be stored after UpdateLocalTemplate is called.  
    Public Property

    Determines if the the StorableObject is transient.

    The StorableObject is transient when it was created by default constructor and:

    it is a Page and it was not assigned a Project,

    it is a Placement or any class derived from it and was not assigned a Page.

    (Inherited from Eplan.EplApi.DataModel.StorableObject)
    Public PropertyDetermines if StorableObject is correct database object and is not deleted. (Inherited from Eplan.EplApi.DataModel.StorableObject)
    Public PropertyGet or set the placement's location. (Inherited from Eplan.EplApi.DataModel.FunctionBase)
    Public PropertyGets/Sets an array of segments that the symbol's logical area may consist of. (Inherited from Eplan.EplApi.DataModel.SymbolReference)
    Public PropertyGets custom placement type. Placement type express how function will be shown on schema.  
    Public PropertyReturns the name of the FunctionBase. (Inherited from Eplan.EplApi.DataModel.FunctionBase)
    Public PropertyName of the Function. (Inherited from Eplan.EplApi.DataModel.FunctionBase)
    Public PropertyReturns an array of nested functions of the given main function. Nested-functions property returns functions whose identifying device tag contains the device tag of the parent + nested part of device tag.  
    Public PropertyReturns the object identifier as number. The number is unique for all objects of this type. (Inherited from Eplan.EplApi.DataModel.StorableObject)
    Public PropertyReturns the page the Placement is on, or assigns a Page object to the placement. If the placement was previously assigned to another page, it is removed from old one and assigned to the page given as an argument. (Inherited from Eplan.EplApi.DataModel.Placement)
    Public PropertyGets parent function (a main function having the same identifying name or, in case of sub-terminals, the main terminal of a multi-level terminal). For main functions it returns NULL.  
    Public PropertyGets/Sets an array of the function's connection points.  
    Public PropertyEplan.EplApi.DataModel.Planning.PlanningSegment assigned to this function.  
    Public PropertyReturns the project the StorableObject belongs to. (Inherited from Eplan.EplApi.DataModel.StorableObject)
    Public PropertyEPLAN properties of the Function object.  
    Public PropertyReturns Eplan.EplApi.DataModel.Graphics.PropertyPlacements assigned to the SymbolReference. (Inherited from Eplan.EplApi.DataModel.SymbolReference)
    Public PropertyReturns SymbolReference.PropertyPlacementsSchemas assigned to this SymbolReference. (Inherited from Eplan.EplApi.DataModel.SymbolReference)
    Public PropertyReturns an array of sub-functions of the given main function. Sub-functions are all functions having the same identifying device tag (property 20005) which are not main (a.k.a. auxiliary functions).  
    Public PropertyOverridden. Specifies Eplan.EplApi.DataModel.MasterData.SymbolVariant assigned to this SymbolReference.  
    Public PropertySet configuration type to select different variants for point or destination wiring (Inherited from Eplan.EplApi.DataModel.SymbolReference)
    Public PropertyReturns the type of the object as number. (Inherited from Eplan.EplApi.DataModel.StorableObject)
    Public PropertyReturn true if the instance uses the local property instances, otherwise it uses the ones of the variant. (Inherited from Eplan.EplApi.DataModel.SymbolReference)
    Public PropertyReturns the visible name of the FunctionBase. (Inherited from Eplan.EplApi.DataModel.FunctionBase)
    Public PropertyReturns visible name of the Function. (Inherited from Eplan.EplApi.DataModel.FunctionBase)
    Public PropertyCheck if object is currently write protected or sets Manual write protection  
    Top
    Public Methods
     NameDescription
    Public MethodOverloaded. Adds a new ArticleReference to the Function.  
    Public MethodCreates new connection point position.  
    Public MethodAssigns this function to another, which means that values of this function's properties are copied to the target object and the function itself is removed from the project.  
    Public MethodConverts the symbol representing this object into a group of graphical placements. (Inherited from Eplan.EplApi.DataModel.SymbolReference)
    Public MethodOverloaded. Copy Placement and insert the Copy into destination group. Copied placement will be inserted into desired project of destination group. If this placement is temporary, the copy will be persistent, if the destination group is also persistent. Group or Page, where the placement will be inserted. Defines whether a layer should be matched by name. (Inherited from Eplan.EplApi.DataModel.Placement)
    Public MethodOverloaded. Creates a Function object placed on a Page given as a parameter and sets it Eplan.EplApi.DataModel.MasterData.SymbolVariant together with LogicalArea.  
    Public MethodOverloaded. Creates a Function. It is not placed on any Page. Its category is taken from Eplan.EplApi.DataModel.MasterData.SymbolVariant.  
    Public MethodDestructor for deterministic finalization of Function object. (Inherited from Eplan.EplApi.DataModel.StorableObject)
    Public MethodOperator of comparison implementation. Checks if two StorableObjects refer to the same object in the project. (Inherited from Eplan.EplApi.DataModel.StorableObject)
    Public MethodPlacement bounding box. Bounding box is a rectangle which contain this placement. It can be also used to determine placement size. (Inherited from Eplan.EplApi.DataModel.Placement)
    Public MethodGets graphical representation of the Function.  
    Public MethodServes as the default hash function. (Inherited from Eplan.EplApi.DataModel.StorableObject)
    Public MethodReturns a rectangle which is the logical area of the object derived from SymbolReference. For objects having symbols consisting of segments, this method returns the bounding box of the polyline created by those segments. (Inherited from Eplan.EplApi.DataModel.SymbolReference)
    Public MethodGets name prototype properties id with separators. (Inherited from Eplan.EplApi.DataModel.FunctionBase)
    Public MethodSets properties which are used for building name of object. (Inherited from Eplan.EplApi.DataModel.FunctionBase)
    Public MethodGets list of property placements of given type. (Inherited from Eplan.EplApi.DataModel.SymbolReference)
    Public MethodReturns object type name. (Inherited from Eplan.EplApi.DataModel.StorableObject)
    Public MethodChecks if a specific write protection kind was set.  
    Public Method

    Determines if the the Device (which can refer to several objects, such as all function's representations) is locked.

    The LockDevice is locked when it was explicitly or implicitly locked.

     
    Public MethodOverridden. Checks, if the point is inside logical area of the symbol. Returns true, if the symbol has a logical area and the point is inside. The logical area may be a rectangle or a polyline without arcs.  
    Public MethodTries to lock current device (which can refer to several objects, such as all function's representations) in database for exclusive access. Throws Eplan.EplApi.Base.LockingException on failure. If locked device in placed, corresponding page(s) will be locked as well.  
    Public MethodTries to lock current object in database for exclusive access. Throws Eplan.EplApi.Base.LockingException on failure. (Inherited from Eplan.EplApi.DataModel.StorableObject)
    Public MethodInstantiates the function represented by this object. Primarily used for instantiating an uncovered function template.  
    Public MethodTemporarily disables write protection. Note that current write protection flags are not cleared.  
    Public MethodPlaces the function onto the given page, in the given location  
    Public MethodPlaces the function onto the given page, in the given location and with the symbol specified by the placementType and the pSymbolVariant parameters.  
    Public MethodPlaces a macro assigned to this function together with a special symbol configured in settings. The symbol placed has 'Functional' representation type and the macro is converted to graphics after insertion. If no macro is assigned to the function in its article data (ARTICLE_GROUPSYMBOLMACRO property), the macro specified by the third parameter ('strMacroFileName') will be inserted.  
    Public MethodRemoves placement. (Inherited from Eplan.EplApi.DataModel.Placement)
    Public MethodRemoves the ArticleReference from the Function  
    Public MethodRemoves connection point data stored under given index.  
    Public MethodRemoves placement from the page. Object becomes not-placed.  
    Public MethodReorders property placements of one type, which are assigned to this SymbolReference. (Inherited from Eplan.EplApi.DataModel.SymbolReference)
    Public MethodResets connection points to graphical terminals mapping.  
    Public MethodOverloaded. Scales the placement (or group of placements) by the specified factors in X and Y axis with scaling origin point specified by the ptOrigin parameter. (Inherited from Eplan.EplApi.DataModel.Placement)
    Public MethodSets rectangular logical area for objects derived from SymbolReference. (Inherited from Eplan.EplApi.DataModel.SymbolReference)
    Public MethodAssigns Eplan.EplApi.DataModel.Planning.PlanningSegment to this function.  
    Public MethodSets symbol variant for Function.  
    Public MethodTries to lock current object. If object is Placement - it's page will be locked as well; Eplan.EplApi.DataModel.E3D.Placement3D locks it's installation space; Function locks all it's connections and connection definition points; Page locks all placements from this page. Throws Eplan.EplApi.Base.LockingException on failure. (Inherited from Eplan.EplApi.DataModel.StorableObject)
    Public MethodStores data from connection point position in function under given index.  
    Public MethodCopies or removes all local ProperyPlacemnets and sets flag (Inherited from Eplan.EplApi.DataModel.SymbolReference)
    Public MethodReturns this object as string identifier. (Inherited from Eplan.EplApi.DataModel.StorableObject)
    Public MethodStores changes into object from which template has been taken.  
    Top
    See Also