Geometric Modeler

Topology

How to Create a Circle Sweep with Two Guides and a Tangency Surface

Circle Sweep Subtype: Two guides and tangency surface
Use Case

Abstract

The CATFrFTopologicalSweep operator enables you to create sweeps. This use case explains how to create a circle sweep with two guides and a tangency surface.


What You Will Learn With This Use Case

In this use case, you learn how to use the CATFrFTopologicalSweep operator to create circle sweeps with two guides and a tangency surface.

CATFrFTopologicalSweep is to be used according to the general scheme of topological operators. If need be, you can take a look at "Overview of the Topological Operators" [1] for more information.

[Top]

The CAAAdtCircleSweepTwoEdgesTangSur Use Case

CAAAdtCircleSweepTwoEdgesTangSur is a use case of the CAAAdvancedTopologicalOperators.edu framework that illustrates the CAAAdvancedTopologicalOperators framework capabilities.

The circle sweep which is created by this use case looks something like this:


[Top]

What Does CAAAdtCircleSweepTwoEdgesTangSur Do ?

The use case:

Note
This article only focuses on the operations related to the CATFrFTopologicalSweep operator. Refer to "Overview of the Topological Operators" [1] for more information on the operations which are not detailed in the article.

[Top]

How to Launch CATFrFTopologicalSweep

To launch CAAAdtCircleSweepTwoEdgesTangSur, you will need to set up the build time environment, then compile CAAAdtCircleSweepTwoEdgesTangSur .m, set up the run time environment, and then execute the use case [2].

If you simply type CAAAdtCircleSweepTwoEdgesTangSur with no argument, the use case executes, but doesn't save the result in an NCGM file. If you want to save this result, provide the full pathname of the NCGM file to create. For example:

With Windows CAAAdtCircleSweepTwoEdgesTangSur e:\sweep.NCGM

With UNIX CAAAdtCircleSweepTwoEdgesTangSur /u/sweep.NCGM

This NCGM file can be displayed using the CAAGemBrowser use case.

[Top]

Where to Find the CAAAdtCircleSweepTwoEdgesTangSur Code

The CAAAdtCircleSweepTwoEdgesTangSur use case is made of a main named CAAAdtCircleSweepTwoEdgesTangSur.cpp located in the CAAAdtCircleSweepTwoEdgesTangSur.m module of the CAATopologicalOperators.edu framework:

Windows InstallRootDirectory\CAAAdvancedTopologicalOperators.edu\CAAAdtCircleSweepTwoEdgesTangSur .m\
Unix InstallRootDirectory/CAAAdvancedTopologicalOperators.edu/CAAAdtCircleSweepTwoEdgesTangSur .m/

where InstallRootDirectory is the directory where the CAA CD-ROM is installed.

[Top]

Step-by-Step

The use case is divided into the following main steps:

[Top]

Creating the two guides and the tangency surface

The curves to be used as guides are CATSpline that are simply created from the geometry factory. See [3] for information on how to create a spline. The tangency surface is created by extruding one of the spline (CATTopPrism operator).

Creating a CATFrFTopologicalSweep operator instance

The CATFrFTopologicalSweep operator is created by the CATCreateFrFTopologicalCircleSweep global function. The two guides are passed in the form of a list as the third argument of the function.

IMPORTANT:  referring to the interactive dialog, the first guide appended in the list below is the "Limit curve" (pGuideGeom2) - the second guide appended is the  "Limit curve with tangency" (pGuideGeom1 in the code below). The "Limit curve with tangency" must result from a projection on the tangency surface even if the curve is geometrically lying on the tangency surface.

CATLISTP(CATGeometry) guides ;
CATGeometry * pGuideGeom2 = (CATGeometry*)pWireBody2 ;
CATGeometry * pGuideGeom1 = (CATGeometry*)pBodyProj ;
    
guides.Append(pGuideGeom2);
guides.Append(pGuideGeom1);
    
// (a) - Create the sweep operator
//
CATFrFTopologicalSweep * pSweepOpe = CATCreateFrFTopologicalCircleSweep(piGeomFactory, 
        &topdata, &guides);
  

[Top]

Setting the parameters

The SetLimitGuideSlopeCondition method enables you to:

//       2 - Specify the slope. 
//           When the angle is 0, the sweep to be generated is tangent to 
//           the reference element. The rank specified is
//           the rank of the guide which is a projection on the surface 
//           in the CATLISTP(CATGeometry) list of guides.
//
CATGeometry * referenceElement = (CATGeometry *)pPBody;
int rank = 2;
pSweepOpe->SetLimitGuideSlopeCondition(rank, referenceElement,pCompLaw );
  

[Top]


In Short

This use case is an example of how to create a circle sweep with two guides and a tangency surface.

[Top]


References

[1] Overview of the Topological Operators
[2] Building and Launching a CAA V5 Use Case
[3] Basic Topological Operators
[Top]

History

Version: 1 [Aug 2002] Document created
[Top]

Copyright © 2002, Dassault Systèmes. All rights reserved.