Search Results for

    Show / Hide Table of Contents

    Class Extractor

    Inheritance
    System.Object
    Extractor
    Inherited Members
    System.Object.ToString()
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    Namespace: Xbim.Ifc
    Assembly: Xbim.Ifc.dll
    Syntax
    public class Extractor

    Constructors

    | Improve this Doc View Source

    Extractor(IModel)

    Declaration
    public Extractor(IModel source)
    Parameters
    Type Name Description
    IModel source

    Methods

    | Improve this Doc View Source

    InsertCopy(IModel, IEnumerable<IIfcProduct>, Boolean, Boolean, IProgress<Double>)

    This is a higher level function which uses InsertCopy function alongside with the knowledge of IFC schema to copy over products with their types and other related information (classification, aggregation, documents, properties) and optionally geometry. It will also bring in spatial hierarchy relevant to selected products. However, resulting model is not guaranteed to be compliant with any Model View Definition unless you explicitly check the compliance. Context of a single product tend to consist from hundreds of objects which need to be identified and copied over so this operation might be potentially expensive. You should never call this function more than once between two models. It not only selects objects to be copied over but also excludes other objects from being coppied over so that it doesn't bring the entire model in a chain dependencies. This means that some objects are modified (like spatial relations) and won't get updated which would lead to an inconsistent copy.

    Declaration
    public void InsertCopy(IModel target, IEnumerable<IIfcProduct> products, bool includeGeometry, bool keepLabels, IProgress<double> progress = null)
    Parameters
    Type Name Description
    IModel target

    The target model

    System.Collections.Generic.IEnumerable<IIfcProduct> products

    Products from other model to be inserted into this model

    System.Boolean includeGeometry

    If TRUE, geometry of the products will be copied over.

    System.Boolean keepLabels

    If TRUE, entity labels from original model will be used. Always set this to FALSE if you are going to insert products from multiple source models or if you are going to insert products to a non-empty model

    System.IProgress<System.Double> progress

    A progress delegate

    • Improve this Doc
    • View Source
    In This Article
    Back to top Copyright © 2022 xbim