### Install Xbim Viewer Source: https://docs.xbim.net/XbimWebUI/index.html Install the viewer into your project using npm. ```bash npm install @xbim/viewer ``` -------------------------------- ### Complete IFC Model Creation Example Source: https://docs.xbim.net/examples/basic-model-operations.html A comprehensive example demonstrating the creation of an IFC model, including setting editor credentials, creating a project, initializing units, and instantiating an IfcWall with basic properties. ```csharp var editor = new XbimEditorCredentials { ApplicationDevelopersName = "xbim developer", ApplicationFullName = "xbim toolkit", ApplicationIdentifier = "xbim", ApplicationVersion = "4.0", EditorsFamilyName = "Santini Aichel", EditorsGivenName = "Johann Blasius", EditorsOrganisationName = "Independent Architecture" }; using (var model = IfcStore.Create(editor, IfcSchemaVersion.Ifc4, XbimStoreType.InMemoryModel)) { using (var txn = model.BeginTransaction("Hello Wall")) { //there should always be one project in the model var project = model.Instances.New(p => p.Name = "Basic Creation"); //our shortcut to define basic default units project.Initialize(ProjectUnits.SIUnitsUK); //create simple object and use lambda initializer to set the name var wall = model.Instances.New(w => w.Name = "The very first wall"); //set a few basic properties model.Instances.New(rel => { rel.RelatedObjects.Add(wall); rel.RelatingPropertyDefinition = model.Instances.New(pset => { pset.Name = "Basic set of properties"; pset.HasProperties.AddRange(new[] { model.Instances.New(p => { p.Name = "Text property"; p.NominalValue = new IfcText("Any arbitrary text you like"); }), model.Instances.New(p => { p.Name = "Length property"; p.NominalValue = new IfcLengthMeasure(56.0); }), model.Instances.New(p => { p.Name = "Number property"; ``` -------------------------------- ### Basic IFC Operations Example Source: https://docs.xbim.net/quick-start.html An example demonstrating basic xbim operations, including opening a model and initializing editor credentials. This code works for both IFC2x3 and IFC4 due to the use of IFC4 interfaces. ```csharp using Xbim.Ifc; using Xbim.Ifc4.Interfaces; //IFC4 interfaces are also implemented in our IFC2x3 schema implementation namespace BasicExamples { class QuickStart { public static void Start() { const string fileName = "SampleHouse.ifc"; //this can be either IFC2x3 or IFC4 var editor = new XbimEditorCredentials { ApplicationDevelopersName = "You", ApplicationFullName = "Your app", ApplicationIdentifier = "Your app ID", ``` -------------------------------- ### IIfcSweptDiskSolid.StartParam Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc2x3/Xbim.Ifc2x3.GeometricModelResource.IfcSweptDiskSolid.html Gets or sets the start parameter of the swept disk solid. ```APIDOC ## IIfcSweptDiskSolid.StartParam ### Description Gets or sets the start parameter of the swept disk solid. ### Method ``` IfcParameterValue IIfcSweptDiskSolid.StartParam { get; set; } ``` ### Returns - **IfcParameterValue** - The start parameter. ``` -------------------------------- ### IIfcSweptDiskSolid.StartParam Property Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.GeometricModelResource.IfcSweptDiskSolid.html Gets or sets the start parameter of the swept disk solid. ```csharp IfcParameterValue? IIfcSweptDiskSolid.StartParam { get; set; } ``` -------------------------------- ### XbimLine Pnt Property Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Common/Xbim.Common.Geometry.XbimLine.html Represents the starting point of the line. Use this to get or set the line's starting point. ```csharp public XbimPoint3D Pnt { get; set; } ``` -------------------------------- ### BeginInit Method Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Common/Xbim.Common.Geometry.IGeometryStore.html Prepares the store for an update by clearing existing geometries. It returns an IGeometryStoreInitialiser for bulk addition of geometries, preventing concurrent updates. ```APIDOC ## BeginInit Method ### Description Clears the store of any existing geometries and prepares for an update. Returns a transaction for bulk addition of geometries, preventing update by other processes. ### Returns - **IGeometryStoreInitialiser**: A transaction for bulk addition of geometries. If null, an initialization is already in process or the owning model is not available for write operations. ``` -------------------------------- ### IIfcSectionReinforcementProperties.LongitudinalStartPosition Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.ProfileResource.IfcSectionReinforcementProperties.html Gets or sets the longitudinal start position of the reinforcement. ```APIDOC ## IIfcSectionReinforcementProperties.LongitudinalStartPosition ### Description Gets or sets the longitudinal start position of the reinforcement. ### Method GET/SET ### Endpoint /IfcSectionReinforcementProperties/{id}/LongitudinalStartPosition ### Returns - **IfcLengthMeasure** - The longitudinal start position. ``` -------------------------------- ### Minimal Viewer Initialization and Loading Source: https://docs.xbim.net/XbimWebUI/classes/Viewer.html This snippet demonstrates the basic setup for initializing the XbimViewer and loading a *.wexbim file. It includes setting up a canvas element and handling the 'loaded' event to display the model. ```html ``` -------------------------------- ### IIfcSweptDiskSolid.StartParam Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.GeometricModelResource.IfcSweptDiskSolid.html Gets or sets the start parameter of the directrix curve. ```APIDOC ## IIfcSweptDiskSolid.StartParam ### Description Gets or sets the start parameter of the directrix curve. ### Method IfcParameterValue? IIfcSweptDiskSolid.StartParam { get; set; } ### Returns - **Nullable** - The start parameter value. ``` -------------------------------- ### IIfcAlignment2DHorizontal.StartDistAlong Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.GeometricConstraintResource.IfcAlignment2DHorizontal.html Gets or sets the starting distance along the IfcAlignment2DHorizontal. ```APIDOC ## IIfcAlignment2DHorizontal.StartDistAlong ### Description Gets or sets the starting distance along the IfcAlignment2DHorizontal. ### Declaration ```csharp IfcLengthMeasure? IIfcAlignment2DHorizontal.StartDistAlong { get; set; } ``` ### Returns - **System.Nullable** - The starting distance along the alignment. ``` -------------------------------- ### Init Method Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Tessellator/Xbim.Tessellator.PriorityHeap-1.html Initializes the priority heap. ```APIDOC ## Init() ### Description Initializes the priority heap. ``` -------------------------------- ### IIfcTaskTime.ScheduleStart Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.DateTimeResource.IfcTaskTime.html Gets or sets the scheduled start time of the task. ```APIDOC ## IIfcTaskTime.ScheduleStart ### Description Gets or sets the scheduled start time of the task. This is the planned date and time when the task is expected to begin. ### Declaration ```csharp IfcDateTime? IIfcTaskTime.ScheduleStart { get; set; } ``` ### Returns - **System.Nullable** - The scheduled start time of the task. ``` -------------------------------- ### InMemoryGeometryStore.BeginInit() Method Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Common/Xbim.Common.Model.InMemoryGeometryStore.html Initiates the initialization process for the geometry store, returning an initialiser object. ```csharp public IGeometryStoreInitialiser BeginInit() ``` -------------------------------- ### IIfcTaskTime.LateStart Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.DateTimeResource.IfcTaskTime.html Gets or sets the late start time for the task. ```APIDOC ## IIfcTaskTime.LateStart ### Description Gets or sets the late start time for the task. This property represents the latest possible time a task can begin without delaying subsequent tasks. ### Declaration ```csharp IfcDateTime? IIfcTaskTime.LateStart { get; set; } ``` ### Returns - **System.Nullable** - The late start time of the task. ``` -------------------------------- ### IIfcFixedReferenceSweptAreaSolid.StartParam Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.GeometricModelResource.IfcFixedReferenceSweptAreaSolid.html Gets or sets the start parameter of the directrix curve for the IfcFixedReferenceSweptAreaSolid. ```APIDOC ## IIfcFixedReferenceSweptAreaSolid.StartParam ### Description Gets or sets the parameter value at the start of the directrix curve used for the swept area. ### Method `IfcParameterValue? IIfcFixedReferenceSweptAreaSolid.StartParam { get; set; }` ### Returns Type | Description ---|--- System.Nullable | The start parameter value. ``` -------------------------------- ### init Method Source: https://docs.xbim.net/XbimWebUI/classes/Icons.html Initializes the Icons plugin with the viewer instance. ```APIDOC ## init ### Description Initializes the Icons plugin with the viewer instance. ### Method `init(viewer: Viewer): void` ### Parameters #### Parameters - **viewer** (Viewer) - Required - The viewer instance. ``` -------------------------------- ### IIfcAlignment2DVerticalSegment.StartHeight Property Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.GeometricConstraintResource.IfcAlignment2DVerticalSegment.html Gets or sets the starting height of the vertical segment. ```csharp IfcLengthMeasure IIfcAlignment2DVerticalSegment.StartHeight { get; set; } ``` -------------------------------- ### Implement Highlighting and State Management Source: https://docs.xbim.net/examples/colourful-building.html This example sets up event listeners for user interaction (picking elements) to apply visual states like highlighting or hiding. It uses a dropdown to select the action and a button to reset states. This allows for interactive selection and visual feedback on model elements. ```html ``` -------------------------------- ### IIfcAlignment2DVerticalSegment.StartGradient Property Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.GeometricConstraintResource.IfcAlignment2DVerticalSegment.html Gets or sets the starting gradient of the vertical segment. ```csharp IfcRatioMeasure IIfcAlignment2DVerticalSegment.StartGradient { get; set; } ``` -------------------------------- ### Product Constructor Source: https://docs.xbim.net/XbimWebUI/classes/Product.html Instantiate a new Product object. ```APIDOC ## Product Constructor ### constructor `new Product(): Product` #### Returns `Product` ``` -------------------------------- ### IIfcSectionReinforcementProperties.LongitudinalStartPosition Declaration Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc2x3/Xbim.Ifc2x3.ProfilePropertyResource.IfcSectionReinforcementProperties.html Gets or sets the longitudinal start position of the reinforcement. ```csharp IfcLengthMeasure IIfcSectionReinforcementProperties.LongitudinalStartPosition { get; set; } ``` -------------------------------- ### InteractiveClippingPlane.init Source: https://docs.xbim.net/XbimWebUI/classes/InteractiveClippingPlane.html Initializes the InteractiveClippingPlane with a viewer instance. ```APIDOC ## init(viewer: Viewer) ### Description Initializes the InteractiveClippingPlane with a viewer instance. ### Parameters #### viewer: Viewer - **viewer** (Viewer) - Required - The viewer instance to associate with the clipping plane. ### Returns - void ``` -------------------------------- ### IIfcScheduleTimeControl.StartFloat Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc2x3/Xbim.Ifc2x3.ProcessExtension.IfcScheduleTimeControl.html Gets or sets the start float of the schedule time control. ```APIDOC ## IIfcScheduleTimeControl.StartFloat ### Description Gets or sets the start float of the schedule time control. ### Declaration ```csharp IfcTimeMeasure? StartFloat { get; set; } ``` ### Returns Type | Description ---|--- System.Nullable | ``` -------------------------------- ### IIfcProject Initialize Method Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.Interfaces.IIfcProject.html Initializes the project with specified units. This method is used to set up the project's unit system. ```csharp void Initialize(ProjectUnits units) ``` -------------------------------- ### IIfcScheduleTimeControl.ScheduleStart Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc2x3/Xbim.Ifc2x3.ProcessExtension.IfcScheduleTimeControl.html Gets or sets the start time of the schedule time control. ```APIDOC ## IIfcScheduleTimeControl.ScheduleStart ### Description Gets or sets the start time of the schedule time control. ### Declaration ```csharp IIfcDateTimeSelect ScheduleStart { get; set; } ``` ### Returns Type | Description ---|--- IIfcDateTimeSelect | ``` -------------------------------- ### IIfcFillAreaStyleHatching.PatternStart Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc2x3/Xbim.Ifc2x3.PresentationAppearanceResource.IfcFillAreaStyleHatching.html Gets or sets the starting point of the hatch pattern for the IfcFillAreaStyleHatching. ```APIDOC ## IIfcFillAreaStyleHatching.PatternStart ### Description Gets or sets the starting point of the hatch pattern for the IfcFillAreaStyleHatching. ### Declaration ``` IIfcCartesianPoint IIfcFillAreaStyleHatching.PatternStart { get; set; } ``` ### Returns - **IIfcCartesianPoint** - The starting point of the hatch pattern. ``` -------------------------------- ### Configure and Use Serilog with Xbim Source: https://docs.xbim.net/examples/watch-the-log.html Set up Serilog and then configure Xbim's logging factory to use it. This allows Xbim to log messages through your Serilog setup. ```csharp // set up Serilog Log.Logger = new LoggerConfiguration() .Enrich.FromLogContext() .WriteTo.Console() .CreateLogger(); // set up xbim logging. It will use your providers. XbimLogging.LoggerFactory.AddSerilog(); // do anything you want with xbim using (var model = IfcStore.Open(fileName, null, -1)) { // ... } ``` -------------------------------- ### Initialize Viewer with Compatibility Check Source: https://docs.xbim.net/examples/safe-hello-building.html This snippet shows the complete process of checking browser compatibility and then initializing the Viewer, loading a model, and starting the display. If compatibility checks fail, it displays error messages. ```javascript var check = Viewer.check(); if (check.noErrors) { var viewer = new Viewer('viewer'); viewer.on('loaded', () => { viewer.show(ViewType.DEFAULT); }); viewer.load('../data/SampleHouse.wexbim'); viewer.start(); } else { var msg = document.getElementById('msg'); msg.innerHTML = ''; for (var i in check.errors) { var error = check.errors[i]; msg.innerHTML += "
" + error + "
"; } } ``` -------------------------------- ### Instantiate and Add NavigationCube Plugin Source: https://docs.xbim.net/XbimWebUI/classes/NavigationCube.html Demonstrates how to create an instance of the NavigationCube plugin and add it to the xBIM Viewer. An optional custom image can be provided as a texture for the cube. ```javascript var cube = new NavigationCube(); viewer.addPlugin(cube); ``` -------------------------------- ### LexLocation StartLine Property Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Common/QUT.Gppg.LexLocation.html Gets the line at which the text span starts. ```csharp public int StartLine { get; } ``` -------------------------------- ### Initialize Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc2x3/Xbim.Ifc2x3.Kernel.IfcProject.html Initializes the project with default SI units and creates the necessary geometric representation contexts. ```APIDOC ## Initialize(ProjectUnits) ### Description Sets up the default units as SI. Creates the GeometricRepresentationContext for a Model view, required by Ifc compliance. ### Method public void Initialize(ProjectUnits units) ### Parameters #### Path Parameters - **units** (ProjectUnits) - Description: The project units to initialize with. ``` -------------------------------- ### LexLocation StartColumn Property Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Common/QUT.Gppg.LexLocation.html Gets the column at which the text span starts. ```csharp public int StartColumn { get; } ``` -------------------------------- ### IIfcTransitionCurveSegment2D.StartRadius Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.GeometryResource.IfcTransitionCurveSegment2D.html Gets or sets the radius of the transition curve at its start. This is an optional property. ```APIDOC ## IIfcTransitionCurveSegment2D.StartRadius ### Description Gets or sets the radius of the transition curve at its start. This is an optional property. ### Property Signature ```csharp IfcPositiveLengthMeasure? IIfcTransitionCurveSegment2D.StartRadius { get; set; } ``` ### Returns * **Nullable** - The start radius of the transition curve. ``` -------------------------------- ### StepFileHeader.CreatingApplication Property Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Common/Xbim.Common.Step21.StepFileHeader.html Gets the name of the application that created the STEP file. ```csharp public string CreatingApplication { get; } ``` -------------------------------- ### BeginInit Method Declaration Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Common/Xbim.Common.Geometry.IGeometryStore.html Declares the BeginInit method, which prepares the store for an update by clearing existing geometries. It returns an IGeometryStoreInitialiser for bulk additions. ```csharp IGeometryStoreInitialiser BeginInit() ``` -------------------------------- ### IIfcSurfaceCurveSweptAreaSolid.StartParam Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.GeometricModelResource.IfcSurfaceCurveSweptAreaSolid.html Gets or sets the start parameter value along the reference surface. ```APIDOC ## IIfcSurfaceCurveSweptAreaSolid.StartParam ### Description Gets or sets the parameter value defining the start point of the sweep along the reference surface. ### Method `IfcParameterValue? IIfcSurfaceCurveSweptAreaSolid.StartParam { get; set; }` ### Returns Type | Description ---|--- System.Nullable | The start parameter value. ``` -------------------------------- ### Create and modify an IFC model with transaction logging Source: https://docs.xbim.net/examples/change-log-creation.html This snippet demonstrates how to open an IFC model, begin a transaction, log all changes within that transaction using `TransactionLog`, modify an existing wall, and then commit the transaction. It also shows how to print the recorded changes. ```csharp var editor = new XbimEditorCredentials { ApplicationDevelopersName = "You", ApplicationFullName = "Your app", ApplicationIdentifier = "Your app ID", ApplicationVersion = "4.0", //your user EditorsFamilyName = "Santini Aichel", EditorsGivenName = "Johann Blasius", EditorsOrganisationName = "Independent Architecture" }; using (var model = IfcStore.Open("SampleHouse.ifc", editor, true)) { using (var txn = model.BeginTransaction("Modification")) { using (var log = new TransactionLog(txn)) { //change to existing wall var wall = model.Instances.FirstOrDefault(); wall.Name = "Unexpected name"; wall.GlobalId = Guid.NewGuid().ToPart21(); wall.Description = "New and more descriptive description"; //print all changes caused by this PrintChanges(log); txn.Commit(); } Console.WriteLine(); } } ``` -------------------------------- ### IfcAlignment2DHorizontal.StartDistAlong Property Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.GeometricConstraintResource.IfcAlignment2DHorizontal.html Gets or sets the starting distance along the horizontal alignment. ```csharp IfcLengthMeasure? IIfcAlignment2DHorizontal.StartDistAlong { get; set; } ``` -------------------------------- ### Load Configuration from File Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.IO.MemoryModel/Xbim.IO.Xml.BsConf.configuration.html Loads configuration from a specified XML file. ```csharp public static configuration LoadFromFile(string fileName) ``` -------------------------------- ### IIfcFillAreaStyleHatching.StartOfNextHatchLine Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc2x3/Xbim.Ifc2x3.PresentationAppearanceResource.IfcFillAreaStyleHatching.html Gets or sets the starting point of the next hatch line for the IfcFillAreaStyleHatching. ```APIDOC ## IIfcFillAreaStyleHatching.StartOfNextHatchLine ### Description Gets or sets the starting point of the next hatch line for the IfcFillAreaStyleHatching. ### Declaration ``` IIfcHatchLineDistanceSelect IIfcFillAreaStyleHatching.StartOfNextHatchLine { get; set; } ``` ### Returns - **IIfcHatchLineDistanceSelect** - The starting point of the next hatch line. ``` -------------------------------- ### CreatingApplication Property Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Common/Xbim.Common.Step21.IStepFileHeader.html Represents the name of the application that created the STEP file. This is a read-only string property. ```csharp string CreatingApplication { get; } ``` -------------------------------- ### Initialise Method Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Common/Xbim.Common.XbimModelFactors.html Initializes the model factors with conversion factors for angles, lengths, and default precision. ```csharp public void Initialise(double angToRads, double lenToMeter, double defaultPrecision) ``` -------------------------------- ### IIfcLine.Pnt Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc2x3/Xbim.Ifc2x3.GeometryResource.IfcLine.html Gets or sets the starting point of the line. This property is of type IIfcCartesianPoint. ```APIDOC ## IIfcLine.Pnt ### Description Gets or sets the starting point of the line. This property is of type IIfcCartesianPoint. ### Declaration ```csharp IIfcCartesianPoint IIfcLine.Pnt { get; set; } ``` ### Returns - **IIfcCartesianPoint**: The starting point of the line. ``` -------------------------------- ### Initialize XbimMatrix3D with Scale Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Common/Xbim.Common.Geometry.XbimMatrix3D.html Creates an XbimMatrix3D with a uniform scale factor applied to all axes. ```csharp public XbimMatrix3D(double scale) ``` -------------------------------- ### IIfcAlignment2DVerticalSegment.StartDistAlong Property Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.GeometricConstraintResource.IfcAlignment2DVerticalSegment.html Gets or sets the starting distance along the alignment for the vertical segment. ```csharp IfcLengthMeasure IIfcAlignment2DVerticalSegment.StartDistAlong { get; set; } ``` -------------------------------- ### IIfcTimeSeries.StartTime Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.DateTimeResource.IfcTimeSeries.html Gets or sets the start time of the time series. This property is of type IfcDateTime. ```APIDOC ## IIfcTimeSeries.StartTime ### Description Gets or sets the start time of the time series. ### Returns - **IfcDateTime**: The start time of the time series. ``` -------------------------------- ### BaseModelProvider Open Method (Path) Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.IO.MemoryModel/Xbim.IO.BaseModelProvider.html Abstract method to open an IModel from a file path with specified parameters like schema version and access mode. ```csharp public abstract IModel Open(string path, XbimSchemaVersion schema, double? ifcDatabaseSizeThreshHold = null, ReportProgressDelegate progDelegate = null, XbimDBAccess accessMode = XbimDBAccess.Read, int codePageOverride = -1) ``` -------------------------------- ### IIfcTransitionCurveSegment2D.IsStartRadiusCCW Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.GeometryResource.IfcTransitionCurveSegment2D.html Gets or sets a boolean value indicating whether the start radius is counter-clockwise (CCW). ```APIDOC ## IIfcTransitionCurveSegment2D.IsStartRadiusCCW ### Description Gets or sets a boolean value indicating whether the start radius is counter-clockwise (CCW). ### Property Signature ```csharp IfcBoolean IIfcTransitionCurveSegment2D.IsStartRadiusCCW { get; set; } ``` ### Returns * **IfcBoolean** - True if the start radius is counter-clockwise, false otherwise. ``` -------------------------------- ### XbimColourMap Constructors Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc/Xbim.Ifc.XbimColourMap.html Provides information on how to instantiate the XbimColourMap class. ```APIDOC ## XbimColourMap(StandardColourMaps) ### Description Initializes a new instance of the XbimColourMap class with a specified standard color map. ### Parameters #### Path Parameters - **standardColourMaps** (StandardColourMaps) - Description not available in source. ``` -------------------------------- ### IIfcWorkControl.StartTime Property (IIfcDateTimeSelect) Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc2x3/Xbim.Ifc2x3.ProcessExtension.IfcWorkControl.html Gets or sets the start time of the work control, represented as an IIfcDateTimeSelect. ```csharp IIfcDateTimeSelect IIfcWorkControl.StartTime { get; set; } ``` -------------------------------- ### Initialise Method Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Common/Xbim.Common.IModelFactors.html Initializes the model factors with conversion factors and default precision. ```APIDOC ## Initialise(Double, Double, Double) ### Description Initializes the model factors with conversion factors and default precision. ### Declaration ```csharp void Initialise(double angleToRadiansConversionFactor, double lengthToMetresConversionFactor, double defaultPrecision) ``` ### Parameters - **angleToRadiansConversionFactor** (System.Double) - Description: - **lengthToMetresConversionFactor** (System.Double) - Description: - **defaultPrecision** (System.Double) - Description: ### Returns - **Type**: void ``` -------------------------------- ### Create an Icon Instance Source: https://docs.xbim.net/XbimWebUI/classes/Icon.html Demonstrates how to create a new instance of the Icon class with all its optional parameters. ```typescript const icon = new Icon('Sample Icon', 'This is a sample icon.', 1, 101, 'imageDataString', new Float32Array([0, 0, 0]), 100, 100, () => console.log('Icon selected')); ``` -------------------------------- ### IIfcResourceTime.ScheduleStart Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.DateTimeResource.IfcResourceTime.html Gets or sets the scheduled start time for a resource. This property is nullable and returns an IfcDateTime object. ```APIDOC ## IIfcResourceTime.ScheduleStart ### Description Gets or sets the scheduled start time for a resource. ### Returns Type | Description ---|--- System.Nullable | The scheduled start time. ``` -------------------------------- ### IIfcSectionReinforcementProperties.LongitudinalStartPosition with CrossSchemaAttribute Declaration Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc2x3/Xbim.Ifc2x3.ProfilePropertyResource.IfcSectionReinforcementProperties.html Gets or sets the longitudinal start position, with a cross-schema attribute indicating its mapping. ```csharp [CrossSchemaAttribute(typeof(IIfcSectionReinforcementProperties), 1)] IfcLengthMeasure IIfcSectionReinforcementProperties.LongitudinalStartPosition { get; set; } ``` -------------------------------- ### Import Xbim Logging Source: https://docs.xbim.net/examples/watch-the-log.html Import the necessary namespace to access Xbim's logging capabilities. ```csharp using Xbim.Common.Logging; ``` -------------------------------- ### LexLocation Properties Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Common/QUT.Gppg.LexLocation.html Exposes properties to get the start and end line and column numbers of a text span. ```APIDOC ## EndColumn ### Description The column of the first character beyond the end of the text span. ### Declaration ```csharp public int EndColumn { get; } ``` ### Property Value - **System.Int32** ``` ```APIDOC ## EndLine ### Description The line on which the text span ends. ### Declaration ```csharp public int EndLine { get; } ``` ### Property Value - **System.Int32** ``` ```APIDOC ## StartColumn ### Description The column at which the text span starts. ### Declaration ```csharp public int StartColumn { get; } ``` ### Property Value - **System.Int32** ``` ```APIDOC ## StartLine ### Description The line at which the text span starts. ### Declaration ```csharp public int StartLine { get; } ``` ### Property Value - **System.Int32** ``` -------------------------------- ### CacheStart Method Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.IO.Esent/Xbim.IO.Esent.EsentModel.html Begins caching all data read from the model to improve performance for repeated reads. ```csharp public void CacheStart() ``` -------------------------------- ### IIfcTimeSeries StartTime Property Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc2x3/Xbim.Ifc2x3.TimeSeriesResource.IfcTimeSeries.html Gets or sets the start time of the time series. This property is part of the IIfcTimeSeries interface. ```csharp IIfcDateTimeSelect IIfcTimeSeries.StartTime { get; set; } ``` -------------------------------- ### Create and Reference Models in a Federation Source: https://docs.xbim.net/examples/federating-models.html Demonstrates how to create an in-memory federation, add references to external IFC models (IFC4 and IFC2x3), and query federated data. The federation can be saved as an IFC file for later use. ```csharp using System; using Xbim.Common.Step21; using Xbim.Ifc; using Xbim.Ifc4.Interfaces; namespace BasicExamples { public class FederationExample { public void CreateFederation() { var editor = new XbimEditorCredentials { ApplicationDevelopersName = "You", ApplicationFullName = "Your app", ApplicationIdentifier = "Your app ID", ApplicationVersion = "4.0", //your user EditorsFamilyName = "Santini Aichel", EditorsGivenName = "Johann Blasius", EditorsOrganisationName = "Independent Architecture" }; using (var federation = IfcStore.Create(editor, IfcSchemaVersion.Ifc4, XbimStoreType.InMemoryModel)) { federation.AddModelReference("SampleHouse.ifc", "Bob The Builder", "Original Constructor"); //IFC4 federation.AddModelReference("SampleHouseExtension.ifc", "Tyna", "Extensions Builder"); //IFC2x3 Console.WriteLine($"Model is federation: {federation.IsFederation}"); Console.WriteLine($"Number of overall entities: {federation.FederatedInstances.Count}"); Console.WriteLine($"Number of walls: {federation.FederatedInstances.CountOf()}"); foreach (var refModel in federation.ReferencedModels) { Console.WriteLine(); Console.WriteLine($" Referenced model: {refModel.Name}"); Console.WriteLine($" Referenced model organization: {refModel.OwningOrganisation}"); Console.WriteLine($" Number of walls: {refModel.Model.Instances.CountOf()}"); } //you can save information about the federation for a future use federation.SaveAs("federation.ifc"); } } } } ``` -------------------------------- ### Start Method Declaration Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Common/Xbim.Common.IEntityCache.html Activates the entity cache if it is not already running. This method might be a no-op for in-memory IModel implementations. ```csharp void Start() ``` -------------------------------- ### EarlyStart Property Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.Interfaces.IIfcTaskTime.html Represents the earliest possible start time for a task. Use this property to get or set the nullable IfcDateTime value. ```csharp IfcDateTime? EarlyStart { get; set; } ``` -------------------------------- ### IfcProductModelView Constructor Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc/Xbim.Ifc.ViewModels.IfcProductModelView.html Initializes a new instance of the IfcProductModelView class with a specified IFC product and parent view model. ```csharp public IfcProductModelView(IIfcProduct prod, IXbimViewModel parent) ``` -------------------------------- ### IIfcWorkControl.StartTime Property (IfcDateTime) Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc2x3/Xbim.Ifc2x3.ProcessExtension.IfcWorkControl.html Gets or sets the start time of the work control, represented as an IfcDateTime. This property is mapped via CrossSchemaAttribute. ```csharp [CrossSchemaAttribute(typeof(IIfcWorkControl), 12)] IfcDateTime IIfcWorkControl.StartTime { get; set; } ``` -------------------------------- ### Run Project Locally Source: https://docs.xbim.net/XbimWebUI/index.html Get the code and run the project locally for development or contribution. ```bash npm run start ``` -------------------------------- ### IIfcTimeSeries StartTime Property with CrossSchemaAttribute Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc2x3/Xbim.Ifc2x3.TimeSeriesResource.IfcTimeSeries.html Gets or sets the start time of the time series, with a CrossSchemaAttribute indicating its mapping. This property is part of the IIfcTimeSeries interface. ```csharp [CrossSchemaAttribute(typeof(IIfcTimeSeries), 3)] IfcDateTime IIfcTimeSeries.StartTime { get; set; } ``` -------------------------------- ### LateStart Property Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.Interfaces.IIfcTaskTime.html Represents the latest possible start time for a task without delaying the project completion. Use this property to get or set the nullable IfcDateTime value. ```csharp IfcDateTime? LateStart { get; set; } ``` -------------------------------- ### XbimSurfaceStyle Constructors Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.IO.Esent/Xbim.IO.Esent.XbimSurfaceStyle.html Provides information on how to instantiate the XbimSurfaceStyle struct. ```APIDOC ## XbimSurfaceStyle(Int16, Int32) ### Description Initializes a new instance of the XbimSurfaceStyle struct. ### Parameters - **expressTypeId** (System.Int16) - Description not available. - **ifcSurfaceStyleId** (System.Int32) - Description not available. ``` -------------------------------- ### Initialize XbimMatrix3D with Full Matrix Values Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Common/Xbim.Common.Geometry.XbimMatrix3D.html Initializes an XbimMatrix3D with all 16 matrix elements, including translation offsets. ```csharp public XbimMatrix3D(double m11, double m12, double m13, double m14, double m21, double m22, double m23, double m24, double m31, double m32, double m33, double m34, double offsetX, double offsetY, double offsetZ, double m44) ``` -------------------------------- ### FreeFloat Property Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.Interfaces.IIfcTaskTime.html Represents the free float of a task, which is the amount of time a task can be delayed without delaying the early start of any successor. Use this property to get or set the nullable IfcDuration value. ```csharp IfcDuration? FreeFloat { get; set; } ``` -------------------------------- ### Start Property Declaration Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.Interfaces.IIfcWorkTime.html Declaration for the Start property of the IIfcWorkTime interface. This property represents the start date and is nullable. ```csharp IfcDate? Start { get; set; } ``` -------------------------------- ### XbimPolyLoop Constructors Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Tessellator/Xbim.Tessellator.XbimPolyLoop.html Provides information on how to instantiate an XbimPolyLoop object. ```APIDOC ## XbimPolyLoop Constructor ### Description Initializes a new instance of the `XbimPolyLoop` class. ### Method ```csharp public XbimPolyLoop(IItemSet coordIndex, IIfcCartesianPointList3D coordinates, IItemSet pnIndex) ``` ### Parameters #### Parameters - **coordIndex** (IItemSet) - Description: - **coordinates** (IIfcCartesianPointList3D) - Description: - **pnIndex** (IItemSet) - Description: ``` -------------------------------- ### IIfcCartesianTransformationOperator3D.Axis3 (get) Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc2x3/Xbim.Ifc2x3.GeometryResource.IfcCartesianTransformationOperator3D.html Gets the third axis of the transformation operator. ```APIDOC ## IIfcCartesianTransformationOperator3D.Axis3 (get) ### Description Gets the third axis of the transformation operator. ### Method ``` IIfcDirection IIfcCartesianTransformationOperator3D.Axis3 { get; } ``` ### Returns - **IIfcDirection** - The third axis of the transformation operator. ``` -------------------------------- ### Create Xbim Model from File Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.IO.Esent/Xbim.IO.Esent.EsentModel.html Creates a new Xbim model by importing instances from a specified file (Ifc, IfcXML, IfcZip). Supports optional parameters for database name, progress reporting, caching, and deletion on close. ```csharp public virtual bool CreateFrom(string importFrom, string xbimDbName = null, ReportProgressDelegate progDelegate = null, bool keepOpen = false, bool cacheEntities = false, StorageType? storageType = null, bool deleteOnClose = false) ``` -------------------------------- ### Open(String, XbimDBAccess, ReportProgressDelegate) Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.IO.Esent/Xbim.IO.Esent.EsentModel.html Opens an Xbim model from a specified file. This method is intended for opening Xbim files directly. For Ifc, IfcZip, and IfcXML files, use the CreateFrom method. It supports specifying the access mode and an optional progress reporting delegate. ```APIDOC ## Open(String, XbimDBAccess, ReportProgressDelegate) ### Description Opens an Xbim model from a specified file. This method is intended for opening Xbim files directly. For Ifc, IfcZip, and IfcXML files, use the CreateFrom method. It supports specifying the access mode and an optional progress reporting delegate. ### Method ``` public virtual bool Open(string fileName, XbimDBAccess accessMode = XbimDBAccess.Read, ReportProgressDelegate progDelegate = null) ``` ### Parameters #### Path Parameters - **fileName** (System.String) - Description: The path to the Xbim model file. - **accessMode** (XbimDBAccess) - Optional - Description: The access mode for the database (default is Read). - **progDelegate** (ReportProgressDelegate) - Optional - Description: A delegate for reporting progress during the open operation. ### Returns #### Success Response - **System.Boolean** - True if the model was opened successfully. ``` -------------------------------- ### Get Name Property Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc2x3/Xbim.Ifc2x3.PropertyResource.IfcProperty.html Sets or gets the identifier name of an IfcProperty. ```csharp [CrossSchemaAttribute(typeof(IIfcProperty), 1)] IfcIdentifier IIfcProperty.Name { get; set; } ``` -------------------------------- ### Initialise Method Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Common/Xbim.Common.XbimModelFactors.html Initializes the model factors with specified conversion factors and precision. ```APIDOC ## Initialise(Double, Double, Double) Method ### Declaration ```csharp public void Initialise(double angToRads, double lenToMeter, double defaultPrecision) ``` ### Parameters Type | Name | Description ---|---|--- System.Double | angToRads | System.Double | lenToMeter | System.Double | defaultPrecision | ``` -------------------------------- ### IXbimCurve Start Property Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Common/Xbim.Common.Geometry.IXbimCurve.html Retrieves the starting point of the curve as an XbimPoint3D object. ```csharp XbimPoint3D Start { get; } ``` -------------------------------- ### XbimMultiValueDictionary(IEqualityComparer) Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Common/System.Collections.Generic.XbimMultiValueDictionary-2.html Initializes a new instance of the XbimMultiValueDictionary class that is empty, has the default initial capacity, and uses the specified System.Collections.Generic.IEqualityComparer. ```APIDOC ## XbimMultiValueDictionary(IEqualityComparer comparer) ### Description Initializes a new instance of the XbimMultiValueDictionary class that is empty, has the default initial capacity, and uses the specified System.Collections.Generic.IEqualityComparer. ### Method Constructor ### Parameters #### Path Parameters - **comparer** (IEqualityComparer) - Specified comparer to use for the `TKey`s ``` -------------------------------- ### IFC Entity Example Source: https://docs.xbim.net/examples/insert-copy-function.html An example of an IFC entity definition in STEP21 format. ```plaintext #144= IFCBUILDINGSTOREY('026ajlHVj1HBm_osQm7IDT',#47,'Lower Roof - Slab Level',$,$,#143,$,'Lower Roof - Slab Level',.ELEMENT.,3199.99999999704); ``` -------------------------------- ### Load Configuration from File with Output Object Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.IO.MemoryModel/Xbim.IO.Xml.BsConf.configuration.html Loads configuration from a specified XML file and returns the configuration object via an output parameter. ```csharp public static bool LoadFromFile(string fileName, out configuration obj) ``` -------------------------------- ### IfcWorkTime Start Property Declaration Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.DateTimeResource.IfcWorkTime.html Declaration for the Start property of the IfcWorkTime class, which is an optional date. ```csharp [EntityAttribute(5, EntityAttributeState.Optional, EntityAttributeType.None, EntityAttributeType.None, null, null, 5)] public IfcDate? Start { get; set; } ``` -------------------------------- ### LoadFromFile (string, out configuration) Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.IO.MemoryModel/Xbim.IO.Xml.BsConf.configuration.html Loads configuration from a file and returns it via an output parameter. ```APIDOC ## LoadFromFile(String, out configuration) ### Description Loads configuration from a file and returns it via an output parameter. ### Method ``` public static bool LoadFromFile(string fileName, out configuration obj) ``` ### Parameters #### Path Parameters - **fileName** (String) - Description: None provided - **obj** (configuration) - Description: None provided ``` -------------------------------- ### XbimModelViewModel Constructors Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc/Xbim.Ifc.ViewModels.XbimModelViewModel.html Provides information on how to instantiate the XbimModelViewModel. ```APIDOC ## XbimModelViewModel(IIfcProject, IXbimViewModel) ### Description Initializes a new instance of the XbimModelViewModel class. ### Parameters - **project** (IIfcProject) - The IfcProject to be associated with this view model. - **parent** (IXbimViewModel) - The parent view model, if any. ``` -------------------------------- ### Semantic Filter Delegate Example Source: https://docs.xbim.net/examples/insert-copy-function.html A PropertyTransformDelegate example that filters out geometry and placement, focusing on semantic relationships. ```csharp PropertyTranformDelegate semanticFilter = (property, parentObject) => { //leave out geometry and placement if (parentObject is IIfcProduct && (property.PropertyInfo.Name == nameof(IIfcProduct.Representation) || property.PropertyInfo.Name == nameof(IIfcProduct.ObjectPlacement))) return null; //leave out mapped geometry if (parentObject is IIfcTypeProduct && property.PropertyInfo.Name == nameof(IIfcTypeProduct.RepresentationMaps)) return null; //only bring over IsDefinedBy and IsTypedBy inverse relationships which will take over all properties and types if (property.EntityAttribute.Order < 0 && !( property.PropertyInfo.Name == nameof(IIfcProduct.IsDefinedBy) || property.PropertyInfo.Name == nameof(IIfcProduct.IsTypedBy) )) return null; return property.PropertyInfo.GetValue(parentObject, null); }; ``` -------------------------------- ### Create IfcStore from File Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc/Xbim.Ifc.IfcStore.html Creates a new IfcStore at the specified file path. Requires editor credentials and IFC schema version. ```csharp public static IfcStore Create(string filePath, XbimEditorCredentials editorDetails, XbimSchemaVersion ifcVersion) ``` -------------------------------- ### IFC WHERE Rule Example Source: https://docs.xbim.net/release-notes/xbim-4-release-notes.html This example shows a functional constraint on the data model, formally described as a WHERE rule in IFC. ```text If a Representation is given being an IfcProductDefinitionShape, then also an ObjectPlacement has to be given. The ObjectPlacement defines the object coordinate system in which the geometric representation items of the IfcProductDefinitionShape are founded. ``` ```text PlacementForShapeRepresentation: (EXISTS(Representation) AND EXISTS(ObjectPlacement)) OR (EXISTS(Representation) AND (SIZEOF(QUERY(temp <* Representation.Representations | 'IFCREPRESENTATIONRESOURCE.IFCSHAPEREPRESENTATION' IN TYPEOF(temp))) = 0)) OR (NOT(EXISTS(Representation))); ``` -------------------------------- ### Site Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc2x3/Xbim.Ifc4.Interfaces.Create.html Creates a new instance of IIfcSite. An optional action can be provided to initialize the new instance. ```APIDOC ## Site ### Description Creates a new instance of IIfcSite. An optional action can be provided to initialize the new instance. ### Method ```csharp public IIfcSite Site(Action init = null) ``` ### Parameters #### Parameters - **init** (System.Action) - Optional - An action to initialize the created IIfcSite. ### Returns - **IIfcSite** - The newly created IIfcSite instance. ``` -------------------------------- ### Get All Express Types Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Common/Xbim.Common.Metadata.ExpressMetaData.html Retrieves all available ExpressType definitions within the metadata. Use this to get a complete list of all defined types. ```csharp public IEnumerable Types() ``` -------------------------------- ### Configuration Property Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.IO.MemoryModel/Xbim.IO.Xml.XbimXmlSettings.html Gets or sets the configuration for XbimXmlSettings. ```csharp public configuration Configuration { get; set; } ``` -------------------------------- ### IFC4 WHERE Rule Example Source: https://docs.xbim.net/xbim-4/xbim-4-release-notes.html This example illustrates a WHERE rule for IFC4, specifying constraints on Representation and ObjectPlacement. It is a functional constraint on the data model. ```text If a Representation is given being an IfcProductDefinitionShape, then also an ObjectPlacement has to be given. The ObjectPlacement defines the object coordinate system in which the geometric representation items of the IfcProductDefinitionShape are founded. ``` -------------------------------- ### Initialize XbimDimensionalExponents with specific exponents Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Common/Xbim.Common.Geometry.XbimDimensionalExponents.html Use this constructor to set the exponents for all seven base quantities: length, mass, time, electric current, thermodynamic temperature, amount of substance, and luminous intensity. ```csharp public XbimDimensionalExponents(int length, int mass, int time, int elec, int temp, int substs, int lumin) ``` -------------------------------- ### Get or Set Predefined Type for IfcCovering Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc2x3/Xbim.Ifc2x3.ProductExtension.IfcCovering.html Gets or sets the predefined type of the IfcCovering, represented by the IfcCoveringTypeEnum. This property supports cross-schema mapping. ```csharp [CrossSchemaAttribute(typeof(IIfcCovering), 9)] IfcCoveringTypeEnum? IIfcCovering.PredefinedType { get; set; } ``` -------------------------------- ### Begin Transaction (IModel Interface) Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.IO.Esent/Xbim.IO.Esent.EsentModel.html Starts a new transaction with a specified name. Returns an ITransaction object to manage the transaction. Implements the IModel interface. ```csharp ITransaction IModel.BeginTransaction(string name) ``` -------------------------------- ### IIfcAlignment2DVerSegLine Interface Members Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Ifc4/Xbim.Ifc4.Interfaces.IIfcAlignment2DVerSegLine.html The IIfcAlignment2DVerSegLine interface inherits members from IIfcAlignment2DVerticalSegment, IIfcAlignment2DSegment, IIfcGeometricRepresentationItem, IIfcRepresentationItem, IfcLayeredItem, IExpressSelectType, IPersistEntity, and IPersist. These members provide access to properties such as start distance, horizontal length, start height, start gradient, tangential continuity, layer assignment, and entity label. ```APIDOC ## Interface IIfcAlignment2DVerSegLine Readonly interface for IfcAlignment2DVerSegLine ### Inherited Members * **From IIfcAlignment2DVerticalSegment:** * StartDistAlong * HorizontalLength * StartHeight * StartGradient * ToVertical * **From IIfcAlignment2DSegment:** * TangentialContinuity * StartTag * EndTag * **From IIfcRepresentationItem:** * LayerAssignment * StyledByItem * **From IPersistEntity:** * EntityLabel * Model * Activated * ExpressType * ModelOf * **From IPersist:** * Parse(Int32, IPropertyValue, Int32[]) ### Namespace Xbim.Ifc4.Interfaces ### Assembly Xbim.Ifc4.dll ### Syntax ```csharp public interface IIfcAlignment2DVerSegLine : IIfcAlignment2DVerticalSegment, IIfcAlignment2DSegment, IIfcGeometricRepresentationItem, IIfcRepresentationItem, IfcLayeredItem, IIfcLayeredItem, IExpressSelectType, IPersistEntity, IPersist ``` ``` -------------------------------- ### StepFileSchema Constructor (XbimSchemaVersion) Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Common/Xbim.Common.Step21.StepFileSchema.html Constructor for StepFileSchema that accepts an XbimSchemaVersion. ```csharp public StepFileSchema(XbimSchemaVersion schemaVersion) ``` -------------------------------- ### Get Styles Property Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.IO.Esent/Xbim.IO.Esent.XbimSurfaceStyleMap.html Retrieves an enumerable collection of all unique XbimSurfaceStyle objects present in the map. Use this property to get a list of distinct styles for which geometry handles are stored. ```csharp public IEnumerable Styles { get; } ``` -------------------------------- ### Get or set entity factory resolver Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.Common/Xbim.IO.IModelProvider.html Gets or sets a delegate that allows consumers to determine the IEntityFactory to build for a given XbimSchemaVersion. This is used for custom entity creation logic. ```csharp Func EntityFactoryResolver { get; set; } ``` -------------------------------- ### XbimGeometryCursor Constructors Source: https://docs.xbim.net/XbimDocs/documentation/Xbim.IO.Esent/Xbim.IO.Esent.XbimGeometryCursor.html Provides information on how to instantiate the XbimGeometryCursor class. ```APIDOC ## XbimGeometryCursor(EsentModel, String) ### Description Initializes a new instance of the XbimGeometryCursor class. ### Parameters - **model** (EsentModel) - The EsentModel instance. - **database** (System.String) - The name of the database. ## XbimGeometryCursor(EsentModel, String, OpenDatabaseGrbit) ### Description Initializes a new instance of the XbimGeometryCursor class with a specified database mode. ### Parameters - **model** (EsentModel) - The EsentModel instance. - **database** (System.String) - The name of the database. - **mode** (Microsoft.Isam.Esent.Interop.OpenDatabaseGrbit) - The mode to open the database in. ``` -------------------------------- ### Viewer#start Source: https://docs.xbim.net/XbimWebUI/classes/Viewer.html Starts the animation of the model. If called before geometry is loaded, it waits for content to render. The animation is tied to the browser's framerate and stops consuming resources when the tab is inactive. ```APIDOC ## Viewer#start ### Description Use this function to start animation of the model. If you start animation before geometry is loaded it will wait for content to render it. This function is bound to browser framerate of the screen so it will stop consuming any resources if you switch to another tab. ### Method start ### Parameters #### Path Parameters * **modelId** (number) - Optional - Optional ID of the model to be stopped. You can get this ID from loaded event. ### Returns void ```