This interface represents a mirror copy of geometry.
interop.CimMdlrAPI
Cimatron 2024 or later
|
Get/Set |
||
|
Get/Set |
||
|
Get/Set |
Boolean |
|
|
Get/Set |
Boolean |
|
|
Get/Set |
interop.CimMdlrAPI.ICimEntity |
|
|
Get, Set |
interop.CimMdlrAPI.ICimEntityList |
|
|
Get, Set |
interop.CimMdlrAPI.IPointData |
|
|
Get, Set |
interop.CimMdlrAPI.MdCopyMirrorBooleanOption |
|
|
Get, Set |
interop.CimMdlrAPI.MdCopyMirrorColorChangeToggle |
None
None
None
interop.CimAppAccess.AppAccess aAppAccess = new interop.CimAppAccess.AppAccess();
//Get application object from App access
interop.CimatronE.IApplication aCimApp = (interop.CimatronE.IApplication)aAppAccess.GetApplication();
if (aCimApp != null)
{
//Get Active document from IApplication
interop.CimatronE.ICimDocument aDoc = aCimApp.GetActiveDoc();
if (aDoc.Type == interop.CimatronE.DocumentEnumType.cmPart)
{
//Cast ICimDocument object to ModelContainer
interop.CimMdlrAPI.IModelContainer aCont = (interop.CimMdlrAPI.IModelContainer)aDoc;
//Get model from ModelContainer and cast it to IModel.
interop.CimMdlrAPI.IModel aIModel = (interop.CimMdlrAPI.IModel)aCont.Model;
//Get model from ModelContainer and cast it to MdlrModel.
interop.CimMdlrAPI.MdlrModel aMdlrModel = (interop.CimMdlrAPI.MdlrModel)aCont.Model;
//create procedure of type Mirror move
interop.CimMdlrAPI.IMdProcedure aIMdProcedure = aMdlrModel.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cmCopyMirrorProcedure);
interop.CimMdlrAPI.IMdCopyMirror aIMdCopyMirror = (interop.CimMdlrAPI.IMdCopyMirror)aIMdProcedure;
//Entity to be Copied
interop.CimMdlrAPI.ICimEntity aFaceEnt = (interop.CimMdlrAPI.ICimEntity)aIModel.GetEntityById(6, aIModel);
interop.CimMdlrAPI.ICimEntity aCurveEnt = (interop.CimMdlrAPI.ICimEntity)aIModel.GetEntityById(12, aIModel);
interop.CimBaseAPI.ICimEntityList aEntList = new interop.CimBaseAPI.CimEntityList();
//Add entity to be copied
aEntList.Add((interop.CimBaseAPI.ICimEntity)aFaceEnt);
aEntList.Add((interop.CimBaseAPI.ICimEntity)aCurveEnt);
//Entity about which to mirror i.e plane
interop.CimMdlrAPI.ICimEntity aMirrorRefEnt = (interop.CimMdlrAPI.ICimEntity)aIModel.GetEntityById(39, aIModel);
//Set all required properties and methods
//Define wheather to copy dependent feature faces
aIMdCopyMirror.DependedFaceMode = 1;
//Define copy object to merged or not
//This option will not work in the case where DependedFaceMode is set to TRUE.
aIMdCopyMirror.MergeMode = 1;
aIMdCopyMirror.CopyEntities = (interop.CimMdlrAPI.ICimEntityList)aEntList;
//Set mirror entity like plane or face
aIMdCopyMirror.MirrorSurface_v2 = aMirrorRefEnt;
aIMdProcedure.Execute();
}
}
import clr
#Adding references of required interop dlls
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
# Create AppAccess object
aAppAccess = interop.CimAppAccess.AppAccess()
# Get application object from AppAccess
aCimApp = interop.CimatronE.IApplication(aAppAccess.GetApplication())
if aCimApp is not None:
# Get Active document from IApplication
aDoc = aCimApp.GetActiveDoc()
if aDoc.Type == interop.CimatronE.DocumentEnumType.cmPart:
# Cast ICimDocument object to ModelContainer
aCont = interop.CimMdlrAPI.IModelContainer(aDoc)
# Get model from ModelContainer and cast it to IModel.
aIModel = interop.CimMdlrAPI.IModel(aCont.Model)
# Get model from ModelContainer and cast it to MdlrModel.
aMdlrModel = interop.CimMdlrAPI.MdlrModel(aCont.Model)
# Create procedure of type Mirror copy
aIMdProcedure = aMdlrModel.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cmCopyMirrorProcedure)
aIMdCopyMirror = interop.CimMdlrAPI.IMdCopyMirror(aIMdProcedure)
# Entities to be Copied
aFaceEnt = interop.CimMdlrAPI.ICimEntity(aIModel.GetEntityById(8, aIModel))
aCurveEnt = interop.CimMdlrAPI.ICimEntity(aIModel.GetEntityById(34, aIModel))
aEntList = interop.CimBaseAPI.CimEntityList()
aEntList.Add(aFaceEnt)
aEntList.Add(aCurveEnt)
#Set all required properties and methods
#Define wheather to copy dependent feature faces
aIMdCopyMirror.DependedFaceMode = 1
#Define copy object to merged or not
#This option will not work in the case where DependedFaceMode is set to TRUE.
aIMdCopyMirror.MergeMode = 1
# Entity about which to mirror i.e plane
aMirrorRefEnt = interop.CimMdlrAPI.ICimEntity(aIModel.GetEntityById(39, aIModel))
aIMdCopyMirror.CopyEntities = interop.CimMdlrAPI.ICimEntityList(aEntList)
aIMdCopyMirror.MirrorSurface_v2 = aMirrorRefEnt
aIMdProcedure.Execute()
