Hide Table of Contents
ICreateBrepBody3 Method (IModeler)

Creates a temporary body from BREP (boundary representation) data.

.NET Syntax

Visual Basic (Declaration) 
Function ICreateBrepBody3( _
   ByVal Type As System.Integer, _
   ByVal NTopologies As System.Integer, _
   ByRef Topologies As System.Integer, _
   ByRef EdgeTolArray As System.Double, _
   ByRef VertexTolArray As System.Double, _
   ByRef PointArray As System.Double, _
   ByRef CurveArra1 As Curve, _
   ByRef CurveSurfaceArray1 As Surface, _
   ByRef CurveArray2 As Curve, _
   ByRef CurveSurfaceArray2 As Surface, _
   ByRef SurfaceArray As Surface, _
   ByVal NRelations As System.Integer, _
   ByRef Parents As System.Integer, _
   ByRef Children As System.Integer, _
   ByRef Senses As System.Integer, _
   ByVal Option As System.Integer _
) As Body2
Visual Basic (Usage) 
Dim instance As IModeler
Dim Type As System.Integer
Dim NTopologies As System.Integer
Dim Topologies As System.Integer
Dim EdgeTolArray As System.Double
Dim VertexTolArray As System.Double
Dim PointArray As System.Double
Dim CurveArra1 As Curve
Dim CurveSurfaceArray1 As Surface
Dim CurveArray2 As Curve
Dim CurveSurfaceArray2 As Surface
Dim SurfaceArray As Surface
Dim NRelations As System.Integer
Dim Parents As System.Integer
Dim Children As System.Integer
Dim Senses As System.Integer
Dim Option As System.Integer
Dim value As Body2
 
value = instance.ICreateBrepBody3(Type, NTopologies, Topologies, EdgeTolArray, VertexTolArray, PointArray, CurveArra1, CurveSurfaceArray1, CurveArray2, CurveSurfaceArray2, SurfaceArray, NRelations, Parents, Children, Senses, Option)
C# 
Body2 ICreateBrepBody3( 
   System.int Type,
   System.int NTopologies,
   ref System.int Topologies,
   ref System.double EdgeTolArray,
   ref System.double VertexTolArray,
   ref System.double PointArray,
   ref Curve CurveArra1,
   ref Surface CurveSurfaceArray1,
   ref Curve CurveArray2,
   ref Surface CurveSurfaceArray2,
   ref Surface SurfaceArray,
   System.int NRelations,
   ref System.int Parents,
   ref System.int Children,
   ref System.int Senses,
   System.int Option
)
C++/CLI 
Body2^ ICreateBrepBody3( 
&   System.int Type,
&   System.int NTopologies,
&   System.int% Topologies,
&   System.double% EdgeTolArray,
&   System.double% VertexTolArray,
&   System.double% PointArray,
&   Curve^% CurveArra1,
&   Surface^% CurveSurfaceArray1,
&   Curve^% CurveArray2,
&   Surface^% CurveSurfaceArray2,
&   Surface^% SurfaceArray,
&   System.int NRelations,
&   System.int% Parents,
&   System.int% Children,
&   System.int% Senses,
&   System.int Option
) 

Parameters

Type
Type of body to create as defined in swTopology_e
NTopologies
Number of topological entities in the topologies argument
Topologies
Array of topologies (see swTopoEntity_e), one for each topological entity
EdgeTolArray
Array of tolerances for edges
VertexTolArray
Array of tolerances for vertices
PointArray

Array of coordinates of vertices (geometry for vertices)

