Use this property to get the cosine of an angle between the major generator and cone axis. See the drawing in IGeomSDCone::SineAng.
Cimatron 2024 or later
double CosineAng {get;};
CosineAng : double
|
Return: double |
pVal—The cosine of angle |
| Input: 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;
if (aSurface.SurfType == interop.CimServicesAPI.GeomSurfaceType.cmGeomSurfCone)
{
interop.CimServicesAPI.IGeom3DCone aConeSurf = aSurface as interop.CimServicesAPI.IGeom3DCone;
double aCosineAng = aConeSurf.CosineAng;
}
}
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)
aConeSurf = None
if aSurface.SurfType == interop.CimServicesAPI.GeomSurfaceType.cmGeomSurfCone :
aConeSurf = interop.CimServicesAPI.IGeom3DCone(aSurface)
aCosineAng = aConeSurf.CosineAng
