# Expression Types and Syntax Examples

## Expression Types and Syntax Examples

Following are different types of Expressions and their syntax examples:
• General Symbols (Arithmetic)
• 1 +"4" will return the value 5
• 2.3 * 3 will return the value 6.9
• 12/5 will return the value 2.4
• 12\5 will return the value 2
• 25 mod 3 will return the value 1
• String Concatenation
• 1 & "4" will return the value "14"
• "Pipe" & "and" & "Valve" will return the value "Pipe and Valve"
• IIf Symbols (Condition)
• IIf (500>200, "math ok", "math wrong") will return the value "math ok"
• IIf (500<200, "math ok", "math wrong") will return the value "math wrong"
• IIf Smbol (Comparison)
• 20<10 will return the value "false"
• IIf(System.String.Compare ("Pipe", "Pipe"), "match", "no match") will return the value "match"
• System Math
• System.Math.Abs (value)
• System.Math.Acos (value)
• System.Math.Asin (value)
• System.Math.Atan (value)
• System.Math.Atan2 (y,x)
• System.Math.BigMul (a,b)
• System.Math.Ceiling (a)
• System.Math.Cos (r)
• System.Math.Cosh (r)
• System.Math.E
• System.Math.Exp (p)
• System.Math.Floor (d)
• System.Math.IEEERemainder (x,y)
• System.Math.Log (r)
• System.Math.Log10 (d)
• System.Math.Max (x,y)
• System.Math.Min (x,y)
• System.Math.PI
• System.Math.Pow (x,y)
• System.Math.Round (value)
• System.Math.Sin(45*System.Math.PI/180)
• System.Math.Sin(Double a)
• System.Math.Sinh(a)
• System.Math.Sqrt(Double d)
• System.Math.Tan (a)
• System.Math.Tanh (a)
• System.Math.Round(4.53459)
• System.Math.Log(1.2) / System.Math.Log(0.1)
• System.Math.Max(1.2, 1.1)
• System Path
• System.Path.GetFileNameWithoutExtension("C:\ProgramData\Bentley\MicroStation CONNECT Edition\Configuration\Organization\Dgnlib\Gui\test.dgnlib") will return the value "test"
• System.Path.GetExtension("C:\ProgramData\Bentley\MicroStation CONNECT Edition\Configuration\Organization\Dgnlib\Gui\test.dgnlib") will return the value ".dgnlib"
• System.Path.Combine (path1,path2)
• System.Path.GetDirectoryName (path)
• System.Path.GetExtension (path)
• System.Path.GetFileName (path)
• System.Path.GetFileNameWithoutExtension (path)
• System.Path.GetFullPath (path)
• System String
• System.String.Compare (string1,string2)
• System.String.CompareI (string1,string2)
• System.String.Contains(String string1, String string2)
• System.String.Containsl(String string1, String string2)
• System.String.Format (format,arg0)
• System.String.IndexOf (search,find)
• System.String.LastIndexOf (search,find)
• System.String.Length("Pipe") will return the value "4"
• System.String.Substring (value,startIndex,length)
• System.String.ToLower (value)
• System.String.ToString (value)
• System.String.ToUpper (value)
• System.String.Trim (value)
• Element Properties
• this.GetElement().ElementID
• this.GetElement().TotalLength
• this.GetElement().ElementDescription
• this.GetElement().Color
• Model Properties
• this.GetModel().Is3D
• this.GetModel().Name
• this.GetModel().Description
• this.GetModel().Resolution
• File Properties
• this.GetFile().Author
• this.GetFile().Editor
• this.GetFile().FileName
• GetItemSameLibrary()
• this.GetItem("Lib1Itp1").TextProp
• this.GetItem("Lib1Itp1").IntegerProp
• this.GetItem("Lib1Itp1").DoubleProp
• this.GetItem("Lib1Itp1").ArrayProp[0] & " \" & this.GetItem("Lib1Itp1").ArrayProp[1]
• GetItemDifferentLibrary()
• this.GetItem("Lib1:Lib1Itp1").TextProp
• this.GetItem("Lib1:Lib1Itp1").IntegerProp
• this.GetItem("Lib1:Lib1Itp1").ArrayProp[0] & " \" & this.GetItem("Lib1:Lib1Itp1").ArrayProp[1]
• GetItemExtrinsicSchema
• this.GetItem("DGNECPlugin_Test:Father").FirstName
• this.GetItem("DGNECPlugin_Test:Father").FirstName & " \" & this.GetItem("DGNECPlugin_Test:Father").LastName
• GetItemRelatedExtrinsicSchema
• this.GetItem("DGNECPlugin_Test:Father").FirstName & " \" & this.GetItem("DGNECPlugin_Test:Father").LastName"
Note: GetRelatedItem has been deprecated. Use *GetRelatedInstance* instead.
• MSTN variable
• MSTNvariable.GetLocalTempDirectoryBaseName()
• MSTNvariable.GetNameForTemporaryFile(String partialPathName, String prefix)
• MSTNvariable.GetVariable("MS_CELL")
• MSTNvariable.IsVariableDefinedAndTrue("MS_CELL")
• MSTNvariable.IsVariableDefinedAndFalse("MS_CELL")
• MSTNvariable.IsVariableDefined("MS_CELL")
• MSTNvariable.GetLocalTemporaryDirectory("Bentley")
• Design File Settings
• DesignFileSetting.GetMasterUnitName()
• DesignFileSetting.GetActiveAngle()
• DesignFileSetting.GetAxisAngle()
• DesignFileSetting.GetTagIncrement()
• DesignFileSetting.GetFenceClip()
• DesignFileSetting.GetFenceOverlap()
• DesignFileSetting.GetFenceVoid()
• DesignFileSetting.GetGridLock()
• DesignFileSetting.GetGridRef()
• DesignFileSetting.GetIsometricLock()
• DesignFileSetting.GetGraphicGroup()
• DesignFileSetting.GetSubUnitName()
• DesignFileSetting.GetAngleLock()
• DesignFileSetting.GetAngleTolerance()
• DesignFileSetting.GetSnapMode()
• DesignFileSetting.GetPointerColor()
• DesignFileSetting.GetHiLightColor()
• DesignFileSetting.GetScaleTolerance()
• DesignFileSetting.GetGridAspect()
• DesignFileSetting.GetGridOrientation()
• DesignFileSetting.GetSnapDivisor()
• DesignFileSetting.GetSnapAssociation()
• DesignFileSetting.GetIsoPlane()
• DesignFileSetting.GetStreamDelta()
• DesignFileSetting.GetStreamTol()
• DesignFileSetting.GetStreamAngle()
• DesignFileSetting.GetStreamArea()
• DesignFileSetting.GetStreamAcceptance()
• DesignFileSetting.GetSolidsArea()
• DesignFileSetting.GetAngleClockwise()
• DesignFileSetting.GetAngleBase()
• DesignFileSetting.GetActiveScaleX()
• DesignFileSetting.GetActiveScaleY()
• DesignFileSetting.GetAxisLock()
• DesignFileSetting.GetBackground(1)
• DesignFileSetting.GetPixelWidth(1)
• DesignFileSetting.GetPixelHeight(1)
• DesignFileSetting.GetSelectionSetClr()
• DesignFileSetting.GetSnapACSPlane()
• DesignFileSetting.GetACSPlaneLock()
• DesignFileSetting.GetScaleLock()
• DesignFileSetting.GetSnapLock()
• DesignFileSetting.GetLevelLock()
• Active File
• ActiveFile.ACSPlaneSnap
• ActiveFile.ActiveAngle
• ActiveFile.AngleLock
• ActiveFile.Association
• ActiveFile.Author
• ActiveFile.AuthoringProductName
• ActiveFile.AxisLock
• ActiveFile.Client
• ActiveFile.ConnectProjectGUID
• ActiveFile.CreateDate
• ActiveFile.DesignRevisionCount
• ActiveFile.DesignRevisions
• ActiveFile.Editor
• ActiveFile.FileName
• ActiveFile.FileSize
• ActiveFile.Format
• ActiveFile.FormatMinorVersion
• ActiveFile.GetClass()
• ActiveFile.FormatMajorVersion
• ActiveFile.GetInstanceId()
• ActiveFile.GetInstanceLabel()
• ActiveFile.GetRelatedInstance()
• ActiveFile.Increment
• ActiveFile.IsOfClass("Room","ExampleSchema.01.00")
• ActiveFile.KeyPointDevisor
• ActiveFile.Keywords
• ActiveFile.LastSavedBy
• ActiveFile.LevelLock
• ActiveFile.Levels
• ActiveFile.LevelsUsed
• ActiveFile.Manager
• ActiveFile.Models
• ActiveFile.Orientation
• ActiveFile.OriginalFileFormat
• ActiveFile.Owner
• ActiveFile.PlotDate
• ActiveFile.ProjectAssetType
• ActiveFile.ProjectIndustry
• ActiveFile.ProjectLocation
• ActiveFile.ProjectName
• ActiveFile.ProjectNumber
• ActiveFile.ProjectStatus
• ActiveFile.Revision
• ActiveFile.RevisionNumber
• ActiveFile.SaveDate
• ActiveFile.ScaleLock
• ActiveFile.Sheet_Number
• ActiveFile.ScaleTolerance
• ActiveFile.SnapLock
• ActiveFile.SnapMode
• ActiveFile.StartAngle
• ActiveFile.Subject
• ActiveFile.Title
• ActiveFile.Tolerance
• ActiveFile.TotalEditingTime
• ActiveFile.WorkSetDescription
• ActiveFile.WorkSetName
• ActiveFile.WorkSpaceName
• ActiveFile.XActiveScale
• ActiveFile.YActiveScale
• ActiveFile.ZActiveScale
• Session
• Session.IsActiveFileInCfgVarList("MS_GUIDGNLIBLIST")
• Session.IsV7DgnFile()
• Session.IsDwgFile()
• Session.IsDxfFile()
• Session.IsBentleyView()
• Session.ItemBrowserInBentleyView()
• Session.ActiveWorkflow()
• Session.ActiveCommandKeyin()
• Session.EvalNEAsDouble("1+2",3.7)
• Session.EvalNEAsInt("3+4",9)
• Session.EvalNEAsBool("false","true")
• Session.EvalNEAsString("a+b","abc")
• Session.TreatActiveModelAs3D()
• Session.ActiveModelIsReference()
• Session.ActiveModelIs3dPrintingModel()
• Session.ActiveModelIsMarkup()
• Session.ActiveModelTypeIsDesign()
• Session.ActiveModelTypeIsSheet()
• Session.ActiveModelTypeIsDrawing()
• Session.IsDisplaySetActive()
• Session.IsNamedToolBoxOpen("Extra Tools")
• Session.IsToolBoxOpen(-548,"MGDSHOOK")
• Session.IsToolFrameOpen(-548,"MGDSHOOK")
• Session.IsMdlDialogOpen()
• Session.IsViewDisplayed()
• Session.ActiveAnnotationScale()
• Session.IsSnapModeValid(2048)
• Session.ActiveSnapMode()
• Session.DefaultSnapMode()
• Session.IsAccuSnapEnabled()
• Session.GetTextElementJustification()
• Session.SetTextElementJustification()
• Session.IsUndoActive()
• Session.IsRedoActive()
• Session.UndoCommandString()
• Session.RedoCommandString()
• Session.IsContextualTabSetKeyActive()
• Session.IsUIItemStateEnabled("MyItem.Key",false)
• Session.IsUIItemStateEnabled("MyItem.Key",false)
• Session.IsUIItemStateChecked()
• Session.ActiveAnnotationScaleString()
• Session.ActiveAcsDescription()
• Session.ActiveFileAllowsExports()
• Session.ActiveFileAllowsPrinting()
• Session.ActiveFileIsScratch()
• Session.ActiveFileIsAConfiguredDgnlib()
• Session.IsLevelManagerAllowed()
• WorkSet
• WorkSet.ProjectName
• WorkSet.ProjectIndustry
• WorkSet.ProjectNumber
• WorkSet.ConnectProjectGUID
• WorkSet.ProjectAssetType
• WorkSet.ProjectLocation
• WorkSet.ProjectStatus
• WorkSet.WorkSetDescription
• WorkSet.WorkSetName
• WorkSet.WorkSpaceName
If you have added advanced properties while creating a WorkSpace, like custom date or custom text then you should use below expression:

