IAssemblyDocument::PushPickTool

This method sets a filter on a pick tool (it is an extension of the PushTool method).

The following parameters are required:

Compatibility

Cimatron 2024 or later

Syntax

PushPickTool(interop.CimBaseAPI.Tool aTool, interop.CimBaseAPI.IEntityFilter iEntFilter, interop.CimBaseAPI.IEntityFilter iEntFilter, int iBool);

def PushPickTool(interop.CimBaseAPI.Tool aTool, interop.CimBaseAPI.IEntityFilter iEntFilter, interop.CimBaseAPI.IEntityFilter iEntFilter, int iBool)->None 

Return Type

Return: void  
   

Input Type

Input: interop.CimBaseAPI.Tool iTool— Implemented Object—An instance of an AxtiveX object that at least implements an ITool interface of the Tool co-class
Input: interop.CimBaseAPI.IEntityFilter iActiveFilter—Entity filter
Input: interop.CimBaseAPI.IEntityFilter iEnableFilter—The entity types that can be filtered
Input: int

iEnablePoints—Define if the enable point selection is by pick.

  • False(=0)—point pick is disabled
  • True(=1)—point pick enabled

Remarks

None

Example

interop.CimAppAccess.AppAccess aAppAccess = new interop.CimAppAccess.AppAccess();
interop.CimatronE.IApplication CimApp = aAppAccess.GetApplication();
interop.CimatronE.ICimDocument aDocument = CimApp.GetActiveDoc();
if (aDocument != null)
{
interop.CimBaseAPI.IToolContainer Container = (interop.CimBaseAPI.IToolContainer)aDocument;
//CimToolContainerExp is user defined class library that has class PickToolClass which implements Tool,
//interop.CimBaseAPI.ITool, IToolEvents, IPickToolEvents, IFigureEvent and this is class library(CimToolContainerExp)is
//com registered.
CimToolContainerExp.PickToolClass pPickTool = new CimToolContainerExp.PickToolClass();
List<interop.CimServicesAPI.EntityEnumType> iEntityFilter = new List<interop.CimServicesAPI.EntityEnumType>();
iEntityFilter.Add(interop.CimServicesAPI.EntityEnumType.cmFace);
// code for Createfilter() is written below
interop.CimServicesAPI.IEntityFilter iEntFilter = Createfilter(iEntityFilter);
pPickTool.SetSelectionFilter(iEntFilter, 1);
interop.CimBaseAPI.Tool aTool = (interop.CimBaseAPI.Tool)pPickTool;
aIToolCont.PushPickTool(tool,
(interop.CimBaseAPI.IEntityFilter)iEntFilter,
(interop.CimBaseAPI.IEntityFilter)iEntFilter,
0);

}

interop.CimServicesAPI.IEntityFilter Createfilter(List<interop.CimServicesAPI.EntityEnumType> iEntityFilter)
{
interop.CimatronE.ICimDocument aDOC = CimApp.GetActiveDoc();
interop.CimMdlrAPI.IModelContainer aMdlrDoc = (interop.CimMdlrAPI.IModelContainer)aDOC;
interop.CimServicesAPI.IEntityQuery aModel1 = (interop.CimServicesAPI.IEntityQuery)aMdlrDoc.Model;
interop.CimBaseAPI.FilterType aFilter =
(interop.CimBaseAPI.FilterType)aModel1.CreateFilter(interop.CimServicesAPI.EFilterEnumType.cmFilterEntityType);
foreach(interop.CimServicesAPI.EntityEnumType eFilterEnumType in iEntityFilter)
{
aFilter.Add((interop.CimBaseAPI.EntityEnumType)eFilterEnumType);
}
return (interop.CimServicesAPI.IEntityFilter)aFilter;
}

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

#Getting AppAccess Object
aCimAppAccess = interop.CimAppAccess.AppAccess()
#Getting instance of CimatronE Application
aCimApp = None
while (aCimApp == None) :
aCimApp = (interop.CimatronE.IApplication)(aCimAppAccess.GetApplication())
aDocument = (interop.CimatronE.ICimDocument)(aCimApp.GetActiveDoc())
if (aDocument != None) :
if (aDocument.Type == interop.CimatronE.DocumentEnumType.cmAssembly) :
aAssemblyDoc = (interop.CimMdlrAPI.IAssemblyDocument)(aDocument)