Type: BCS.IBaseProject
Base project class. Contains common methods and properties The project is itself an object (inherits from IBaseObject)
Properties
ApplicationSavedVersion
- Description: Get application saved version
- Type: String
- Access: Read
Author
- Description: Gets or sets project author - information only
- Type: String
- Access: Read and Write
BaseProject
- Description: Gets the project
- Type: IBaseProject
- Access: Read
CurrentProjectVersion
- Description: Gets current project version
- Type: Int32
- Access: Read
Description
- Description: Gets or sets project description - information only
- Type: String
- Access: Read and Write
DisplayTypeName
- Description: Gets the display name of the type name of the object. It returns the english display name of the type name.
- Type: String
- Access: Read
DistanceUnit
-
Description: Gets the distance unit for the project
This example shows you how to get the unit // get project to use foot if(Project.DistanceUnit == BCS.DistanceUnit.Imperial) print("Imperial units") if(Project.DistanceUnit == BCS.DistanceUnit.Metrics) print("Metrics units")
-
Type: DistanceUnit
-
Access: Read
Id
- Description: Gets the globally unique identifier (GUID) id of the object. This unique identifier is generated once at the object creation. This id will be kept unique for the entire life of the object, event after saving/loading the project.
- Type: Guid
- Access: Read and Write
- Example:
This example shows how to get the id of an object in a string format. The following script will output a string like 'b3122ae0-dcf7-43b6-b17c-5381afaca5cb'
strid = Project.Colors.Get("myColor").Id.ToString();
print(strid)
Managers
- Description: Gets a dictionnary of all instance of managers
- Type: IDictionary
- Access: Read
ModificationState
- Description: Gets or sets project state (modified or not)
- Type: ProjectModificationState
- Access: Read and Write
Name
- Description: Gets or sets the name of the object. All objects of the same type have a unique name.
- Type: String
- Access: Read and Write
- Example:
This example shows how to get and set the name of an object.
// get the color name
colorname = Project.Colors.Get("myColor").Name;
// set the color name
Project.Colors.Get("myColor").Name = "myNewName";
NameSuffix
- Description: The project explorer will display this after the Name of this object.
- Type: String
- Access: Read
Product
- Description: Gets product
- Type: Sym3SuiteProduct
- Access: Read
ProjectFileVersion
- Description: Gets project file version. This version is incremented each time a modification is done in the project file structure/format
- Type: Int32
- Access: Read
ProjectGuid
- Description: Gets project global ID
- Type: String
- Access: Read
SelectionService
- Description: Gets the selection service
- Type: IObjectSelectionService
- Access: Read
TypeName
- Description: Gets the typename of the object. A type name doesn’t contain any space characters.
- Type: String
- Access: Read
UserProperties
- Description: Gets the user properties manager
- Type: IUserPropertyManager
- Access: Read
UserPropertyInstances
- Description: Gets a list of all the instances of user properties.
- Type: ObservableCollection`1
- Access: Read
Version
- Description: Gets or sets project version - information only
- Type: String
- Access: Read and Write
Methods
AddManager(BCS.IBaseManager)
Adds a manager to the project
- Parameters:
- managerToAdd: manager to add
Close
Closes the project
CopyToClipboard(System.Collections.ICollection)
Copies a collection of object to clipboard
- Parameters:
- objects:
ForceRename(System.String,System.Boolean)
Rename the object.
- Parameters:
- value: The new name.
- fireChangingEvent: If false, no change event will fire. In
particular, this disables the check for duplicate names, which can be
costly as it has to check every equipment. The caller is responsible
for ensuring that
value
is a unique name, or Bad Things will happen.
FromXmlString(BCS.IToolXmlToObjectHelper)
Init object from IToolXmlToObjectHelper. All properties found in the RootElement of IToolXmlToObjectHelper will be set with the value in the rootElement
- Parameters:
- xmlHelperObj: xmlHelperObj IToolXmlToObjectHelper
FromXmlString(System.String)
Init object from xml. All properties found in the xml will be set with the value in the xml file
- Parameters:
- xmlText: Xml string
FromXmlString(System.Xml.Linq.XElement)
Init object from root element. All properties found in the XElement will be set with the value in the XElement
- Parameters:
- objXml: objXml XElement
Get(System.String)
Gets an object by name (in all the project)
- Parameters:
- name: name to serach for
- Returns:
- Found object. Will be null if not found
GetCopyPasteXml
Converts the object into an XML string including overrides for for copy/paste functionality
- Returns:
- the string that contains xml version of the object for copy/paste
GetManagerByObjectTypeName(System.String)
Gets a manager by the object type name
- Parameters:
- objectTypeName:
GetObjectById(System.Guid)
Gets an object by Global ID (in all the project)
- Parameters:
- guid: global id to search for
- Returns:
- Found object. Will be null if not found
GetObjectManager(BCS.IBaseObject)
Gets a manager from an object
- Parameters:
- obj:
GetObjectXml(System.Collections.ICollection)
Get xml string of collection of object
- Parameters:
- objects:
GetUserPropertyInstance(System.String)
Gets the user property instance of the specified name
- Parameters:
- userPropertyName: The user property name.
- Returns:
- Returns the user property instance object. If not found, the methods returns null.
- Example:
This example shows how to set the value of a user property by using this method
cc1 = Project.Equipment.Get("CC1");
// get the value of a user property using the method
userPropertyInstance = cc1.GetUserPropertyInstance("UserProperty1");
if(userPropertyInstance != null) {
userPropertyInstance.Value = 3;
}
GetUserPropertyValue(System.String)
Gets the value of a user property. A better way to get the value of a user property is to use the indexer operator [], see example. Instead of using the method ‘GetUserPropertyInstance’ and then access the ‘Value’ property of the returned value, this method simplifies the way we get the value of a user property.
- Parameters:
- userPropertyName: The name of the user property to set.
- Returns:
- Returns null if user property is not found. Otherwise returns the value of the user property.
- Example:
This example shows how to get the value of a user property using this method and also by using the indexer
cc1 = Project.Equipment.Get("CC1");
// get the value of a user property using the method
val = cc1.GetUserPropertyValue("UserProperty1");
// get the value of a user property using the indexer operator
val = cc1["UserProperty1"];
IsUserProperty(System.String)
Indicates if the object contains a user property with the name you specify
- Parameters:
- userPropertyName: user property name
- Returns:
- Returns true if the object contains a user property with the name you specified in parameter.
Open(System.String,BCS.ObjectReadCallback,System.Collections.Generic.List{System.String}@)
Open project file
- Parameters:
- fileName: project file to open
- callBack: a callback each time an object is read from the project file
- errorList: a list of all error found during loading.
RemoveObject(BCS.IBaseObject)
Removes an object form the project
- Parameters:
- obj: Object to remove
- Returns:
- true if success
RemoveObjects(System.Collections.IList)
Removes a list of object from the project
- Parameters:
- objects: list of objects to remove
- Returns:
- true if success
Save
Save current project to existing file name
SaveAs(System.String)
save project as
- Parameters:
- fileName: filename where to save project
SaveSubSystems(System.String,System.Collections.Generic.List{System.String})
Save one or more subsystems to a separate project.
- Parameters:
- filename: The filename of the project to save the subsystems to.
- subSystemNames: The names of the subsystems to save.
SetUserPropertyValue(System.String,System.Object)
Sets the value of a user property. A better way to set the value of a user property is to use the indexer operator [], see example. Instead of using the method ‘GetUserPropertyInstance’ and then access the ‘Value’ property of the returned value, this method simplifies the way we set the value of a user property.
- Parameters:
- userPropertyName: The name of the user property to set.
- value: If the user property is not found, this methods does nothing.
- Example:
This example shows how to set the value of a user property using this method and also by using the indexer
cc1 = Project.Equipment.Get("CC1");
// set the value of a user property using the method
cc1.SetUserPropertyValue("UserProperty1", 3);
// set the value of a user property using the indexer operator
cc1["UserProperty1"] = 3;
ToCSVString(System.Char)
Returns the object in a CSV string.
- Returns:
- A string that contains properties of the object in a CSV format.
ToXmlString
Converts the object in an xml string
- Returns:
- the string that contains xml version of the object