CurveArra1
Array of curves (geometry for edges; 3D curve) and coedges (geometry for coedges; 2D curve)
CurveSurfaceArray1
Array of surfaces that lie on CurveArra1 2D curve
CurveArray2
Array of curves (geometry for edges; 3D curve) and array of coedges (geometry for coedges; 2D curve)
CurveSurfaceArray2
Array of surfaces that on lie on CurveArray2 2D curve
SurfaceArray
Array of surfaces (geometry for faces)
NRelations
Number of 1-to-1 relationships between topological entities
Parents
Array of parents, one in each relationship
Children
Array of children, one in each relationship
Senses
Array of senses in which child is used by parent in the relationship
Option
  • 0 = Default
  • 1 = Repair and simplify body

  • 2 = Simplify body

  • Return Value

    Body

    Remarks

    The CurveArray1 and CurveArray2 must be paired with CurveSurfaceArray1 and CurveSurfaceArray2, respectively. Order is not important. The 2D curve has to be created in the direction of the loop.

    If non-negative values are packed into the EdgeToleranceArray and VertexToleranceArray arrays, then tolerances are applied to the corresponding edges or vertices. These arrays should be the same size as CurveArray1 and PointArray, respectively. Otherwise, a default value of 1.0e-8 (modeler precision) is used.

    NOTE: IModeler::SetInitKnitGapWidth does not affect this method.

    Useful methods for creating geometry for the topological entities are:

    For example, to create a cone, find topological relationships and form relevant arrays. A complete solid cone consists of 8 topological entities:

      • 1 shell

      • 2 faces

      • 3 loops

      • 1 edge

      • 1 vertex

    There are 8 relations:

      • the shell is the parent of 2 faces - 2

      • the planar end face has 1 loop - 1

      • the conical face has 2 loops - 2

      • two loops are each the parent of 1 edge - 2

      • one loop is the parent of 1 vertex 1

    The topologies array:

     

    Index

    Value

    0

    swTopoShell

    1

    swTopoFace

    2

    swTopoFace

    3

    swTopoLoop

    4

    swTopoEdge

    5

    swTopoLoop

    6

    swTopoLoop

    7

    swTopoVertex

     

    The set of arrays:

     

    index

    parents

    children

    senses

    relation

    0

    0

    1

    0

    shell to face

    1

    0

    2

    0

    shell to face

    2

    1

    3

    0

    face to loop

    3

    3

    4

    -1

    loop to edge

    4

    2

    5

    0

    face to loop

    5

    2

    6

    0

    face to loop

    6

    5

    4

    1

    loop to edge

    7

    6

    7

    0

    loop to vertex

     

    Values in the parents and children arrays correspond to the indices of the topology array.

    Each face or edge created by IModeler::CreateBrepBody3 or IModeler::ICreateBrepBody3 has an associated integer ID that is the same as the index to the input topologies. Use IFace2::GetFaceId or IEdge::GetId to get the associated integer ID.

    Every shell should be a closed shell. Sheet bodies should have additional back faces to form a closed shell. When creating a sheet body, these extra back faces are retained in the result and should be removed using IModeler::DeleteFacesFromSheetBody or IModeler::IDeleteFacesFromSheetBody.

     

    See Also

    Availability

    SOLIDWORKS 2004 FCS, Revision Number 12.0


    Provide feedback on this topic

    SOLIDWORKS welcomes your feedback concerning the presentation, accuracy, and thoroughness of the documentation. Use the form below to send your comments and suggestions about this topic directly to our documentation team. The documentation team cannot answer technical support questions. Click here for information about technical support.

    * Required

     
    *Email:  
    Subject:   Feedback on Help Topics
    Page:   ICreateBrepBody3 Method (IModeler)
    *Comment:  
    *   I acknowledge I have read and I hereby accept the privacy policy under which my Personal Data will be used by Dassault Systèmes

    Print Topic

    Select the scope of content to print:

    x

    We have detected you are using a browser version older than Internet Explorer 7. For optimized display, we suggest upgrading your browser to Internet Explorer 7 or newer.

     Never show this message again
    x

    Web Help Content Version: API Help (English only) 2017 SP05

    To disable Web help from within SOLIDWORKS and use local help instead, click Help > Use SOLIDWORKS Web Help.

    To report problems encountered with the Web help interface and search, contact your local support representative. To provide feedback on individual help topics, use the “Feedback on this topic” link on the individual topic page.