BooleanPart Class

The BooleanPart class represents a part cut or an add. This means that a model object is, for example, cut with a part instance to create a void to the father part. Typically the operative part is deleted after the boolean cut operation. In case of boolean add, operative part is deleted automatically.
Inheritance Hierarchy

Namespace:  Tekla.Structures.Model
Assembly:  Tekla.Structures.Model (in Tekla.Structures.Model.dll) Version: 2023.0.3
Syntax
[SerializableAttribute]
public sealed class BooleanPart : Boolean

The BooleanPart type exposes the following members.

Constructors
  NameDescription
Public methodBooleanPart
Instantiates an empty cut operation.
Top
Properties
  NameDescription
Public propertyFather
The father object of the boolean operation; the model object instance to operate on.
(Inherited from Boolean.)
Public propertyIdentifier
The identifier of the object.
(Inherited from Object.)
Public propertyIsUpToDate
Gets if the object does not have a modification which is not shared.
(Inherited from ModelObject.)
Public propertyModificationTime
Gets latest time of the object was modified or created.
(Inherited from ModelObject.)
Public propertyOperativePart
The part that does the boolean operation. When Insert() is called, this field is overwritten with a new part instance which is a copy of the original operative part. This part has the same identifier as the boolean part. Modifications (such as profile change) have to be made through the part instance and not the boolean part instance. The operative part's class must be BooleanOperativeClass.
Public propertyType
Defines the boolean operation: an add or a cut.
Top
Methods
  NameDescription
Public methodCompareTo
Compares Identifiers of model objects.
(Inherited from ModelObject.)
Public methodDelete
Deletes the boolean part instance with the given ID from the model database.
(Overrides ModelObjectDelete.)
Public methodEquals
Check if Identifiers of model objects are same.
(Inherited from ModelObject.)
Public methodCode exampleGetAllReportProperties
Retrieves all properties for the model object in one hashtable. Type for the returned value must be checked using type casting.
(Inherited from ModelObject.)
Public methodGetAllUserProperties
Retrieves all properties for the model object in one hashtable. Type for the returned value must be checked using type casting.
(Inherited from ModelObject.)
Public methodGetChildren
Returns an enumerator of all the children model objects.
(Inherited from ModelObject.)
Public methodGetCoordinateSystem
Returns the coordinate system for the given model object.
(Inherited from ModelObject.)
Public methodGetDoubleReportProperties
Retrieves multiple double report properties for the model object. It is faster to fetch multiple properties at once.
(Inherited from ModelObject.)
Public methodGetDoubleUserProperties
Retrieves all double properties for the model object.
(Inherited from ModelObject.)
Public methodGetDynamicStringProperty
Gets a dynamic string property from the model object.
(Inherited from ModelObject.)
Public methodGetFatherComponent
Returns the father component of the model object.
(Inherited from ModelObject.)
Public methodGetHierarchicObjects
Returns an enumerator of all the connected hierarchic objects.
(Inherited from ModelObject.)
Public methodGetIntegerReportProperties
Retrieves multiple integer report properties for the model object. It is faster to fetch multiple properties at once.
(Inherited from ModelObject.)
Public methodGetIntegerUserProperties
Retrieves all integer properties for the model object.
(Inherited from ModelObject.)
Public methodGetPhase
Retrieves the phase of the model object (the phase number, the phase name, the phase comment and whether the phase is the current one or not).
(Inherited from ModelObject.)
Public methodGetReportProperty(String, Double)
Retrieves a double property of the report for the model object.
(Inherited from ModelObject.)
Public methodGetReportProperty(String, Int32)
Retrieves an integer property of the report for the model object.
(Inherited from ModelObject.)
Public methodGetReportProperty(String, String)
Retrieves a string property of the report for the model object.
(Inherited from ModelObject.)
Public methodGetStringReportProperties
Retrieves multiple string report properties for the model object. It is faster to fetch multiple properties at once.
(Inherited from ModelObject.)
Public methodGetStringUserProperties
Retrieves all string properties for the model object.
(Inherited from ModelObject.)
Public methodGetUserProperty(String, Double)
Retrieves a double property for the model object.
(Inherited from ModelObject.)
Public methodGetUserProperty(String, Int32)
Retrieves an integer property for the model object.
(Inherited from ModelObject.)
Public methodGetUserProperty(String, String)
Retrieves a string property for the model object.
(Inherited from ModelObject.)
Public methodInsert
Inserts the boolean part into the model database. All the attributes must be set. The operative part is overwritten by a copy of the original part.
(Overrides ModelObjectInsert.)
Public methodModify
Currently it is not possible to modify the boolean part as there is nothing that can be modified for it. Calling this function will actually call modify for the operative part member.
(Overrides ModelObjectModify.)
Public methodSelect
Selects a boolean part from the model database. The part ID must be set.
(Overrides ModelObjectSelect.)
Public methodSetDynamicStringProperty
Sets a dynamic string property for the model object.
(Inherited from ModelObject.)
Public methodSetLabel
Sets a label for an object when a new instance is created, this method must be called before Insert. The label is used in plug-ins for identifying the changed object in modification.
(Inherited from ModelObject.)
Public methodSetOperativePart
Sets the part to operate with. The operative part's class member must be defined to be BooleanOperativeClass.
Public methodSetPhase
Sets the phase of the model object.
(Inherited from ModelObject.)
Public methodSetUserProperties
Sets multiple properties for the model object.
(Inherited from ModelObject.)
Public methodSetUserProperty(String, Double)
Sets a double property for the model object.
(Inherited from ModelObject.)
Public methodSetUserProperty(String, Int32)
Sets an integer property for the model object.
(Inherited from ModelObject.)
Public methodSetUserProperty(String, String)
Sets a string property for the model object.
(Inherited from ModelObject.)
Top
Fields
  NameDescription
Public fieldStatic memberBooleanOperativeClassName
A constant string that defines a part class name to be the boolean operative part. This class must be used when inserting the operative part to the database.
Top
Examples
using Tekla.Structures.Model;
using Tekla.Structures.Geometry3d;
using System;

public class Example
{
       public void Example1()
       {
           Point point = new Point(0, 7000, 0);
           Point point2 = new Point(1000, 7000, 0);
           Beam Beam1 = new Beam();
           Beam1.StartPoint = point;
           Beam1.Profile.ProfileString = "400*400";
           Beam1.EndPoint = point2;
           Beam1.Insert();

           Beam Beam2 = new Beam();
           Beam2.Profile.ProfileString = "400*400";
           Beam2.StartPoint = new Point(500, 6000, 0);
           Beam2.EndPoint = new Point(500, 8000, 0);
           Beam2.Class = BooleanPart.BooleanOperativeClassName;
           Beam2.Insert();

           BooleanPart Beam = new BooleanPart();
           Beam.Father = Beam1;
           Beam.SetOperativePart(Beam2);
           // Beam.Type = BooleanPart.BooleanTypeEnum.BOOLEAN_ADD; // BOOLEAN_CUT is default type.
           if(!Beam.Insert())
               Console.WriteLine("Insert failed!");
           Beam2.Delete(); // Not needed when using BOOLEAN_ADD, operative part is deleted automatically.
       }
}
See Also
Was this helpful?
The feedback you give here is not visible to other users. We use your comments to improve the content.
Previous
Next