The IGeom3DSurface interface provides the basic information for a range of surface geometries. Through this interface you can get the type of surface, and by using the appropriate interface like IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, IGeom3DTorus, get more specific data about them.
interop.CimServicesAPI
Cimatron 2024 or later
|
Get |
interop.CimServicesAPI.GeomSurfaceType |
|
|
Get |
double[] |
|
|
Get |
int |
|
|
Get |
interop.CimServicesAPI.T_SurfaceSense |
|
double[] |
( double, double, double ) |
|
|
double[] |
( double, double ) |
|
|
int |
( double[] ) |
|
|
double[] |
( double[] ) |
|
|
int |
( ) |
|
|
int |
( ) |
|
|
double |
( ) |
|
|
double |
( ) |
|
|
double[] |
( double[], double ) |
|
|
double[] |
( int ) |
|
|
double[] |
( int ) |
|
|
double[] |
( double[] ) |
|
|
double[] |
( double, double ) |
|
|
double |
( ) |
|
|
double |
( ) |
|
|
double |
( ) |
None
None
interop.CimAppAccess.AppAccess AppAcc = new interop.CimAppAccess.AppAccess();
interop.CimatronE.IApplication CimApp = (interop.CimatronE.IApplication)AppAcc.GetApplication();
interop.CimatronE.ICimDocument aDOC = CimApp.GetActiveDoc();
interop.CimMdlrAPI.IModelContainer aContainer = (interop.CimMdlrAPI.IModelContainer)aDoc;
interop.CimMdlrAPI.IMdlrModel aMdlrModel = (interop.CimMdlrAPI.IMdlrModel)aContainer.Model;
interop.CimMdlrAPI.IEntityQuery aMdlrQuery = (interop.CimMdlrAPI.IEntityQuery)aMdlrModel;
interop.CimMdlrAPI.IEntityFilter aEntityFilterEdge = aMdlrQuery.CreateFilter(interop.CimMdlrAPI.EFilterEnumType.cmFilterEntityType);
interop.CimBaseAPI.FilterType aEdgeFilter = (interop.CimBaseAPI.FilterType)aEntityFilterEdge;
aEdgeFilter.Add(interop.CimBaseAPI.EntityEnumType.cmFace);
aMdlrQuery.SetFilter((interop.CimMdlrAPI.IEntityFilter)aEdgeFilter);
interop.CimMdlrAPI.ICimEntityList aFaceList = aMdlrQuery.Select();
int aFaceCount = aFaceList.Count;
//Get One Face
interop.CimMdlrAPI.ICimEntity aFace = (interop.CimMdlrAPI.ICimEntity)aFaceList[1];
int aId = aFace.ID;
interop.CimMdlrAPI.IGeometry3D aGeom = aFace.Geometry;
if (aGeom.Type == interop.CimMdlrAPI.GeomType.cmGeomSurface)
{
interop.CimServicesAPI.IGeom3DSurface aSurface = aGeom as interop.CimServicesAPI.IGeom3DSurface;
}
import clr
clr.AddReference("interop.CimAppAccess")
clr.AddReference("interop.CimatronE")
clr.AddReference("interop.CimServicesAPI")
clr.AddReference("interop.CimBaseAPI")
clr.AddReference("interop.CimMdlrAPI")
clr.AddReference("interop.CimNcAPI")
import interop.CimAppAccess
import interop.CimatronE
import interop.CimServicesAPI
import interop.CimBaseAPI
import interop.CimMdlrAPI
import interop.CimNcAPI
import System
aAppAcc = interop.CimAppAccess.AppAccess()
aCimApp = interop.CimatronE.IApplication(aAppAcc.GetApplication())
aDOC = aCimApp.GetActiveDoc()
aContainer = interop.CimMdlrAPI.IModelContainer(aDOC)
aMdlrModel = interop.CimMdlrAPI.IMdlrModel(aContainer.Model)
aMdlrQuery = interop.CimMdlrAPI.IEntityQuery(aMdlrModel)
aEntityFilterFace = aMdlrQuery.CreateFilter(interop.CimMdlrAPI.EFilterEnumType.cmFilterEntityType)
aFaceFilter = interop.CimBaseAPI.FilterType(aEntityFilterFace)
aFaceFilter.Add(interop.CimBaseAPI.EntityEnumType.cmFace)
aMdlrQuery.SetFilter(interop.CimMdlrAPI.IEntityFilter(aFaceFilter))
aFaceList = aMdlrQuery.Select()
aFaceCount = aFaceList.Count
# Get One Face
aFace = interop.CimMdlrAPI.ICimEntity(aFaceList[1])
aId = aFace.ID
aGeom = aFace.Geometry
aSurface = None
if aGeom.Type == interop.CimMdlrAPI.GeomType.cmGeomSurface:
aSurface = interop.CimServicesAPI.IGeom3DSurface(aGeom)
