IMdCopyMirror

This interface represents a mirror copy of geometry.

Namespace

interop.CimMdlrAPI

Compatibility

Cimatron 2024 or later

Properties

Get/Set

CopyEntities

ICimEntityList

Get/Set

MirrorSurface

ICimEntity

Get/Set

MergeMode

Boolean

Get/Set

DependedFaceMode

Boolean

Get/Set

MirrorSurface_v2

interop.CimMdlrAPI.ICimEntity

Get, Set

MirrorEntities

interop.CimMdlrAPI.ICimEntityList

Get, Set

MirrorPoints

interop.CimMdlrAPI.IPointData

Get, Set

BooleanOption

interop.CimMdlrAPI.MdCopyMirrorBooleanOption

Get, Set

ColorChangedToggle

interop.CimMdlrAPI.MdCopyMirrorColorChangeToggle

Methods

None 

Events

None 

Remarks

None

Example

   

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()