Note: WorkSet.CustomPropertyName

• System.Date Time (for this you have to create Date1 and Date2 properties in the Item Type)
• System.DateTime.Now()
• System.DateTime.GetYear(System.DateTime.Now())
• System.DateTime.GetDateOnly(System.DateTime.Now())
• System.DateTime.GetDayOfYear(System.DateTime.Now())
• System.DateTime.GetMillisecond(System.DateTime.Now())
• System.DateTime.GetSecond(System.DateTime.Now())
• System.DateTime.GetMinute(System.DateTime.Now())
• System.DateTime.GetHour(System.DateTime.Now())
• System.DateTime.GetMonth(System.DateTime.Now())
• System.DateTime.ToLocalTime(System.DateTime.Now())
• System.DateTime.Compare(this.date1,this.date2)
• System.DateTime.UtcNow()
• System.DateTime.Equals(this.date1,this.date2)
• System.DateTime.SubtractionInDays(this.date1,this.date2)
• System.DateTime.SubtractionInYears(this.date1,this.date2)
• System.DateTime.SubtractionInMonths(this.date1,this.date2)
• System.DateTime.IsLeapYear(System.DateTime.Now())
• System.Environment
• System.Environment.CurrentDirectory ()
• System.Environment.ExpandEnvironmentVariables (name)
• System.Environment.GetEnvironmentVariable (variable)
• Active Lock
• ActiveLock.AngleLockEnabled()
• ActiveLock.AnnotationScaleLockEnabled()
• ActiveLock.AssociationLockEnabled()
• ActiveLock.ConstructionPlaneLockEnabled()
• ActiveLock.ConstructionSnapLockEnabled()
• ActiveLock.GraphicGroupLockEnabled()
• ActiveLock.GridLockEnabled()
• ActiveLock.IsometricLockEnabled()
• ActiveLock.LevelLockEnabled()
• ActiveLock.PatternAssociationLockEnabled()
• ActiveLock.SnapLockEnabled()
• ActiveLock.TextNodeLockEnabled()
• ActiveLock.UnitLockEnabled()
• ActiveLock.ElementTemplateAssociationLockEnabled()
• Active View
• ActiveView.DisplayStyleName()
• ActiveView.UseCamera()
• ActiveView.ShowFill()
• ActiveView.ShowBackground()
• ActiveView.ShowBoundayDisplay()
• ActiveView.UseClipBack()
• ActiveView.UseClipFront()
• ActiveView.UseClipVolume()
• ActiveView.ShowConstructionClass()
• ActiveView.ShowDimensionClass()
• ActiveView.ShowDataFields()
• ActiveView.UseDisplaySet()
• ActiveView.ShowFastCells()
• ActiveView.ShowFastCurves()
• ActiveView.ShowGrid()
• ActiveView.UseLevelOverrides()
• ActiveView.ShowLineStyles()
• ActiveView.ShowLineWeight()
• ActiveView.ShowPatternBumpMaps()
• ActiveView.UseDefaultLighting()
• ActiveView.ShowTags()
• ActiveView.ShowText()
• ActiveView.ShowTextNodes()
• ActiveView.ShowTransparency()
• ActiveView.UsesClipVolumeElement()
• Active Model
• ActiveModel.Name
• ActiveModel.Type
• ActiveModel.IsActive
• ActiveModel.Is3D
• ActiveModel.TreatAs3D
• ActiveModel.CellType
• ActiveModel.Description
• ActiveModel.DefaultRefLogical
• ActiveModel.PropagateAnnotationScale
• ActiveModel.AnnotationScale
• ActiveModel.ModelId
• ActiveModel.Hidden
• ActiveModel.IsMarkup
• ActiveModel.CanbePlacedAsCell
• ActiveModel.IsMaster
• ActiveModel.UpdateFieldsAutomatically
• ActiveModel.CanbePlacedAsAnnotationCel
• ActiveModel.LineStyleScale
• ActiveModel.Format
• ActiveModel.MasterUnit
• ActiveModel.SubUnit
• ActiveModel.Accuracy
• ActiveModel.MasterUnitLabel
• ActiveModel.SubUnitLabel
• ActiveModel.GlobalLineStyleScaleFactor
• ActiveModel.DesignScale
• ActiveModel.PaperScale
• ActiveModel.DirectionMode
• ActiveModel.DirectionBase
• ActiveModel.Direction
• ActiveModel.GridLock
• ActiveModel.GridMaster
• ActiveModel.GridReference
• ActiveModel.GridConfig
• ActiveModel.GridAspect
• ActiveModel.IsometricLock
• ActiveModel.IsometricPlane
• ActiveModel.ACSPlane
• ActiveModel.Resolution
• ActiveModel.WorkingArea
• ActiveModel.SolidArea
• ActiveModel.SolidAccuracy