ICimEntity::Geometry

This property returns a pointer to the IGeometry3D interface through which you can get to the geometrical information of an entity like interfaces IGeom3DCurve and IGeom3DSurface . Also using this property you can get to other more specific geometry properties of an entity through interfaces like IGeom3DPoint, IGeom3DStraight, IGeom3DIntCurve, IGeom3DEllipse, IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, IGeom3DSpline, IGeom3DTorus .

Compatibility

Cimatron 2024 or later

Syntax

interop.CimBaseAPI.IGeometry3D Geometry {get;};

Geometry: interop.CimBaseAPI.IGeometry3D 

Return Type

Return: interop.CimBaseAPI.IGeometry3D

pVal—Pointer to IGeometry3D interface

Input Type

Input: None

Remarks

None

Example

You must have a Cimatron file open to use this example.

//Example 1
 // PREREQUISITES
 // 1. Open a Cimatron File
 
 // Define an AppAccess object to get the running active application
 interop.CimAppAccess.AppAccess AppAcc = new interop.CimAppAccess.AppAccess();
 // Define an Application object and getting running active application
 interop.CimatronE.IApplication CimApp =(interop.CimatronE.IApplication)AppAcc.GetApplication();
 //Get Active Cimatron Document
 interop.CimBaseAPI.ICimDocument aDOC = (interop.CimBaseAPI.ICimDocument)CimApp.GetActiveDoc();
  //Get Model Container
  interop.CimMdlrAPI.IModelContainer aModelCont = (interop.CimMdlrAPI.IModelContainer)aDOC;
 //Get Model
 interop.CimMdlrAPI.MdlrModel aMdlrModel = (interop.CimMdlrAPI.MdlrModel)aModelCont.Model;
 interop.CimMdlrAPI.IModel aModel = (interop.CimMdlrAPI.IModel)aMdlrModel;
 Console.WriteLine("Enter an Entity PID: ");
 string aPIDstr = Console.ReadLine();
 int aPID = int.Parse(aPIDstr);
 interop.CimBaseAPI.ICimEntity aEnt = (interop.CimBaseAPI.ICimEntity) aModel.GetEntityById(aPID, aModel);
 if (aEnt == null)
 {
     Console.WriteLine("Enitity with given PID does Not Exists");
     return;
 }
 
 interop.CimBaseAPI.IGeometry3D aGeom3D= aEnt.Geometry;
 
 
==========================
//Example 2
 // PREREQUISITES
 // 1. Open a Cimatron File
 
 // Define an AppAccess object to get the running active application
 interop.CimAppAccess.AppAccess AppAcc = new interop.CimAppAccess.AppAccess();
 // Define an Application object and getting running active application
 interop.CimatronE.IApplication CimApp =(interop.CimatronE.IApplication)AppAcc.GetApplication();
 //Get Active Cimatron Document
 interop.CimBaseAPI.ICimDocument aDOC = (interop.CimBaseAPI.ICimDocument)CimApp.GetActiveDoc();
  //Get Model Container
  interop.CimMdlrAPI.IModelContainer aModelCont = (interop.CimMdlrAPI.IModelContainer)aDOC;
 //Get Model
 interop.CimMdlrAPI.MdlrModel aMdlrModel = (interop.CimMdlrAPI.MdlrModel)aModelCont.Model;
 interop.CimMdlrAPI.IModel aModel = (interop.CimMdlrAPI.IModel)aMdlrModel;
 Console.WriteLine("Enter an Entity PID: ");
 string aPIDstr = Console.ReadLine();
 int aPID = int.Parse(aPIDstr);
 interop.CimBaseAPI.ICimEntity aEnt = (interop.CimBaseAPI.ICimEntity) aModel.GetEntityById(aPID, aModel);
 if (aEnt == null)
 {
     Console.WriteLine("Enitity with given PID does Not Exists");
     return;
 }
 
 interop.CimBaseAPI.IGeometry3D aGeom3D= aEnt.Geometry;

#Example 1
 # PREREQUISITES
 # 1. Open a Cimatron File
 import clr
 clr.AddReference("interop.CimAppAccess")
 clr.AddReference("interop.CimatronE")
 clr.AddReference("interop.CimServicesAPI")
 clr.AddReference("interop.CimBaseAPI")
 clr.AddReference("interop.CimMdlrAPI")
 
 #importing modules from interop dlls
 import interop.CimAppAccess
 import interop.CimatronE
 import interop.CimServicesAPI
 import interop.CimBaseAPI
 import interop.CimMdlrAPI
 
 AppAcc = interop.CimAppAccess.AppAccess()
 # Define an Application object and getting running active application
 CimApp = interop.CimatronE.IApplication(AppAcc.GetApplication())
 # Get Active Cimatron Document
 aDOC = interop.CimBaseAPI.ICimDocument(CimApp.GetActiveDoc())
 # Get Model Container
 aModelCont = interop.CimMdlrAPI.IModelContainer(aDOC)
 # Get Model
 aMdlrModel = interop.CimMdlrAPI.MdlrModel(aModelCont.Model)
 aModel = interop.CimMdlrAPI.IModel(aMdlrModel)
 print("Enter an Entity PID:")
 aPID = int(input())
 # Getting Entity of given PID
 aEnt = interop.CimBaseAPI.ICimEntity(aModel.GetEntityById(aPID, aModel))
 
 aGeom3D = aEnt.Geometry
 print("Geometry Type:" )
 print(aGeom3D.Type)
 
#==========================
#Example 2
 # PREREQUISITES
 # 1. Open a Cimatron File
 import clr
 clr.AddReference("interop.CimAppAccess")
 clr.AddReference("interop.CimatronE")
 clr.AddReference("interop.CimServicesAPI")
 clr.AddReference("interop.CimBaseAPI")
 clr.AddReference("interop.CimMdlrAPI")
 
 #importing modules from interop dlls
 import interop.CimAppAccess
 import interop.CimatronE
 import interop.CimServicesAPI
 import interop.CimBaseAPI
 import interop.CimMdlrAPI
 
 AppAcc = interop.CimAppAccess.AppAccess()
 # Define an Application object and getting running active application
 CimApp = interop.CimatronE.IApplication(AppAcc.GetApplication())
 # Get Active Cimatron Document
 aDOC = interop.CimBaseAPI.ICimDocument(CimApp.GetActiveDoc())
 # Get Model Container
 aModelCont = interop.CimMdlrAPI.IModelContainer(aDOC)
 # Get Model
 aMdlrModel = interop.CimMdlrAPI.MdlrModel(aModelCont.Model)
 aModel = interop.CimMdlrAPI.IModel(aMdlrModel)
 print("Enter an Entity PID:")
 aPID = int(input())
 # Getting Entity of given PID
 aEnt = interop.CimBaseAPI.ICimEntity(aModel.GetEntityById(aPID, aModel))
 
 aGeom3D = aEnt.Geometry
 print("Geometry Type:" )
 print(aGeom3D.Type)