The ObjectType enumeration identifies Enterprise Architect object types even when referenced through a Dispatch interface.
For  example:
Object ob = Repository.GetElementByID(13);
if ( ob.ObjectType == otElement )
  ;
else if( ob.ObjectType == otAuthor )
...
All of the following are valid enumeration values:
otNone 
otProject 
otRepository 
otCollection 
otElement 
otPackage 
otModel 
otConnector 
otDiagram 
otRequirement 
otScenario 
otConstraint 
otTaggedValue 
otFile 
otEffort 
otMetric 
otIssue 
otRisk 
otTest 
otDiagramObject 
otDiagramLink 
otResource 
otConnectorEnd 
otAttribute 
otMethod 
otParameter 
 | 
otClient 
otAuthor 
otDatatype 
otStereotype 
otTaskotTerm 
otProjectIssues 
otAttributeConstraint 
otAttributeTag 
otMethodConstraint 
otMethodTag 
otConnectorConstraint 
otConnectorTag 
otProjectResource 
otReference 
otRoleTag 
otCustomProperty 
otPartition 
otTransition 
otEventProperty 
otEventProperties 
otPropertyType 
otProperties 
otProperty 
otSwimlaneDef 
otSwimlanes 
otSwimlane 
 |