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 .
Cimatron 2024 or later
interop.CimBaseAPI.IGeometry3D Geometry {get;};
Geometry: interop.CimBaseAPI.IGeometry3D
|
Return: interop.CimBaseAPI.IGeometry3D |
pVal—Pointer to IGeometry3D interface |
|
Input: None |
|
None
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)
