/* this ALWAYS GENERATED file contains the definitions for the interfaces */


/* File created by MIDL compiler version 5.01.0164 */
/* at Wed Apr 09 14:14:14 2008
 */
/* Compiler settings for S:\ICAD2008-Publish\ICAD2008-Build\icad\Source\prj\lib\AUTO\Icad.idl:
    Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
    error checks: allocation ref bounds_check enum stub_data 
*/
//@@MIDL_FILE_HEADING(  )


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 440
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __IcadTLB_h__
#define __IcadTLB_h__

#ifdef __cplusplus
extern "C"{
#endif 

/* Forward Declarations */ 

#ifndef __IIcadPoint_FWD_DEFINED__
#define __IIcadPoint_FWD_DEFINED__
typedef interface IIcadPoint IIcadPoint;
#endif 	/* __IIcadPoint_FWD_DEFINED__ */


#ifndef __IIcadPoints_FWD_DEFINED__
#define __IIcadPoints_FWD_DEFINED__
typedef interface IIcadPoints IIcadPoints;
#endif 	/* __IIcadPoints_FWD_DEFINED__ */


#ifndef __IIcadVector_FWD_DEFINED__
#define __IIcadVector_FWD_DEFINED__
typedef interface IIcadVector IIcadVector;
#endif 	/* __IIcadVector_FWD_DEFINED__ */


#ifndef __IIcadMatrix_FWD_DEFINED__
#define __IIcadMatrix_FWD_DEFINED__
typedef interface IIcadMatrix IIcadMatrix;
#endif 	/* __IIcadMatrix_FWD_DEFINED__ */


#ifndef __IIcadLibrary_FWD_DEFINED__
#define __IIcadLibrary_FWD_DEFINED__
typedef interface IIcadLibrary IIcadLibrary;
#endif 	/* __IIcadLibrary_FWD_DEFINED__ */


#ifndef __IIcadUtility_FWD_DEFINED__
#define __IIcadUtility_FWD_DEFINED__
typedef interface IIcadUtility IIcadUtility;
#endif 	/* __IIcadUtility_FWD_DEFINED__ */


#ifndef __IIcadPlotterPen_FWD_DEFINED__
#define __IIcadPlotterPen_FWD_DEFINED__
typedef interface IIcadPlotterPen IIcadPlotterPen;
#endif 	/* __IIcadPlotterPen_FWD_DEFINED__ */


#ifndef __IIcadPlotterPens_FWD_DEFINED__
#define __IIcadPlotterPens_FWD_DEFINED__
typedef interface IIcadPlotterPens IIcadPlotterPens;
#endif 	/* __IIcadPlotterPens_FWD_DEFINED__ */


#ifndef __IIcadPlotDeviceConfig_FWD_DEFINED__
#define __IIcadPlotDeviceConfig_FWD_DEFINED__
typedef interface IIcadPlotDeviceConfig IIcadPlotDeviceConfig;
#endif 	/* __IIcadPlotDeviceConfig_FWD_DEFINED__ */


#ifndef __IIcadPlotProperties_FWD_DEFINED__
#define __IIcadPlotProperties_FWD_DEFINED__
typedef interface IIcadPlotProperties IIcadPlotProperties;
#endif 	/* __IIcadPlotProperties_FWD_DEFINED__ */


#ifndef __IIcadPlotManager_FWD_DEFINED__
#define __IIcadPlotManager_FWD_DEFINED__
typedef interface IIcadPlotManager IIcadPlotManager;
#endif 	/* __IIcadPlotManager_FWD_DEFINED__ */


#ifndef __IIcadPlotRegManager_FWD_DEFINED__
#define __IIcadPlotRegManager_FWD_DEFINED__
typedef interface IIcadPlotRegManager IIcadPlotRegManager;
#endif 	/* __IIcadPlotRegManager_FWD_DEFINED__ */


#ifndef __IIcadDocuments_FWD_DEFINED__
#define __IIcadDocuments_FWD_DEFINED__
typedef interface IIcadDocuments IIcadDocuments;
#endif 	/* __IIcadDocuments_FWD_DEFINED__ */


#ifndef __IIcadWindows_FWD_DEFINED__
#define __IIcadWindows_FWD_DEFINED__
typedef interface IIcadWindows IIcadWindows;
#endif 	/* __IIcadWindows_FWD_DEFINED__ */


#ifndef __IIcadWindow_FWD_DEFINED__
#define __IIcadWindow_FWD_DEFINED__
typedef interface IIcadWindow IIcadWindow;
#endif 	/* __IIcadWindow_FWD_DEFINED__ */


#ifndef __IIcadApplication_FWD_DEFINED__
#define __IIcadApplication_FWD_DEFINED__
typedef interface IIcadApplication IIcadApplication;
#endif 	/* __IIcadApplication_FWD_DEFINED__ */


#ifndef ___EIcadApp_FWD_DEFINED__
#define ___EIcadApp_FWD_DEFINED__
typedef interface _EIcadApp _EIcadApp;
#endif 	/* ___EIcadApp_FWD_DEFINED__ */


#ifndef __IIcadWorkspace_FWD_DEFINED__
#define __IIcadWorkspace_FWD_DEFINED__
typedef interface IIcadWorkspace IIcadWorkspace;
#endif 	/* __IIcadWorkspace_FWD_DEFINED__ */


#ifndef ___IcadWorkspaceEvents_FWD_DEFINED__
#define ___IcadWorkspaceEvents_FWD_DEFINED__
typedef interface _IcadWorkspaceEvents _IcadWorkspaceEvents;
#endif 	/* ___IcadWorkspaceEvents_FWD_DEFINED__ */


#ifndef __IIcadApplicationPreferences_FWD_DEFINED__
#define __IIcadApplicationPreferences_FWD_DEFINED__
typedef interface IIcadApplicationPreferences IIcadApplicationPreferences;
#endif 	/* __IIcadApplicationPreferences_FWD_DEFINED__ */


#ifndef __IIcadDbItem_FWD_DEFINED__
#define __IIcadDbItem_FWD_DEFINED__
typedef interface IIcadDbItem IIcadDbItem;
#endif 	/* __IIcadDbItem_FWD_DEFINED__ */


#ifndef __IIcadTableItem_FWD_DEFINED__
#define __IIcadTableItem_FWD_DEFINED__
typedef interface IIcadTableItem IIcadTableItem;
#endif 	/* __IIcadTableItem_FWD_DEFINED__ */


#ifndef __IIcadRegisteredApplication_FWD_DEFINED__
#define __IIcadRegisteredApplication_FWD_DEFINED__
typedef interface IIcadRegisteredApplication IIcadRegisteredApplication;
#endif 	/* __IIcadRegisteredApplication_FWD_DEFINED__ */


#ifndef __IIcadRegisteredApplications_FWD_DEFINED__
#define __IIcadRegisteredApplications_FWD_DEFINED__
typedef interface IIcadRegisteredApplications IIcadRegisteredApplications;
#endif 	/* __IIcadRegisteredApplications_FWD_DEFINED__ */


#ifndef __IIcadEntities_FWD_DEFINED__
#define __IIcadEntities_FWD_DEFINED__
typedef interface IIcadEntities IIcadEntities;
#endif 	/* __IIcadEntities_FWD_DEFINED__ */


#ifndef __IIcadBlock_FWD_DEFINED__
#define __IIcadBlock_FWD_DEFINED__
typedef interface IIcadBlock IIcadBlock;
#endif 	/* __IIcadBlock_FWD_DEFINED__ */


#ifndef __IIcadBlocks_FWD_DEFINED__
#define __IIcadBlocks_FWD_DEFINED__
typedef interface IIcadBlocks IIcadBlocks;
#endif 	/* __IIcadBlocks_FWD_DEFINED__ */


#ifndef __IIcadDimensionStyle_FWD_DEFINED__
#define __IIcadDimensionStyle_FWD_DEFINED__
typedef interface IIcadDimensionStyle IIcadDimensionStyle;
#endif 	/* __IIcadDimensionStyle_FWD_DEFINED__ */


#ifndef __IIcadDimensionStyles_FWD_DEFINED__
#define __IIcadDimensionStyles_FWD_DEFINED__
typedef interface IIcadDimensionStyles IIcadDimensionStyles;
#endif 	/* __IIcadDimensionStyles_FWD_DEFINED__ */


#ifndef __IIcadLayer_FWD_DEFINED__
#define __IIcadLayer_FWD_DEFINED__
typedef interface IIcadLayer IIcadLayer;
#endif 	/* __IIcadLayer_FWD_DEFINED__ */


#ifndef __IIcadLayers_FWD_DEFINED__
#define __IIcadLayers_FWD_DEFINED__
typedef interface IIcadLayers IIcadLayers;
#endif 	/* __IIcadLayers_FWD_DEFINED__ */


#ifndef __IIcadLinetype_FWD_DEFINED__
#define __IIcadLinetype_FWD_DEFINED__
typedef interface IIcadLinetype IIcadLinetype;
#endif 	/* __IIcadLinetype_FWD_DEFINED__ */


#ifndef __IIcadLinetypes_FWD_DEFINED__
#define __IIcadLinetypes_FWD_DEFINED__
typedef interface IIcadLinetypes IIcadLinetypes;
#endif 	/* __IIcadLinetypes_FWD_DEFINED__ */


#ifndef __IIcadTextStyle_FWD_DEFINED__
#define __IIcadTextStyle_FWD_DEFINED__
typedef interface IIcadTextStyle IIcadTextStyle;
#endif 	/* __IIcadTextStyle_FWD_DEFINED__ */


#ifndef __IIcadTextStyles_FWD_DEFINED__
#define __IIcadTextStyles_FWD_DEFINED__
typedef interface IIcadTextStyles IIcadTextStyles;
#endif 	/* __IIcadTextStyles_FWD_DEFINED__ */


#ifndef __IIcadUserCoordSystem_FWD_DEFINED__
#define __IIcadUserCoordSystem_FWD_DEFINED__
typedef interface IIcadUserCoordSystem IIcadUserCoordSystem;
#endif 	/* __IIcadUserCoordSystem_FWD_DEFINED__ */


#ifndef __IIcadUserCoordSystems_FWD_DEFINED__
#define __IIcadUserCoordSystems_FWD_DEFINED__
typedef interface IIcadUserCoordSystems IIcadUserCoordSystems;
#endif 	/* __IIcadUserCoordSystems_FWD_DEFINED__ */


#ifndef __IIcadView_FWD_DEFINED__
#define __IIcadView_FWD_DEFINED__
typedef interface IIcadView IIcadView;
#endif 	/* __IIcadView_FWD_DEFINED__ */


#ifndef __IIcadViews_FWD_DEFINED__
#define __IIcadViews_FWD_DEFINED__
typedef interface IIcadViews IIcadViews;
#endif 	/* __IIcadViews_FWD_DEFINED__ */


#ifndef __IIcadViewport_FWD_DEFINED__
#define __IIcadViewport_FWD_DEFINED__
typedef interface IIcadViewport IIcadViewport;
#endif 	/* __IIcadViewport_FWD_DEFINED__ */


#ifndef __IIcadViewports_FWD_DEFINED__
#define __IIcadViewports_FWD_DEFINED__
typedef interface IIcadViewports IIcadViewports;
#endif 	/* __IIcadViewports_FWD_DEFINED__ */


#ifndef __IIcadSelectionSet_FWD_DEFINED__
#define __IIcadSelectionSet_FWD_DEFINED__
typedef interface IIcadSelectionSet IIcadSelectionSet;
#endif 	/* __IIcadSelectionSet_FWD_DEFINED__ */


#ifndef __IIcadSelectionSets_FWD_DEFINED__
#define __IIcadSelectionSets_FWD_DEFINED__
typedef interface IIcadSelectionSets IIcadSelectionSets;
#endif 	/* __IIcadSelectionSets_FWD_DEFINED__ */


#ifndef __IIcadEntity_FWD_DEFINED__
#define __IIcadEntity_FWD_DEFINED__
typedef interface IIcadEntity IIcadEntity;
#endif 	/* __IIcadEntity_FWD_DEFINED__ */


#ifndef __IIcad3DFace_FWD_DEFINED__
#define __IIcad3DFace_FWD_DEFINED__
typedef interface IIcad3DFace IIcad3DFace;
#endif 	/* __IIcad3DFace_FWD_DEFINED__ */


#ifndef __IIcad3DPoly_FWD_DEFINED__
#define __IIcad3DPoly_FWD_DEFINED__
typedef interface IIcad3DPoly IIcad3DPoly;
#endif 	/* __IIcad3DPoly_FWD_DEFINED__ */


#ifndef __IIcadArc_FWD_DEFINED__
#define __IIcadArc_FWD_DEFINED__
typedef interface IIcadArc IIcadArc;
#endif 	/* __IIcadArc_FWD_DEFINED__ */


#ifndef __IIcadAttributeDef_FWD_DEFINED__
#define __IIcadAttributeDef_FWD_DEFINED__
typedef interface IIcadAttributeDef IIcadAttributeDef;
#endif 	/* __IIcadAttributeDef_FWD_DEFINED__ */


#ifndef __IIcadAttribute_FWD_DEFINED__
#define __IIcadAttribute_FWD_DEFINED__
typedef interface IIcadAttribute IIcadAttribute;
#endif 	/* __IIcadAttribute_FWD_DEFINED__ */


#ifndef __IIcadAttributes_FWD_DEFINED__
#define __IIcadAttributes_FWD_DEFINED__
typedef interface IIcadAttributes IIcadAttributes;
#endif 	/* __IIcadAttributes_FWD_DEFINED__ */


#ifndef __IIcadBlockInsert_FWD_DEFINED__
#define __IIcadBlockInsert_FWD_DEFINED__
typedef interface IIcadBlockInsert IIcadBlockInsert;
#endif 	/* __IIcadBlockInsert_FWD_DEFINED__ */


#ifndef __IIcadCircle_FWD_DEFINED__
#define __IIcadCircle_FWD_DEFINED__
typedef interface IIcadCircle IIcadCircle;
#endif 	/* __IIcadCircle_FWD_DEFINED__ */


#ifndef __IIcadEllipse_FWD_DEFINED__
#define __IIcadEllipse_FWD_DEFINED__
typedef interface IIcadEllipse IIcadEllipse;
#endif 	/* __IIcadEllipse_FWD_DEFINED__ */


#ifndef __IIcadHatch_FWD_DEFINED__
#define __IIcadHatch_FWD_DEFINED__
typedef interface IIcadHatch IIcadHatch;
#endif 	/* __IIcadHatch_FWD_DEFINED__ */


#ifndef __IIcadLeader_FWD_DEFINED__
#define __IIcadLeader_FWD_DEFINED__
typedef interface IIcadLeader IIcadLeader;
#endif 	/* __IIcadLeader_FWD_DEFINED__ */


#ifndef __IIcadLine_FWD_DEFINED__
#define __IIcadLine_FWD_DEFINED__
typedef interface IIcadLine IIcadLine;
#endif 	/* __IIcadLine_FWD_DEFINED__ */


#ifndef __IIcadLightWeightPolyline_FWD_DEFINED__
#define __IIcadLightWeightPolyline_FWD_DEFINED__
typedef interface IIcadLightWeightPolyline IIcadLightWeightPolyline;
#endif 	/* __IIcadLightWeightPolyline_FWD_DEFINED__ */


#ifndef __IIcadMText_FWD_DEFINED__
#define __IIcadMText_FWD_DEFINED__
typedef interface IIcadMText IIcadMText;
#endif 	/* __IIcadMText_FWD_DEFINED__ */


#ifndef __IIcadPointEntity_FWD_DEFINED__
#define __IIcadPointEntity_FWD_DEFINED__
typedef interface IIcadPointEntity IIcadPointEntity;
#endif 	/* __IIcadPointEntity_FWD_DEFINED__ */


#ifndef __IIcadPolyline_FWD_DEFINED__
#define __IIcadPolyline_FWD_DEFINED__
typedef interface IIcadPolyline IIcadPolyline;
#endif 	/* __IIcadPolyline_FWD_DEFINED__ */


#ifndef __IIcadPolygonMesh_FWD_DEFINED__
#define __IIcadPolygonMesh_FWD_DEFINED__
typedef interface IIcadPolygonMesh IIcadPolygonMesh;
#endif 	/* __IIcadPolygonMesh_FWD_DEFINED__ */


#ifndef __IIcadPolyfaceMesh_FWD_DEFINED__
#define __IIcadPolyfaceMesh_FWD_DEFINED__
typedef interface IIcadPolyfaceMesh IIcadPolyfaceMesh;
#endif 	/* __IIcadPolyfaceMesh_FWD_DEFINED__ */


#ifndef __IIcadPViewport_FWD_DEFINED__
#define __IIcadPViewport_FWD_DEFINED__
typedef interface IIcadPViewport IIcadPViewport;
#endif 	/* __IIcadPViewport_FWD_DEFINED__ */


#ifndef __IIcadImage_FWD_DEFINED__
#define __IIcadImage_FWD_DEFINED__
typedef interface IIcadImage IIcadImage;
#endif 	/* __IIcadImage_FWD_DEFINED__ */


#ifndef __IIcadRay_FWD_DEFINED__
#define __IIcadRay_FWD_DEFINED__
typedef interface IIcadRay IIcadRay;
#endif 	/* __IIcadRay_FWD_DEFINED__ */


#ifndef __IIcadShape_FWD_DEFINED__
#define __IIcadShape_FWD_DEFINED__
typedef interface IIcadShape IIcadShape;
#endif 	/* __IIcadShape_FWD_DEFINED__ */


#ifndef __IIcadSolid_FWD_DEFINED__
#define __IIcadSolid_FWD_DEFINED__
typedef interface IIcadSolid IIcadSolid;
#endif 	/* __IIcadSolid_FWD_DEFINED__ */


#ifndef __IIcadSpline_FWD_DEFINED__
#define __IIcadSpline_FWD_DEFINED__
typedef interface IIcadSpline IIcadSpline;
#endif 	/* __IIcadSpline_FWD_DEFINED__ */


#ifndef __IIcadText_FWD_DEFINED__
#define __IIcadText_FWD_DEFINED__
typedef interface IIcadText IIcadText;
#endif 	/* __IIcadText_FWD_DEFINED__ */


#ifndef __IIcadTolerance_FWD_DEFINED__
#define __IIcadTolerance_FWD_DEFINED__
typedef interface IIcadTolerance IIcadTolerance;
#endif 	/* __IIcadTolerance_FWD_DEFINED__ */


#ifndef __IIcadTrace_FWD_DEFINED__
#define __IIcadTrace_FWD_DEFINED__
typedef interface IIcadTrace IIcadTrace;
#endif 	/* __IIcadTrace_FWD_DEFINED__ */


#ifndef __IIcadInfiniteLine_FWD_DEFINED__
#define __IIcadInfiniteLine_FWD_DEFINED__
typedef interface IIcadInfiniteLine IIcadInfiniteLine;
#endif 	/* __IIcadInfiniteLine_FWD_DEFINED__ */


#ifndef __IIcadExternalReference_FWD_DEFINED__
#define __IIcadExternalReference_FWD_DEFINED__
typedef interface IIcadExternalReference IIcadExternalReference;
#endif 	/* __IIcadExternalReference_FWD_DEFINED__ */


#ifndef __IIcadDimension_FWD_DEFINED__
#define __IIcadDimension_FWD_DEFINED__
typedef interface IIcadDimension IIcadDimension;
#endif 	/* __IIcadDimension_FWD_DEFINED__ */


#ifndef __IIcadDimAngular_FWD_DEFINED__
#define __IIcadDimAngular_FWD_DEFINED__
typedef interface IIcadDimAngular IIcadDimAngular;
#endif 	/* __IIcadDimAngular_FWD_DEFINED__ */


#ifndef __IIcadDimAligned_FWD_DEFINED__
#define __IIcadDimAligned_FWD_DEFINED__
typedef interface IIcadDimAligned IIcadDimAligned;
#endif 	/* __IIcadDimAligned_FWD_DEFINED__ */


#ifndef __IIcadDimDiametric_FWD_DEFINED__
#define __IIcadDimDiametric_FWD_DEFINED__
typedef interface IIcadDimDiametric IIcadDimDiametric;
#endif 	/* __IIcadDimDiametric_FWD_DEFINED__ */


#ifndef __IIcadDimOrdinate_FWD_DEFINED__
#define __IIcadDimOrdinate_FWD_DEFINED__
typedef interface IIcadDimOrdinate IIcadDimOrdinate;
#endif 	/* __IIcadDimOrdinate_FWD_DEFINED__ */


#ifndef __IIcadDimRadial_FWD_DEFINED__
#define __IIcadDimRadial_FWD_DEFINED__
typedef interface IIcadDimRadial IIcadDimRadial;
#endif 	/* __IIcadDimRadial_FWD_DEFINED__ */


#ifndef __IIcadDimRotated_FWD_DEFINED__
#define __IIcadDimRotated_FWD_DEFINED__
typedef interface IIcadDimRotated IIcadDimRotated;
#endif 	/* __IIcadDimRotated_FWD_DEFINED__ */


#ifndef __IIcadDim3PointAngular_FWD_DEFINED__
#define __IIcadDim3PointAngular_FWD_DEFINED__
typedef interface IIcadDim3PointAngular IIcadDim3PointAngular;
#endif 	/* __IIcadDim3PointAngular_FWD_DEFINED__ */


#ifndef __IIcadModelSpace_FWD_DEFINED__
#define __IIcadModelSpace_FWD_DEFINED__
typedef interface IIcadModelSpace IIcadModelSpace;
#endif 	/* __IIcadModelSpace_FWD_DEFINED__ */


#ifndef __IIcadPaperSpace_FWD_DEFINED__
#define __IIcadPaperSpace_FWD_DEFINED__
typedef interface IIcadPaperSpace IIcadPaperSpace;
#endif 	/* __IIcadPaperSpace_FWD_DEFINED__ */


#ifndef __IIcadDocument_FWD_DEFINED__
#define __IIcadDocument_FWD_DEFINED__
typedef interface IIcadDocument IIcadDocument;
#endif 	/* __IIcadDocument_FWD_DEFINED__ */


#ifndef ___EIcadDocument_FWD_DEFINED__
#define ___EIcadDocument_FWD_DEFINED__
typedef interface _EIcadDocument _EIcadDocument;
#endif 	/* ___EIcadDocument_FWD_DEFINED__ */


#ifndef __IIcadDocumentPreferences_FWD_DEFINED__
#define __IIcadDocumentPreferences_FWD_DEFINED__
typedef interface IIcadDocumentPreferences IIcadDocumentPreferences;
#endif 	/* __IIcadDocumentPreferences_FWD_DEFINED__ */


#ifndef __IIcadPoint_FWD_DEFINED__
#define __IIcadPoint_FWD_DEFINED__
typedef interface IIcadPoint IIcadPoint;
#endif 	/* __IIcadPoint_FWD_DEFINED__ */


#ifndef __IIcadPoints_FWD_DEFINED__
#define __IIcadPoints_FWD_DEFINED__
typedef interface IIcadPoints IIcadPoints;
#endif 	/* __IIcadPoints_FWD_DEFINED__ */


#ifndef __IIcadVector_FWD_DEFINED__
#define __IIcadVector_FWD_DEFINED__
typedef interface IIcadVector IIcadVector;
#endif 	/* __IIcadVector_FWD_DEFINED__ */


#ifndef __IIcadMatrix_FWD_DEFINED__
#define __IIcadMatrix_FWD_DEFINED__
typedef interface IIcadMatrix IIcadMatrix;
#endif 	/* __IIcadMatrix_FWD_DEFINED__ */


#ifndef __IIcadLibrary_FWD_DEFINED__
#define __IIcadLibrary_FWD_DEFINED__
typedef interface IIcadLibrary IIcadLibrary;
#endif 	/* __IIcadLibrary_FWD_DEFINED__ */


#ifndef __IIcadUtility_FWD_DEFINED__
#define __IIcadUtility_FWD_DEFINED__
typedef interface IIcadUtility IIcadUtility;
#endif 	/* __IIcadUtility_FWD_DEFINED__ */


#ifndef __IIcadPlotterPen_FWD_DEFINED__
#define __IIcadPlotterPen_FWD_DEFINED__
typedef interface IIcadPlotterPen IIcadPlotterPen;
#endif 	/* __IIcadPlotterPen_FWD_DEFINED__ */


#ifndef __IIcadPlotterPens_FWD_DEFINED__
#define __IIcadPlotterPens_FWD_DEFINED__
typedef interface IIcadPlotterPens IIcadPlotterPens;
#endif 	/* __IIcadPlotterPens_FWD_DEFINED__ */


#ifndef __IIcadPlotDeviceConfig_FWD_DEFINED__
#define __IIcadPlotDeviceConfig_FWD_DEFINED__
typedef interface IIcadPlotDeviceConfig IIcadPlotDeviceConfig;
#endif 	/* __IIcadPlotDeviceConfig_FWD_DEFINED__ */


#ifndef __IIcadPlotProperties_FWD_DEFINED__
#define __IIcadPlotProperties_FWD_DEFINED__
typedef interface IIcadPlotProperties IIcadPlotProperties;
#endif 	/* __IIcadPlotProperties_FWD_DEFINED__ */


#ifndef __IIcadPlotManager_FWD_DEFINED__
#define __IIcadPlotManager_FWD_DEFINED__
typedef interface IIcadPlotManager IIcadPlotManager;
#endif 	/* __IIcadPlotManager_FWD_DEFINED__ */


#ifndef __IIcadPlotRegManager_FWD_DEFINED__
#define __IIcadPlotRegManager_FWD_DEFINED__
typedef interface IIcadPlotRegManager IIcadPlotRegManager;
#endif 	/* __IIcadPlotRegManager_FWD_DEFINED__ */


#ifndef __IIcadDocuments_FWD_DEFINED__
#define __IIcadDocuments_FWD_DEFINED__
typedef interface IIcadDocuments IIcadDocuments;
#endif 	/* __IIcadDocuments_FWD_DEFINED__ */


#ifndef __IIcadWindows_FWD_DEFINED__
#define __IIcadWindows_FWD_DEFINED__
typedef interface IIcadWindows IIcadWindows;
#endif 	/* __IIcadWindows_FWD_DEFINED__ */


#ifndef __IIcadWindow_FWD_DEFINED__
#define __IIcadWindow_FWD_DEFINED__
typedef interface IIcadWindow IIcadWindow;
#endif 	/* __IIcadWindow_FWD_DEFINED__ */


#ifndef __IIcadApplication_FWD_DEFINED__
#define __IIcadApplication_FWD_DEFINED__
typedef interface IIcadApplication IIcadApplication;
#endif 	/* __IIcadApplication_FWD_DEFINED__ */


#ifndef __IIcadWorkspace_FWD_DEFINED__
#define __IIcadWorkspace_FWD_DEFINED__
typedef interface IIcadWorkspace IIcadWorkspace;
#endif 	/* __IIcadWorkspace_FWD_DEFINED__ */


#ifndef __IIcadApplicationPreferences_FWD_DEFINED__
#define __IIcadApplicationPreferences_FWD_DEFINED__
typedef interface IIcadApplicationPreferences IIcadApplicationPreferences;
#endif 	/* __IIcadApplicationPreferences_FWD_DEFINED__ */


#ifndef ___IcadWorkspaceEvents_FWD_DEFINED__
#define ___IcadWorkspaceEvents_FWD_DEFINED__
typedef interface _IcadWorkspaceEvents _IcadWorkspaceEvents;
#endif 	/* ___IcadWorkspaceEvents_FWD_DEFINED__ */


#ifndef ___EIcadApp_FWD_DEFINED__
#define ___EIcadApp_FWD_DEFINED__
typedef interface _EIcadApp _EIcadApp;
#endif 	/* ___EIcadApp_FWD_DEFINED__ */


#ifndef __IIcadDbItem_FWD_DEFINED__
#define __IIcadDbItem_FWD_DEFINED__
typedef interface IIcadDbItem IIcadDbItem;
#endif 	/* __IIcadDbItem_FWD_DEFINED__ */


#ifndef __IIcadTableItem_FWD_DEFINED__
#define __IIcadTableItem_FWD_DEFINED__
typedef interface IIcadTableItem IIcadTableItem;
#endif 	/* __IIcadTableItem_FWD_DEFINED__ */


#ifndef __IIcadRegisteredApplication_FWD_DEFINED__
#define __IIcadRegisteredApplication_FWD_DEFINED__
typedef interface IIcadRegisteredApplication IIcadRegisteredApplication;
#endif 	/* __IIcadRegisteredApplication_FWD_DEFINED__ */


#ifndef __IIcadRegisteredApplications_FWD_DEFINED__
#define __IIcadRegisteredApplications_FWD_DEFINED__
typedef interface IIcadRegisteredApplications IIcadRegisteredApplications;
#endif 	/* __IIcadRegisteredApplications_FWD_DEFINED__ */


#ifndef __IIcadEntities_FWD_DEFINED__
#define __IIcadEntities_FWD_DEFINED__
typedef interface IIcadEntities IIcadEntities;
#endif 	/* __IIcadEntities_FWD_DEFINED__ */


#ifndef __IIcadBlock_FWD_DEFINED__
#define __IIcadBlock_FWD_DEFINED__
typedef interface IIcadBlock IIcadBlock;
#endif 	/* __IIcadBlock_FWD_DEFINED__ */


#ifndef __IIcadBlocks_FWD_DEFINED__
#define __IIcadBlocks_FWD_DEFINED__
typedef interface IIcadBlocks IIcadBlocks;
#endif 	/* __IIcadBlocks_FWD_DEFINED__ */


#ifndef __IIcadDimensionStyle_FWD_DEFINED__
#define __IIcadDimensionStyle_FWD_DEFINED__
typedef interface IIcadDimensionStyle IIcadDimensionStyle;
#endif 	/* __IIcadDimensionStyle_FWD_DEFINED__ */


#ifndef __IIcadDimensionStyles_FWD_DEFINED__
#define __IIcadDimensionStyles_FWD_DEFINED__
typedef interface IIcadDimensionStyles IIcadDimensionStyles;
#endif 	/* __IIcadDimensionStyles_FWD_DEFINED__ */


#ifndef __IIcadLayer_FWD_DEFINED__
#define __IIcadLayer_FWD_DEFINED__
typedef interface IIcadLayer IIcadLayer;
#endif 	/* __IIcadLayer_FWD_DEFINED__ */


#ifndef __IIcadLayers_FWD_DEFINED__
#define __IIcadLayers_FWD_DEFINED__
typedef interface IIcadLayers IIcadLayers;
#endif 	/* __IIcadLayers_FWD_DEFINED__ */


#ifndef __IIcadLinetype_FWD_DEFINED__
#define __IIcadLinetype_FWD_DEFINED__
typedef interface IIcadLinetype IIcadLinetype;
#endif 	/* __IIcadLinetype_FWD_DEFINED__ */


#ifndef __IIcadLinetypes_FWD_DEFINED__
#define __IIcadLinetypes_FWD_DEFINED__
typedef interface IIcadLinetypes IIcadLinetypes;
#endif 	/* __IIcadLinetypes_FWD_DEFINED__ */


#ifndef __IIcadTextStyle_FWD_DEFINED__
#define __IIcadTextStyle_FWD_DEFINED__
typedef interface IIcadTextStyle IIcadTextStyle;
#endif 	/* __IIcadTextStyle_FWD_DEFINED__ */


#ifndef __IIcadTextStyles_FWD_DEFINED__
#define __IIcadTextStyles_FWD_DEFINED__
typedef interface IIcadTextStyles IIcadTextStyles;
#endif 	/* __IIcadTextStyles_FWD_DEFINED__ */


#ifndef __IIcadUserCoordSystem_FWD_DEFINED__
#define __IIcadUserCoordSystem_FWD_DEFINED__
typedef interface IIcadUserCoordSystem IIcadUserCoordSystem;
#endif 	/* __IIcadUserCoordSystem_FWD_DEFINED__ */


#ifndef __IIcadUserCoordSystems_FWD_DEFINED__
#define __IIcadUserCoordSystems_FWD_DEFINED__
typedef interface IIcadUserCoordSystems IIcadUserCoordSystems;
#endif 	/* __IIcadUserCoordSystems_FWD_DEFINED__ */


#ifndef __IIcadView_FWD_DEFINED__
#define __IIcadView_FWD_DEFINED__
typedef interface IIcadView IIcadView;
#endif 	/* __IIcadView_FWD_DEFINED__ */


#ifndef __IIcadViews_FWD_DEFINED__
#define __IIcadViews_FWD_DEFINED__
typedef interface IIcadViews IIcadViews;
#endif 	/* __IIcadViews_FWD_DEFINED__ */


#ifndef __IIcadViewport_FWD_DEFINED__
#define __IIcadViewport_FWD_DEFINED__
typedef interface IIcadViewport IIcadViewport;
#endif 	/* __IIcadViewport_FWD_DEFINED__ */


#ifndef __IIcadViewports_FWD_DEFINED__
#define __IIcadViewports_FWD_DEFINED__
typedef interface IIcadViewports IIcadViewports;
#endif 	/* __IIcadViewports_FWD_DEFINED__ */


#ifndef __IIcadSelectionSet_FWD_DEFINED__
#define __IIcadSelectionSet_FWD_DEFINED__
typedef interface IIcadSelectionSet IIcadSelectionSet;
#endif 	/* __IIcadSelectionSet_FWD_DEFINED__ */


#ifndef __IIcadSelectionSets_FWD_DEFINED__
#define __IIcadSelectionSets_FWD_DEFINED__
typedef interface IIcadSelectionSets IIcadSelectionSets;
#endif 	/* __IIcadSelectionSets_FWD_DEFINED__ */


#ifndef __IIcadEntity_FWD_DEFINED__
#define __IIcadEntity_FWD_DEFINED__
typedef interface IIcadEntity IIcadEntity;
#endif 	/* __IIcadEntity_FWD_DEFINED__ */


#ifndef __IIcad3DFace_FWD_DEFINED__
#define __IIcad3DFace_FWD_DEFINED__
typedef interface IIcad3DFace IIcad3DFace;
#endif 	/* __IIcad3DFace_FWD_DEFINED__ */


#ifndef __IIcad3DPoly_FWD_DEFINED__
#define __IIcad3DPoly_FWD_DEFINED__
typedef interface IIcad3DPoly IIcad3DPoly;
#endif 	/* __IIcad3DPoly_FWD_DEFINED__ */


#ifndef __IIcadArc_FWD_DEFINED__
#define __IIcadArc_FWD_DEFINED__
typedef interface IIcadArc IIcadArc;
#endif 	/* __IIcadArc_FWD_DEFINED__ */


#ifndef __IIcadAttributeDef_FWD_DEFINED__
#define __IIcadAttributeDef_FWD_DEFINED__
typedef interface IIcadAttributeDef IIcadAttributeDef;
#endif 	/* __IIcadAttributeDef_FWD_DEFINED__ */


#ifndef __IIcadAttribute_FWD_DEFINED__
#define __IIcadAttribute_FWD_DEFINED__
typedef interface IIcadAttribute IIcadAttribute;
#endif 	/* __IIcadAttribute_FWD_DEFINED__ */


#ifndef __IIcadAttributes_FWD_DEFINED__
#define __IIcadAttributes_FWD_DEFINED__
typedef interface IIcadAttributes IIcadAttributes;
#endif 	/* __IIcadAttributes_FWD_DEFINED__ */


#ifndef __IIcadBlockInsert_FWD_DEFINED__
#define __IIcadBlockInsert_FWD_DEFINED__
typedef interface IIcadBlockInsert IIcadBlockInsert;
#endif 	/* __IIcadBlockInsert_FWD_DEFINED__ */


#ifndef __IIcadCircle_FWD_DEFINED__
#define __IIcadCircle_FWD_DEFINED__
typedef interface IIcadCircle IIcadCircle;
#endif 	/* __IIcadCircle_FWD_DEFINED__ */


#ifndef __IIcadEllipse_FWD_DEFINED__
#define __IIcadEllipse_FWD_DEFINED__
typedef interface IIcadEllipse IIcadEllipse;
#endif 	/* __IIcadEllipse_FWD_DEFINED__ */


#ifndef __IIcadHatch_FWD_DEFINED__
#define __IIcadHatch_FWD_DEFINED__
typedef interface IIcadHatch IIcadHatch;
#endif 	/* __IIcadHatch_FWD_DEFINED__ */


#ifndef __IIcadLeader_FWD_DEFINED__
#define __IIcadLeader_FWD_DEFINED__
typedef interface IIcadLeader IIcadLeader;
#endif 	/* __IIcadLeader_FWD_DEFINED__ */


#ifndef __IIcadLine_FWD_DEFINED__
#define __IIcadLine_FWD_DEFINED__
typedef interface IIcadLine IIcadLine;
#endif 	/* __IIcadLine_FWD_DEFINED__ */


#ifndef __IIcadLightWeightPolyline_FWD_DEFINED__
#define __IIcadLightWeightPolyline_FWD_DEFINED__
typedef interface IIcadLightWeightPolyline IIcadLightWeightPolyline;
#endif 	/* __IIcadLightWeightPolyline_FWD_DEFINED__ */


#ifndef __IIcadMText_FWD_DEFINED__
#define __IIcadMText_FWD_DEFINED__
typedef interface IIcadMText IIcadMText;
#endif 	/* __IIcadMText_FWD_DEFINED__ */


#ifndef __IIcadPointEntity_FWD_DEFINED__
#define __IIcadPointEntity_FWD_DEFINED__
typedef interface IIcadPointEntity IIcadPointEntity;
#endif 	/* __IIcadPointEntity_FWD_DEFINED__ */


#ifndef __IIcadPolyline_FWD_DEFINED__
#define __IIcadPolyline_FWD_DEFINED__
typedef interface IIcadPolyline IIcadPolyline;
#endif 	/* __IIcadPolyline_FWD_DEFINED__ */


#ifndef __IIcadPolygonMesh_FWD_DEFINED__
#define __IIcadPolygonMesh_FWD_DEFINED__
typedef interface IIcadPolygonMesh IIcadPolygonMesh;
#endif 	/* __IIcadPolygonMesh_FWD_DEFINED__ */


#ifndef __IIcadPolyfaceMesh_FWD_DEFINED__
#define __IIcadPolyfaceMesh_FWD_DEFINED__
typedef interface IIcadPolyfaceMesh IIcadPolyfaceMesh;
#endif 	/* __IIcadPolyfaceMesh_FWD_DEFINED__ */


#ifndef __IIcadPViewport_FWD_DEFINED__
#define __IIcadPViewport_FWD_DEFINED__
typedef interface IIcadPViewport IIcadPViewport;
#endif 	/* __IIcadPViewport_FWD_DEFINED__ */


#ifndef __IIcadImage_FWD_DEFINED__
#define __IIcadImage_FWD_DEFINED__
typedef interface IIcadImage IIcadImage;
#endif 	/* __IIcadImage_FWD_DEFINED__ */


#ifndef __IIcadRay_FWD_DEFINED__
#define __IIcadRay_FWD_DEFINED__
typedef interface IIcadRay IIcadRay;
#endif 	/* __IIcadRay_FWD_DEFINED__ */


#ifndef __IIcadSolid_FWD_DEFINED__
#define __IIcadSolid_FWD_DEFINED__
typedef interface IIcadSolid IIcadSolid;
#endif 	/* __IIcadSolid_FWD_DEFINED__ */


#ifndef __IIcadSpline_FWD_DEFINED__
#define __IIcadSpline_FWD_DEFINED__
typedef interface IIcadSpline IIcadSpline;
#endif 	/* __IIcadSpline_FWD_DEFINED__ */


#ifndef __IIcadText_FWD_DEFINED__
#define __IIcadText_FWD_DEFINED__
typedef interface IIcadText IIcadText;
#endif 	/* __IIcadText_FWD_DEFINED__ */


#ifndef __IIcadTolerance_FWD_DEFINED__
#define __IIcadTolerance_FWD_DEFINED__
typedef interface IIcadTolerance IIcadTolerance;
#endif 	/* __IIcadTolerance_FWD_DEFINED__ */


#ifndef __IIcadTrace_FWD_DEFINED__
#define __IIcadTrace_FWD_DEFINED__
typedef interface IIcadTrace IIcadTrace;
#endif 	/* __IIcadTrace_FWD_DEFINED__ */


#ifndef __IIcadInfiniteLine_FWD_DEFINED__
#define __IIcadInfiniteLine_FWD_DEFINED__
typedef interface IIcadInfiniteLine IIcadInfiniteLine;
#endif 	/* __IIcadInfiniteLine_FWD_DEFINED__ */


#ifndef __IIcadExternalReference_FWD_DEFINED__
#define __IIcadExternalReference_FWD_DEFINED__
typedef interface IIcadExternalReference IIcadExternalReference;
#endif 	/* __IIcadExternalReference_FWD_DEFINED__ */


#ifndef __IIcadDimension_FWD_DEFINED__
#define __IIcadDimension_FWD_DEFINED__
typedef interface IIcadDimension IIcadDimension;
#endif 	/* __IIcadDimension_FWD_DEFINED__ */


#ifndef __IIcadDimAngular_FWD_DEFINED__
#define __IIcadDimAngular_FWD_DEFINED__
typedef interface IIcadDimAngular IIcadDimAngular;
#endif 	/* __IIcadDimAngular_FWD_DEFINED__ */


#ifndef __IIcadDimAligned_FWD_DEFINED__
#define __IIcadDimAligned_FWD_DEFINED__
typedef interface IIcadDimAligned IIcadDimAligned;
#endif 	/* __IIcadDimAligned_FWD_DEFINED__ */


#ifndef __IIcadDimDiametric_FWD_DEFINED__
#define __IIcadDimDiametric_FWD_DEFINED__
typedef interface IIcadDimDiametric IIcadDimDiametric;
#endif 	/* __IIcadDimDiametric_FWD_DEFINED__ */


#ifndef __IIcadDimOrdinate_FWD_DEFINED__
#define __IIcadDimOrdinate_FWD_DEFINED__
typedef interface IIcadDimOrdinate IIcadDimOrdinate;
#endif 	/* __IIcadDimOrdinate_FWD_DEFINED__ */


#ifndef __IIcadDimRadial_FWD_DEFINED__
#define __IIcadDimRadial_FWD_DEFINED__
typedef interface IIcadDimRadial IIcadDimRadial;
#endif 	/* __IIcadDimRadial_FWD_DEFINED__ */


#ifndef __IIcadDimRotated_FWD_DEFINED__
#define __IIcadDimRotated_FWD_DEFINED__
typedef interface IIcadDimRotated IIcadDimRotated;
#endif 	/* __IIcadDimRotated_FWD_DEFINED__ */


#ifndef __IIcadDim3PointAngular_FWD_DEFINED__
#define __IIcadDim3PointAngular_FWD_DEFINED__
typedef interface IIcadDim3PointAngular IIcadDim3PointAngular;
#endif 	/* __IIcadDim3PointAngular_FWD_DEFINED__ */


#ifndef __IIcadModelSpace_FWD_DEFINED__
#define __IIcadModelSpace_FWD_DEFINED__
typedef interface IIcadModelSpace IIcadModelSpace;
#endif 	/* __IIcadModelSpace_FWD_DEFINED__ */


#ifndef __IIcadPaperSpace_FWD_DEFINED__
#define __IIcadPaperSpace_FWD_DEFINED__
typedef interface IIcadPaperSpace IIcadPaperSpace;
#endif 	/* __IIcadPaperSpace_FWD_DEFINED__ */


#ifndef __IIcadDocument_FWD_DEFINED__
#define __IIcadDocument_FWD_DEFINED__
typedef interface IIcadDocument IIcadDocument;
#endif 	/* __IIcadDocument_FWD_DEFINED__ */


#ifndef ___EIcadDocument_FWD_DEFINED__
#define ___EIcadDocument_FWD_DEFINED__
typedef interface _EIcadDocument _EIcadDocument;
#endif 	/* ___EIcadDocument_FWD_DEFINED__ */


#ifndef __IIcadDocumentPreferences_FWD_DEFINED__
#define __IIcadDocumentPreferences_FWD_DEFINED__
typedef interface IIcadDocumentPreferences IIcadDocumentPreferences;
#endif 	/* __IIcadDocumentPreferences_FWD_DEFINED__ */


#ifndef __Dimension_FWD_DEFINED__
#define __Dimension_FWD_DEFINED__

#ifdef __cplusplus
typedef class Dimension Dimension;
#else
typedef struct Dimension Dimension;
#endif /* __cplusplus */

#endif 	/* __Dimension_FWD_DEFINED__ */


#ifndef __DimAngular_FWD_DEFINED__
#define __DimAngular_FWD_DEFINED__

#ifdef __cplusplus
typedef class DimAngular DimAngular;
#else
typedef struct DimAngular DimAngular;
#endif /* __cplusplus */

#endif 	/* __DimAngular_FWD_DEFINED__ */


#ifndef __DimAligned_FWD_DEFINED__
#define __DimAligned_FWD_DEFINED__

#ifdef __cplusplus
typedef class DimAligned DimAligned;
#else
typedef struct DimAligned DimAligned;
#endif /* __cplusplus */

#endif 	/* __DimAligned_FWD_DEFINED__ */


#ifndef __DimDiametric_FWD_DEFINED__
#define __DimDiametric_FWD_DEFINED__

#ifdef __cplusplus
typedef class DimDiametric DimDiametric;
#else
typedef struct DimDiametric DimDiametric;
#endif /* __cplusplus */

#endif 	/* __DimDiametric_FWD_DEFINED__ */


#ifndef __DimOrdinate_FWD_DEFINED__
#define __DimOrdinate_FWD_DEFINED__

#ifdef __cplusplus
typedef class DimOrdinate DimOrdinate;
#else
typedef struct DimOrdinate DimOrdinate;
#endif /* __cplusplus */

#endif 	/* __DimOrdinate_FWD_DEFINED__ */


#ifndef __DimRadial_FWD_DEFINED__
#define __DimRadial_FWD_DEFINED__

#ifdef __cplusplus
typedef class DimRadial DimRadial;
#else
typedef struct DimRadial DimRadial;
#endif /* __cplusplus */

#endif 	/* __DimRadial_FWD_DEFINED__ */


#ifndef __DimRotated_FWD_DEFINED__
#define __DimRotated_FWD_DEFINED__

#ifdef __cplusplus
typedef class DimRotated DimRotated;
#else
typedef struct DimRotated DimRotated;
#endif /* __cplusplus */

#endif 	/* __DimRotated_FWD_DEFINED__ */


#ifndef __Dim3PointAngular_FWD_DEFINED__
#define __Dim3PointAngular_FWD_DEFINED__

#ifdef __cplusplus
typedef class Dim3PointAngular Dim3PointAngular;
#else
typedef struct Dim3PointAngular Dim3PointAngular;
#endif /* __cplusplus */

#endif 	/* __Dim3PointAngular_FWD_DEFINED__ */


#ifndef __ModelSpace_FWD_DEFINED__
#define __ModelSpace_FWD_DEFINED__

#ifdef __cplusplus
typedef class ModelSpace ModelSpace;
#else
typedef struct ModelSpace ModelSpace;
#endif /* __cplusplus */

#endif 	/* __ModelSpace_FWD_DEFINED__ */


#ifndef __PaperSpace_FWD_DEFINED__
#define __PaperSpace_FWD_DEFINED__

#ifdef __cplusplus
typedef class PaperSpace PaperSpace;
#else
typedef struct PaperSpace PaperSpace;
#endif /* __cplusplus */

#endif 	/* __PaperSpace_FWD_DEFINED__ */


#ifndef __Document_FWD_DEFINED__
#define __Document_FWD_DEFINED__

#ifdef __cplusplus
typedef class Document Document;
#else
typedef struct Document Document;
#endif /* __cplusplus */

#endif 	/* __Document_FWD_DEFINED__ */


#ifndef __DocumentPreferences_FWD_DEFINED__
#define __DocumentPreferences_FWD_DEFINED__

#ifdef __cplusplus
typedef class DocumentPreferences DocumentPreferences;
#else
typedef struct DocumentPreferences DocumentPreferences;
#endif /* __cplusplus */

#endif 	/* __DocumentPreferences_FWD_DEFINED__ */


#ifndef __Entity_FWD_DEFINED__
#define __Entity_FWD_DEFINED__

#ifdef __cplusplus
typedef class Entity Entity;
#else
typedef struct Entity Entity;
#endif /* __cplusplus */

#endif 	/* __Entity_FWD_DEFINED__ */


#ifndef __Face3D_FWD_DEFINED__
#define __Face3D_FWD_DEFINED__

#ifdef __cplusplus
typedef class Face3D Face3D;
#else
typedef struct Face3D Face3D;
#endif /* __cplusplus */

#endif 	/* __Face3D_FWD_DEFINED__ */


#ifndef __Polyline3D_FWD_DEFINED__
#define __Polyline3D_FWD_DEFINED__

#ifdef __cplusplus
typedef class Polyline3D Polyline3D;
#else
typedef struct Polyline3D Polyline3D;
#endif /* __cplusplus */

#endif 	/* __Polyline3D_FWD_DEFINED__ */


#ifndef __Arc_FWD_DEFINED__
#define __Arc_FWD_DEFINED__

#ifdef __cplusplus
typedef class Arc Arc;
#else
typedef struct Arc Arc;
#endif /* __cplusplus */

#endif 	/* __Arc_FWD_DEFINED__ */


#ifndef __AttributeDef_FWD_DEFINED__
#define __AttributeDef_FWD_DEFINED__

#ifdef __cplusplus
typedef class AttributeDef AttributeDef;
#else
typedef struct AttributeDef AttributeDef;
#endif /* __cplusplus */

#endif 	/* __AttributeDef_FWD_DEFINED__ */


#ifndef __Attribute_FWD_DEFINED__
#define __Attribute_FWD_DEFINED__

#ifdef __cplusplus
typedef class Attribute Attribute;
#else
typedef struct Attribute Attribute;
#endif /* __cplusplus */

#endif 	/* __Attribute_FWD_DEFINED__ */


#ifndef __Attributes_FWD_DEFINED__
#define __Attributes_FWD_DEFINED__

#ifdef __cplusplus
typedef class Attributes Attributes;
#else
typedef struct Attributes Attributes;
#endif /* __cplusplus */

#endif 	/* __Attributes_FWD_DEFINED__ */


#ifndef __BlockInsert_FWD_DEFINED__
#define __BlockInsert_FWD_DEFINED__

#ifdef __cplusplus
typedef class BlockInsert BlockInsert;
#else
typedef struct BlockInsert BlockInsert;
#endif /* __cplusplus */

#endif 	/* __BlockInsert_FWD_DEFINED__ */


#ifndef __Circle_FWD_DEFINED__
#define __Circle_FWD_DEFINED__

#ifdef __cplusplus
typedef class Circle Circle;
#else
typedef struct Circle Circle;
#endif /* __cplusplus */

#endif 	/* __Circle_FWD_DEFINED__ */


#ifndef __Ellipse_FWD_DEFINED__
#define __Ellipse_FWD_DEFINED__

#ifdef __cplusplus
typedef class Ellipse Ellipse;
#else
typedef struct Ellipse Ellipse;
#endif /* __cplusplus */

#endif 	/* __Ellipse_FWD_DEFINED__ */


#ifndef __Hatch_FWD_DEFINED__
#define __Hatch_FWD_DEFINED__

#ifdef __cplusplus
typedef class Hatch Hatch;
#else
typedef struct Hatch Hatch;
#endif /* __cplusplus */

#endif 	/* __Hatch_FWD_DEFINED__ */


#ifndef __Leader_FWD_DEFINED__
#define __Leader_FWD_DEFINED__

#ifdef __cplusplus
typedef class Leader Leader;
#else
typedef struct Leader Leader;
#endif /* __cplusplus */

#endif 	/* __Leader_FWD_DEFINED__ */


#ifndef __Line_FWD_DEFINED__
#define __Line_FWD_DEFINED__

#ifdef __cplusplus
typedef class Line Line;
#else
typedef struct Line Line;
#endif /* __cplusplus */

#endif 	/* __Line_FWD_DEFINED__ */


#ifndef __LWPolyline_FWD_DEFINED__
#define __LWPolyline_FWD_DEFINED__

#ifdef __cplusplus
typedef class LWPolyline LWPolyline;
#else
typedef struct LWPolyline LWPolyline;
#endif /* __cplusplus */

#endif 	/* __LWPolyline_FWD_DEFINED__ */


#ifndef __MText_FWD_DEFINED__
#define __MText_FWD_DEFINED__

#ifdef __cplusplus
typedef class MText MText;
#else
typedef struct MText MText;
#endif /* __cplusplus */

#endif 	/* __MText_FWD_DEFINED__ */


#ifndef __PointEntity_FWD_DEFINED__
#define __PointEntity_FWD_DEFINED__

#ifdef __cplusplus
typedef class PointEntity PointEntity;
#else
typedef struct PointEntity PointEntity;
#endif /* __cplusplus */

#endif 	/* __PointEntity_FWD_DEFINED__ */


#ifndef __Polyline_FWD_DEFINED__
#define __Polyline_FWD_DEFINED__

#ifdef __cplusplus
typedef class Polyline Polyline;
#else
typedef struct Polyline Polyline;
#endif /* __cplusplus */

#endif 	/* __Polyline_FWD_DEFINED__ */


#ifndef __PolygonMesh_FWD_DEFINED__
#define __PolygonMesh_FWD_DEFINED__

#ifdef __cplusplus
typedef class PolygonMesh PolygonMesh;
#else
typedef struct PolygonMesh PolygonMesh;
#endif /* __cplusplus */

#endif 	/* __PolygonMesh_FWD_DEFINED__ */


#ifndef __PolyfaceMesh_FWD_DEFINED__
#define __PolyfaceMesh_FWD_DEFINED__

#ifdef __cplusplus
typedef class PolyfaceMesh PolyfaceMesh;
#else
typedef struct PolyfaceMesh PolyfaceMesh;
#endif /* __cplusplus */

#endif 	/* __PolyfaceMesh_FWD_DEFINED__ */


#ifndef __PViewport_FWD_DEFINED__
#define __PViewport_FWD_DEFINED__

#ifdef __cplusplus
typedef class PViewport PViewport;
#else
typedef struct PViewport PViewport;
#endif /* __cplusplus */

#endif 	/* __PViewport_FWD_DEFINED__ */


#ifndef __Image_FWD_DEFINED__
#define __Image_FWD_DEFINED__

#ifdef __cplusplus
typedef class Image Image;
#else
typedef struct Image Image;
#endif /* __cplusplus */

#endif 	/* __Image_FWD_DEFINED__ */


#ifndef __Ray_FWD_DEFINED__
#define __Ray_FWD_DEFINED__

#ifdef __cplusplus
typedef class Ray Ray;
#else
typedef struct Ray Ray;
#endif /* __cplusplus */

#endif 	/* __Ray_FWD_DEFINED__ */


#ifndef __Shape_FWD_DEFINED__
#define __Shape_FWD_DEFINED__

#ifdef __cplusplus
typedef class Shape Shape;
#else
typedef struct Shape Shape;
#endif /* __cplusplus */

#endif 	/* __Shape_FWD_DEFINED__ */


#ifndef __Solid_FWD_DEFINED__
#define __Solid_FWD_DEFINED__

#ifdef __cplusplus
typedef class Solid Solid;
#else
typedef struct Solid Solid;
#endif /* __cplusplus */

#endif 	/* __Solid_FWD_DEFINED__ */


#ifndef __Spline_FWD_DEFINED__
#define __Spline_FWD_DEFINED__

#ifdef __cplusplus
typedef class Spline Spline;
#else
typedef struct Spline Spline;
#endif /* __cplusplus */

#endif 	/* __Spline_FWD_DEFINED__ */


#ifndef __Text_FWD_DEFINED__
#define __Text_FWD_DEFINED__

#ifdef __cplusplus
typedef class Text Text;
#else
typedef struct Text Text;
#endif /* __cplusplus */

#endif 	/* __Text_FWD_DEFINED__ */


#ifndef __Tolerance_FWD_DEFINED__
#define __Tolerance_FWD_DEFINED__

#ifdef __cplusplus
typedef class Tolerance Tolerance;
#else
typedef struct Tolerance Tolerance;
#endif /* __cplusplus */

#endif 	/* __Tolerance_FWD_DEFINED__ */


#ifndef __Trace_FWD_DEFINED__
#define __Trace_FWD_DEFINED__

#ifdef __cplusplus
typedef class Trace Trace;
#else
typedef struct Trace Trace;
#endif /* __cplusplus */

#endif 	/* __Trace_FWD_DEFINED__ */


#ifndef __InfiniteLine_FWD_DEFINED__
#define __InfiniteLine_FWD_DEFINED__

#ifdef __cplusplus
typedef class InfiniteLine InfiniteLine;
#else
typedef struct InfiniteLine InfiniteLine;
#endif /* __cplusplus */

#endif 	/* __InfiniteLine_FWD_DEFINED__ */


#ifndef __ExternalReference_FWD_DEFINED__
#define __ExternalReference_FWD_DEFINED__

#ifdef __cplusplus
typedef class ExternalReference ExternalReference;
#else
typedef struct ExternalReference ExternalReference;
#endif /* __cplusplus */

#endif 	/* __ExternalReference_FWD_DEFINED__ */


#ifndef __Documents_FWD_DEFINED__
#define __Documents_FWD_DEFINED__

#ifdef __cplusplus
typedef class Documents Documents;
#else
typedef struct Documents Documents;
#endif /* __cplusplus */

#endif 	/* __Documents_FWD_DEFINED__ */


#ifndef __Windows_FWD_DEFINED__
#define __Windows_FWD_DEFINED__

#ifdef __cplusplus
typedef class Windows Windows;
#else
typedef struct Windows Windows;
#endif /* __cplusplus */

#endif 	/* __Windows_FWD_DEFINED__ */


#ifndef __Window_FWD_DEFINED__
#define __Window_FWD_DEFINED__

#ifdef __cplusplus
typedef class Window Window;
#else
typedef struct Window Window;
#endif /* __cplusplus */

#endif 	/* __Window_FWD_DEFINED__ */


#ifndef __Application_FWD_DEFINED__
#define __Application_FWD_DEFINED__

#ifdef __cplusplus
typedef class Application Application;
#else
typedef struct Application Application;
#endif /* __cplusplus */

#endif 	/* __Application_FWD_DEFINED__ */


#ifndef __Workspace_FWD_DEFINED__
#define __Workspace_FWD_DEFINED__

#ifdef __cplusplus
typedef class Workspace Workspace;
#else
typedef struct Workspace Workspace;
#endif /* __cplusplus */

#endif 	/* __Workspace_FWD_DEFINED__ */


#ifndef __ApplicationPreferences_FWD_DEFINED__
#define __ApplicationPreferences_FWD_DEFINED__

#ifdef __cplusplus
typedef class ApplicationPreferences ApplicationPreferences;
#else
typedef struct ApplicationPreferences ApplicationPreferences;
#endif /* __cplusplus */

#endif 	/* __ApplicationPreferences_FWD_DEFINED__ */


#ifndef __Point_FWD_DEFINED__
#define __Point_FWD_DEFINED__

#ifdef __cplusplus
typedef class Point Point;
#else
typedef struct Point Point;
#endif /* __cplusplus */

#endif 	/* __Point_FWD_DEFINED__ */


#ifndef __Points_FWD_DEFINED__
#define __Points_FWD_DEFINED__

#ifdef __cplusplus
typedef class Points Points;
#else
typedef struct Points Points;
#endif /* __cplusplus */

#endif 	/* __Points_FWD_DEFINED__ */


#ifndef __Vector_FWD_DEFINED__
#define __Vector_FWD_DEFINED__

#ifdef __cplusplus
typedef class Vector Vector;
#else
typedef struct Vector Vector;
#endif /* __cplusplus */

#endif 	/* __Vector_FWD_DEFINED__ */


#ifndef __Matrix_FWD_DEFINED__
#define __Matrix_FWD_DEFINED__

#ifdef __cplusplus
typedef class Matrix Matrix;
#else
typedef struct Matrix Matrix;
#endif /* __cplusplus */

#endif 	/* __Matrix_FWD_DEFINED__ */


#ifndef __Library_FWD_DEFINED__
#define __Library_FWD_DEFINED__

#ifdef __cplusplus
typedef class Library Library;
#else
typedef struct Library Library;
#endif /* __cplusplus */

#endif 	/* __Library_FWD_DEFINED__ */


#ifndef __Utility_FWD_DEFINED__
#define __Utility_FWD_DEFINED__

#ifdef __cplusplus
typedef class Utility Utility;
#else
typedef struct Utility Utility;
#endif /* __cplusplus */

#endif 	/* __Utility_FWD_DEFINED__ */


#ifndef __RegisteredApplication_FWD_DEFINED__
#define __RegisteredApplication_FWD_DEFINED__

#ifdef __cplusplus
typedef class RegisteredApplication RegisteredApplication;
#else
typedef struct RegisteredApplication RegisteredApplication;
#endif /* __cplusplus */

#endif 	/* __RegisteredApplication_FWD_DEFINED__ */


#ifndef __RegisteredApplications_FWD_DEFINED__
#define __RegisteredApplications_FWD_DEFINED__

#ifdef __cplusplus
typedef class RegisteredApplications RegisteredApplications;
#else
typedef struct RegisteredApplications RegisteredApplications;
#endif /* __cplusplus */

#endif 	/* __RegisteredApplications_FWD_DEFINED__ */


#ifndef __Block_FWD_DEFINED__
#define __Block_FWD_DEFINED__

#ifdef __cplusplus
typedef class Block Block;
#else
typedef struct Block Block;
#endif /* __cplusplus */

#endif 	/* __Block_FWD_DEFINED__ */


#ifndef __Blocks_FWD_DEFINED__
#define __Blocks_FWD_DEFINED__

#ifdef __cplusplus
typedef class Blocks Blocks;
#else
typedef struct Blocks Blocks;
#endif /* __cplusplus */

#endif 	/* __Blocks_FWD_DEFINED__ */


#ifndef __DimensionStyle_FWD_DEFINED__
#define __DimensionStyle_FWD_DEFINED__

#ifdef __cplusplus
typedef class DimensionStyle DimensionStyle;
#else
typedef struct DimensionStyle DimensionStyle;
#endif /* __cplusplus */

#endif 	/* __DimensionStyle_FWD_DEFINED__ */


#ifndef __DimensionStyles_FWD_DEFINED__
#define __DimensionStyles_FWD_DEFINED__

#ifdef __cplusplus
typedef class DimensionStyles DimensionStyles;
#else
typedef struct DimensionStyles DimensionStyles;
#endif /* __cplusplus */

#endif 	/* __DimensionStyles_FWD_DEFINED__ */


#ifndef __Layer_FWD_DEFINED__
#define __Layer_FWD_DEFINED__

#ifdef __cplusplus
typedef class Layer Layer;
#else
typedef struct Layer Layer;
#endif /* __cplusplus */

#endif 	/* __Layer_FWD_DEFINED__ */


#ifndef __Layers_FWD_DEFINED__
#define __Layers_FWD_DEFINED__

#ifdef __cplusplus
typedef class Layers Layers;
#else
typedef struct Layers Layers;
#endif /* __cplusplus */

#endif 	/* __Layers_FWD_DEFINED__ */


#ifndef __Linetype_FWD_DEFINED__
#define __Linetype_FWD_DEFINED__

#ifdef __cplusplus
typedef class Linetype Linetype;
#else
typedef struct Linetype Linetype;
#endif /* __cplusplus */

#endif 	/* __Linetype_FWD_DEFINED__ */


#ifndef __Linetypes_FWD_DEFINED__
#define __Linetypes_FWD_DEFINED__

#ifdef __cplusplus
typedef class Linetypes Linetypes;
#else
typedef struct Linetypes Linetypes;
#endif /* __cplusplus */

#endif 	/* __Linetypes_FWD_DEFINED__ */


#ifndef __TextStyle_FWD_DEFINED__
#define __TextStyle_FWD_DEFINED__

#ifdef __cplusplus
typedef class TextStyle TextStyle;
#else
typedef struct TextStyle TextStyle;
#endif /* __cplusplus */

#endif 	/* __TextStyle_FWD_DEFINED__ */


#ifndef __TextStyles_FWD_DEFINED__
#define __TextStyles_FWD_DEFINED__

#ifdef __cplusplus
typedef class TextStyles TextStyles;
#else
typedef struct TextStyles TextStyles;
#endif /* __cplusplus */

#endif 	/* __TextStyles_FWD_DEFINED__ */


#ifndef __UserCoordSystem_FWD_DEFINED__
#define __UserCoordSystem_FWD_DEFINED__

#ifdef __cplusplus
typedef class UserCoordSystem UserCoordSystem;
#else
typedef struct UserCoordSystem UserCoordSystem;
#endif /* __cplusplus */

#endif 	/* __UserCoordSystem_FWD_DEFINED__ */


#ifndef __UserCoordSystems_FWD_DEFINED__
#define __UserCoordSystems_FWD_DEFINED__

#ifdef __cplusplus
typedef class UserCoordSystems UserCoordSystems;
#else
typedef struct UserCoordSystems UserCoordSystems;
#endif /* __cplusplus */

#endif 	/* __UserCoordSystems_FWD_DEFINED__ */


#ifndef __View_FWD_DEFINED__
#define __View_FWD_DEFINED__

#ifdef __cplusplus
typedef class View View;
#else
typedef struct View View;
#endif /* __cplusplus */

#endif 	/* __View_FWD_DEFINED__ */


#ifndef __Views_FWD_DEFINED__
#define __Views_FWD_DEFINED__

#ifdef __cplusplus
typedef class Views Views;
#else
typedef struct Views Views;
#endif /* __cplusplus */

#endif 	/* __Views_FWD_DEFINED__ */


#ifndef __Viewport_FWD_DEFINED__
#define __Viewport_FWD_DEFINED__

#ifdef __cplusplus
typedef class Viewport Viewport;
#else
typedef struct Viewport Viewport;
#endif /* __cplusplus */

#endif 	/* __Viewport_FWD_DEFINED__ */


#ifndef __Viewports_FWD_DEFINED__
#define __Viewports_FWD_DEFINED__

#ifdef __cplusplus
typedef class Viewports Viewports;
#else
typedef struct Viewports Viewports;
#endif /* __cplusplus */

#endif 	/* __Viewports_FWD_DEFINED__ */


#ifndef __SelectionSet_FWD_DEFINED__
#define __SelectionSet_FWD_DEFINED__

#ifdef __cplusplus
typedef class SelectionSet SelectionSet;
#else
typedef struct SelectionSet SelectionSet;
#endif /* __cplusplus */

#endif 	/* __SelectionSet_FWD_DEFINED__ */


#ifndef __SelectionSets_FWD_DEFINED__
#define __SelectionSets_FWD_DEFINED__

#ifdef __cplusplus
typedef class SelectionSets SelectionSets;
#else
typedef struct SelectionSets SelectionSets;
#endif /* __cplusplus */

#endif 	/* __SelectionSets_FWD_DEFINED__ */


#ifndef __PlotterPen_FWD_DEFINED__
#define __PlotterPen_FWD_DEFINED__

#ifdef __cplusplus
typedef class PlotterPen PlotterPen;
#else
typedef struct PlotterPen PlotterPen;
#endif /* __cplusplus */

#endif 	/* __PlotterPen_FWD_DEFINED__ */


#ifndef __PlotterPens_FWD_DEFINED__
#define __PlotterPens_FWD_DEFINED__

#ifdef __cplusplus
typedef class PlotterPens PlotterPens;
#else
typedef struct PlotterPens PlotterPens;
#endif /* __cplusplus */

#endif 	/* __PlotterPens_FWD_DEFINED__ */


#ifndef __PlotDeviceConfig_FWD_DEFINED__
#define __PlotDeviceConfig_FWD_DEFINED__

#ifdef __cplusplus
typedef class PlotDeviceConfig PlotDeviceConfig;
#else
typedef struct PlotDeviceConfig PlotDeviceConfig;
#endif /* __cplusplus */

#endif 	/* __PlotDeviceConfig_FWD_DEFINED__ */


#ifndef __PlotProperties_FWD_DEFINED__
#define __PlotProperties_FWD_DEFINED__

#ifdef __cplusplus
typedef class PlotProperties PlotProperties;
#else
typedef struct PlotProperties PlotProperties;
#endif /* __cplusplus */

#endif 	/* __PlotProperties_FWD_DEFINED__ */


#ifndef __PlotManager_FWD_DEFINED__
#define __PlotManager_FWD_DEFINED__

#ifdef __cplusplus
typedef class PlotManager PlotManager;
#else
typedef struct PlotManager PlotManager;
#endif /* __cplusplus */

#endif 	/* __PlotManager_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"

void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 

/* interface __MIDL_itf_Icad_0000 */
/* [local] */ 



































































































































typedef /* [helpstring][uuid] */ 
enum AttachmentPoint
    {	vicAttachmentPointTopLeft	= 1,
	vicAttachmentPointTopCenter	= 2,
	vicAttachmentPointTopRight	= 3,
	vicAttachmentPointMiddleLeft	= 4,
	vicAttachmentPointMiddleCenter	= 5,
	vicAttachmentPointMiddleRight	= 6,
	vicAttachmentPointBottomLeft	= 7,
	vicAttachmentPointBottomCenter	= 8,
	vicAttachmentPointBottomRight	= 9
    }	AttachmentPoint;

typedef /* [helpstring][uuid] */ 
enum TextFlag
    {	vicTextFlagNormal	= 0,
	vicTextFlagBackward	= 2,
	vicTextFlagUpsideDown	= 4
    }	TextFlag;

typedef /* [helpstring][uuid] */ 
enum DrawingDirection
    {	vicLeftToRight	= 1,
	vicRightToLeft	= 2,
	vicTopToBottom	= 3,
	vicBottomToTop	= 4
    }	DrawingDirection;

typedef /* [helpstring][uuid] */ 
enum AttributeMode
    {	vicAttributeModeNormal	= 0,
	vicAttributeModeInvisible	= 1,
	vicAttributeModeConstant	= 2,
	vicAttributeModeVerify	= 4,
	vicAttributeModePreset	= 8
    }	AttributeMode;

typedef /* [helpstring][uuid] */ 
enum Colors
    {	vicVariousColors	= -2,
	vicColorXOr	= -1,
	vicByBlock	= 0,
	vicRed	= 1,
	vicYellow	= 2,
	vicGreen	= 3,
	vicCyan	= 4,
	vicBlue	= 5,
	vicMagenta	= 6,
	vicWhite	= 7,
	vicByLayer	= 256
    }	Colors;

typedef /* [helpstring][uuid] */ 
enum DistanceUnits
    {	vicScientific	= 1,
	vicDecimal	= 2,
	vicEngineering	= 3,
	vicArchitectural	= 4,
	vicFractional	= 5
    }	DistanceUnits;

typedef /* [helpstring][uuid] */ 
enum AngleUnits
    {	vicDegrees	= 0,
	vicDegreeMinuteSeconds	= 1,
	vicGrads	= 2,
	vicRadians	= 3,
	vicSurveyorUnits	= 4
    }	AngleUnits;

typedef /* [helpstring][uuid] */ 
enum EntityType
    {	vicUnknownEntity	= 0,
	vic3dFace	= vicUnknownEntity + 1,
	vic3dPoly	= vic3dFace + 1,
	vicArc	= vic3dPoly + 1,
	vicAttribute	= vicArc + 1,
	vicAttributeDef	= vicAttribute + 1,
	vicBlockInsert	= vicAttributeDef + 1,
	vicCircle	= vicBlockInsert + 1,
	vicDim3PointAngular	= vicCircle + 1,
	vicDimAligned	= vicDim3PointAngular + 1,
	vicDimAngular	= vicDimAligned + 1,
	vicDimDiametric	= vicDimAngular + 1,
	vicDimOrdinate	= vicDimDiametric + 1,
	vicDimRadial	= vicDimOrdinate + 1,
	vicDimRotated	= vicDimRadial + 1,
	vicEllipse	= vicDimRotated + 1,
	vicExternalReference	= vicEllipse + 1,
	vicHatch	= vicExternalReference + 1,
	vicImage	= vicHatch + 1,
	vicInfiniteLine	= vicImage + 1,
	vicLeader	= vicInfiniteLine + 1,
	vicLine	= vicLeader + 1,
	vicLWPolyline	= vicLine + 1,
	vicMtext	= vicLWPolyline + 1,
	vicPointEntity	= vicMtext + 1,
	vicPolyline	= vicPointEntity + 1,
	vicPolygonMesh	= vicPolyline + 1,
	vicPolyfaceMesh	= vicPolygonMesh + 1,
	vicPViewport	= vicPolyfaceMesh + 1,
	vicRay	= vicPViewport + 1,
	vicShape	= vicRay + 1,
	vicSolid	= vicShape + 1,
	vicSpline	= vicSolid + 1,
	vicText	= vicSpline + 1,
	vicTolerance	= vicText + 1,
	vicTrace	= vicTolerance + 1
    }	EntityType;

typedef /* [helpstring][uuid] */ 
enum PMSpace
    {	vicModelSpace	= 0,
	vicPaperSpace	= vicModelSpace + 1
    }	PMSpace;

typedef /* [helpstring][uuid] */ 
enum HatchStyle
    {	vicHatchStyleNormal	= 0,
	vicHatchStyleOuter	= vicHatchStyleNormal + 1,
	vicHatchStyleIgnore	= vicHatchStyleOuter + 1
    }	HatchStyle;

typedef /* [helpstring][uuid] */ 
enum HatchType
    {	vicHatchPatternTypeUserDefined	= 0,
	vicHatchPatternTypePreDefined	= vicHatchPatternTypeUserDefined + 1,
	vicHatchPatternTypeCustomDefined	= vicHatchPatternTypePreDefined + 1
    }	HatchType;

typedef /* [helpstring][uuid] */ 
enum HorizontalAlignment
    {	vicHorizontalAlignmentLeft	= 0,
	vicHorizontalAlignmentCenter	= vicHorizontalAlignmentLeft + 1,
	vicHorizontalAlignmentRight	= vicHorizontalAlignmentCenter + 1,
	vicHorizontalAlignmentAligned	= vicHorizontalAlignmentRight + 1,
	vicHorizontalAlignmentMiddle	= vicHorizontalAlignmentAligned + 1,
	vicHorizontalAlignmentFit	= vicHorizontalAlignmentMiddle + 1
    }	HorizontalAlignment;

typedef /* [helpstring][uuid] */ 
enum VerticalAlignment
    {	vicVerticalAlignmentBaseline	= 0,
	vicVerticalAlignmentBottom	= vicVerticalAlignmentBaseline + 1,
	vicVerticalAlignmentMiddle	= vicVerticalAlignmentBottom + 1,
	vicVerticalAlignmentTop	= vicVerticalAlignmentMiddle + 1
    }	VerticalAlignment;

typedef /* [helpstring][uuid] */ 
enum LeaderType
    {	vicLineNoArrow	= 0,
	vicSplineNoArrow	= 1,
	vicLineWithArrow	= 2,
	vicSplineWithArrow	= 3
    }	LeaderType;

typedef /* [helpstring][uuid] */ 
enum IntersectOptions
    {	vicExtendNone	= 0,
	vicExtendThisEntity	= vicExtendNone + 1,
	vicExtendOtherEntity	= vicExtendThisEntity + 1,
	vicExtendBoth	= vicExtendOtherEntity + 1
    }	IntersectOptions;

typedef /* [helpstring][uuid] */ 
enum ObjectSnapMode
    {	vicOsnapNone	= 0,
	vicOsnapEnd	= 1,
	vicOsnapMid	= 2,
	vicOsnapCenter	= 4,
	vicOsnapNode	= 8,
	vicOsnapQuadrant	= 16,
	vicOsnapIntersection	= 32,
	vicOsnapInsert	= 64,
	vicOsnapPerpendicular	= 128,
	vicOsnapTangent	= 256,
	vicOsnapNear	= 512,
	vicOsnapQuick	= 1024,
	vicOsnapPlanViewIntersection	= 2048,
	vicOsnapPoint	= 4096
    }	ObjectSnapMode;

typedef /* [helpstring][uuid] */ 
enum PolylineType
    {	vicSimplePoly	= 0,
	vicFitCurvePoly	= vicSimplePoly + 1,
	vicQuadSplinePoly	= vicFitCurvePoly + 1,
	vicCubicSplinePoly	= vicQuadSplinePoly + 1
    }	PolylineType;

typedef /* [helpstring][uuid] */ 
enum SelectionSetType
    {	vicSelectionSetCrossingPolygon	= 0,
	vicSelectionSetOutsidePolygon	= vicSelectionSetCrossingPolygon + 1,
	vicSelectionSetInsidePolygon	= vicSelectionSetOutsidePolygon + 1,
	vicSelectionSetCrossingCircle	= vicSelectionSetInsidePolygon + 1,
	vicSelectionSetOutsideCircle	= vicSelectionSetCrossingCircle + 1,
	vicSelectionSetInsideCircle	= vicSelectionSetOutsideCircle + 1,
	vicSelectionSetCrossingWindow	= vicSelectionSetInsideCircle + 1,
	vicSelectionSetOutsideWindow	= vicSelectionSetCrossingWindow + 1,
	vicSelectionSetInsideWindow	= vicSelectionSetOutsideWindow + 1,
	vicSelectionSetPrevious	= vicSelectionSetInsideWindow + 1,
	vicSelectionSetLast	= vicSelectionSetPrevious + 1,
	vicSelectionSetAll	= vicSelectionSetLast + 1,
	vicSelectionSetFence	= vicSelectionSetAll + 1
    }	SelectionSetType;

typedef /* [helpstring][uuid] */ 
enum CoordinateSystemTypes
    {	vicWorld	= 0,
	vicUCS	= 1,
	vicDisplayDCS	= 2,
	vicPaperSpaceDCS	= 3
    }	CoordinateSystemTypes;

typedef /* [helpstring][uuid] */ 
enum ViewMode
    {	vicViewModeNormal	= 0,
	vicViewModePerspectiveOn	= 1,
	vicViewModeFrontClippingOn	= 2,
	vicViewModeBackClippingOn	= 4,
	vicViewModeUCSFollowOn	= 8
    }	ViewMode;

typedef /* [helpstring][uuid] */ 
enum ZoomScale
    {	vicZoomScaledAbsolute	= 0,
	vicZoomScaledRelative	= vicZoomScaledAbsolute + 1,
	vicZoomScaledRelativePSpace	= vicZoomScaledRelative + 1
    }	ZoomScale;

typedef /* [helpstring][uuid] */ 
enum ArrangeStyle
    {	vicArrangeTileVertical	= 1,
	vicArrangeTileHorizontal	= 2,
	vicArrangeCascade	= 3
    }	ArrangeStyle;

typedef /* [helpstring][uuid] */ 
enum WhichViewport
    {	vicActiveViewport	= 0,
	vicAllViewports	= vicActiveViewport + 1
    }	WhichViewport;

typedef /* [helpstring][uuid] */ 
enum PolygonMeshType
    {	vicSimpleMesh	= 0,
	vicQuadSurfaceMesh	= 5,
	vicCubicSurfaceMesh	= 6,
	vicBezierSurfaceMesh	= 8
    }	PolygonMeshType;

typedef /* [helpstring][uuid] */ 
enum FileVersions
    {	vicVersionR2_5	= 0,
	vicVersionR2_6	= 1,
	vicVersionR9	= 2,
	vicVersionR10	= 3,
	vicVersionR11_12	= 4,
	vicVersionR13	= 5,
	vicVersionR14	= 6,
	vicVersionR2000	= 7
    }	FileVersions;

typedef /* [helpstring][uuid] */ 
enum ScrollFlagsX
    {	vicScrollNoneX	= 9,
	vicScrollLeft	= 0,
	vicScrollLeftPage	= 2,
	vicScrollRight	= 1,
	vicScrollRightPage	= 3,
	vicScrollToLeft	= 6,
	vicScrollToRight	= 7
    }	ScrollFlagsX;

typedef /* [helpstring][uuid] */ 
enum ScrollFlagsY
    {	vicScrollNoneY	= 9,
	vicScrollUp	= 0,
	vicScrollUpPage	= 2,
	vicScrollDown	= 1,
	vicScrollDownPage	= 3,
	vicScrollToTop	= 6,
	vicScrollToBottom	= 7
    }	ScrollFlagsY;

typedef /* [helpstring][uuid] */ 
enum WindowState
    {	vicWSNone	= 0,
	vicWSDockedLeft	= 1,
	vicWSDockedTop	= 2,
	vicWSDockedRight	= 4,
	vicWSDockedBottom	= 8,
	vicWSFloating	= 16,
	vicWSAnchorLeft	= 32,
	vicWSAnchorTop	= 64,
	vicWSAnchorRight	= 128,
	vicWSAnchorBottom	= 256,
	vicWSAnchorAutoHide	= 512,
	vicWSVisible	= 134217728,
	vicWSRestored	= 268435456,
	vicWSMinimized	= 536870912,
	vicWSMaximized	= 1073741824
    }	WindowState;

typedef /* [helpstring][uuid] */ 
enum TextFontStyle
    {	vicFontRegular	= 0,
	vicFontItalic	= vicFontRegular + 1,
	vicFontBold	= vicFontItalic + 1,
	vicFontBoldItalic	= vicFontBold + 1
    }	TextFontStyle;

typedef /* [helpstring][uuid] */ 
enum DimTextMovement
    {	vicDimLineWithText	= 0,
	vicMoveTextAddLeader	= vicDimLineWithText + 1,
	vicMoveTextNoLeader	= vicMoveTextAddLeader + 1
    }	DimTextMovement;

typedef /* [helpstring][uuid] */ 
enum DimToleranceMethod
    {	vicTolNone	= 0,
	vicTolSymmetrical	= vicTolNone + 1,
	vicTolDeviation	= vicTolSymmetrical + 1,
	vicTolLimits	= vicTolDeviation + 1,
	vicTolBasic	= vicTolLimits + 1
    }	DimToleranceMethod;

typedef /* [helpstring][uuid] */ 
enum DimToleranceJustify
    {	vicTolTop	= 0,
	vicTolMiddle	= vicTolTop + 1,
	vicTolBottom	= vicTolMiddle + 1
    }	DimToleranceJustify;

typedef /* [helpstring][uuid] */ 
enum DimPrecision
    {	vicDimPrecisionZero	= 0,
	vicDimPrecisionOne	= vicDimPrecisionZero + 1,
	vicDimPrecisionTwo	= vicDimPrecisionOne + 1,
	vicDimPrecisionThree	= vicDimPrecisionTwo + 1,
	vicDimPrecisionFour	= vicDimPrecisionThree + 1,
	vicDimPrecisionFive	= vicDimPrecisionFour + 1,
	vicDimPrecisionSix	= vicDimPrecisionFive + 1,
	vicDimPrecisionSeven	= vicDimPrecisionSix + 1,
	vicDimPrecisionEight	= vicDimPrecisionSeven + 1
    }	DimPrecision;

typedef /* [helpstring][uuid] */ 
enum DimLUnits
    {	vicDimLScientific	= 0,
	vicDimLDecimal	= vicDimLScientific + 1,
	vicDimLEngineering	= vicDimLDecimal + 1,
	vicDimLArchitectural	= vicDimLEngineering + 1,
	vicDimLFractional	= vicDimLArchitectural + 1,
	vicDimLWindowsDesktop	= vicDimLFractional + 1
    }	DimLUnits;

typedef /* [helpstring][uuid] */ 
enum DimVerticalJustification
    {	vicVertCentered	= 0,
	vicAbove	= vicVertCentered + 1,
	vicOutside	= vicAbove + 1,
	vicJIS	= vicOutside + 1
    }	DimVerticalJustification;

typedef /* [helpstring][uuid] */ 
enum DimHorizontalJustification
    {	vicHorzCentered	= 0,
	vicFirstExtensionLine	= vicHorzCentered + 1,
	vicSecondExtensionLine	= vicFirstExtensionLine + 1,
	vicOverFirstExtension	= vicSecondExtensionLine + 1,
	vicOverSecondExtension	= vicOverFirstExtension + 1
    }	DimHorizontalJustification;

typedef /* [helpstring][uuid] */ 
enum DimArrowheadType
    {	vicArrowDefault	= 0,
	vicArrowDot	= vicArrowDefault + 1,
	vicArrowDotSmall	= vicArrowDot + 1,
	vicArrowDotBlank	= vicArrowDotSmall + 1,
	vicArrowOrigin	= vicArrowDotBlank + 1,
	vicArrowOrigin2	= vicArrowOrigin + 1,
	vicArrowOpen	= vicArrowOrigin2 + 1,
	vicArrowOpen90	= vicArrowOpen + 1,
	vicArrowOpen30	= vicArrowOpen90 + 1,
	vicArrowClosed	= vicArrowOpen30 + 1,
	vicArrowSmall	= vicArrowClosed + 1,
	vicArrowNone	= vicArrowSmall + 1,
	vicArrowOblique	= vicArrowNone + 1,
	vicArrowBoxFilled	= vicArrowOblique + 1,
	vicArrowBoxBlank	= vicArrowBoxFilled + 1,
	vicArrowClosedBlank	= vicArrowBoxBlank + 1,
	vicArrowDatumFilled	= vicArrowClosedBlank + 1,
	vicArrowDatumBlank	= vicArrowDatumFilled + 1,
	vicArrowIntegral	= vicArrowDatumBlank + 1,
	vicArrowArchTick	= vicArrowIntegral + 1,
	vicArrowUserDefined	= vicArrowArchTick + 1
    }	DimArrowheadType;

typedef /* [helpstring][uuid] */ 
enum DimFit
    {	vicTextAndArrows	= 0,
	vicArrowsOnly	= vicTextAndArrows + 1,
	vicTextOnly	= vicArrowsOnly + 1,
	vicBestFit	= vicTextOnly + 1
    }	DimFit;

typedef /* [helpstring][uuid] */ 
enum DimFractionType
    {	vicHorizontal	= 0,
	vicDiagonal	= vicHorizontal + 1,
	vicNotStacked	= vicDiagonal + 1
    }	DimFractionType;

typedef /* [helpstring][uuid] */ 
enum DimCenterType
    {	vicCenterMark	= 0,
	vicCenterLine	= vicCenterMark + 1,
	vicCenterNone	= vicCenterLine + 1
    }	DimCenterType;

typedef /* [helpstring][uuid] */ 
enum ViewportSplitType
    {	vicViewport2Horizontal	= 0,
	vicViewport2Vertical	= vicViewport2Horizontal + 1,
	vicViewport3Left	= vicViewport2Vertical + 1,
	vicViewport3Right	= vicViewport3Left + 1,
	vicViewport3Horizontal	= vicViewport3Right + 1,
	vicViewport3Vertical	= vicViewport3Horizontal + 1,
	vicViewport3Above	= vicViewport3Vertical + 1,
	vicViewport3Below	= vicViewport3Above + 1,
	vicViewport4	= vicViewport3Below + 1
    }	ViewportSplitType;

typedef /* [helpstring][uuid] */ 
enum UserInputType
    {	vicNoNull	= 1,
	vicNoZero	= 2,
	vicNoNegative	= 4,
	vicNoLimitsCheck	= 8,
	vicUseDashedLines	= 32,
	vicNoZ	= 64,
	vicNoRestrictions	= 128
    }	UserInputType;

typedef /* [uuid] */ 
enum AcWindowState
    {	acNorm	= 1,
	acMin	= 2,
	acMax	= 3
    }	AcWindowState;










extern RPC_IF_HANDLE __MIDL_itf_Icad_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_Icad_0000_v0_0_s_ifspec;

#ifndef __IIcadPoint_INTERFACE_DEFINED__
#define __IIcadPoint_INTERFACE_DEFINED__

/* interface IIcadPoint */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadPoint;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c107-7e36-11d1-bc5a-0060089608a4")
    IIcadPoint : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadLibrary __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PointsCollection( 
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppPoints) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [retval][out] */ double __RPC_FAR *pX) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_x( 
            /* [in] */ double X1) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [retval][out] */ double __RPC_FAR *pY) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_y( 
            /* [in] */ double Y1) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_z( 
            /* [retval][out] */ double __RPC_FAR *pZ) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_z( 
            /* [in] */ double Z1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadPointVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadPoint __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadPoint __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadPoint __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadPoint __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadPoint __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadPoint __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadPoint __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadPoint __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadPoint __RPC_FAR * This,
            /* [retval][out] */ IIcadLibrary __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PointsCollection )( 
            IIcadPoint __RPC_FAR * This,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppPoints);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_x )( 
            IIcadPoint __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pX);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_x )( 
            IIcadPoint __RPC_FAR * This,
            /* [in] */ double X1);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_y )( 
            IIcadPoint __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pY);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_y )( 
            IIcadPoint __RPC_FAR * This,
            /* [in] */ double Y1);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_z )( 
            IIcadPoint __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pZ);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_z )( 
            IIcadPoint __RPC_FAR * This,
            /* [in] */ double Z1);
        
        END_INTERFACE
    } IIcadPointVtbl;

    interface IIcadPoint
    {
        CONST_VTBL struct IIcadPointVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadPoint_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadPoint_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadPoint_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadPoint_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadPoint_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadPoint_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadPoint_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadPoint_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadPoint_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadPoint_get_PointsCollection(This,ppPoints)	\
    (This)->lpVtbl -> get_PointsCollection(This,ppPoints)

#define IIcadPoint_get_x(This,pX)	\
    (This)->lpVtbl -> get_x(This,pX)

#define IIcadPoint_put_x(This,X1)	\
    (This)->lpVtbl -> put_x(This,X1)

#define IIcadPoint_get_y(This,pY)	\
    (This)->lpVtbl -> get_y(This,pY)

#define IIcadPoint_put_y(This,Y1)	\
    (This)->lpVtbl -> put_y(This,Y1)

#define IIcadPoint_get_z(This,pZ)	\
    (This)->lpVtbl -> get_z(This,pZ)

#define IIcadPoint_put_z(This,Z1)	\
    (This)->lpVtbl -> put_z(This,Z1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPoint_get_Application_Proxy( 
    IIcadPoint __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadPoint_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPoint_get_Parent_Proxy( 
    IIcadPoint __RPC_FAR * This,
    /* [retval][out] */ IIcadLibrary __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadPoint_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPoint_get_PointsCollection_Proxy( 
    IIcadPoint __RPC_FAR * This,
    /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppPoints);


void __RPC_STUB IIcadPoint_get_PointsCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPoint_get_x_Proxy( 
    IIcadPoint __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pX);


void __RPC_STUB IIcadPoint_get_x_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPoint_put_x_Proxy( 
    IIcadPoint __RPC_FAR * This,
    /* [in] */ double X1);


void __RPC_STUB IIcadPoint_put_x_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPoint_get_y_Proxy( 
    IIcadPoint __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pY);


void __RPC_STUB IIcadPoint_get_y_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPoint_put_y_Proxy( 
    IIcadPoint __RPC_FAR * This,
    /* [in] */ double Y1);


void __RPC_STUB IIcadPoint_put_y_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPoint_get_z_Proxy( 
    IIcadPoint __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pZ);


void __RPC_STUB IIcadPoint_get_z_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPoint_put_z_Proxy( 
    IIcadPoint __RPC_FAR * This,
    /* [in] */ double Z1);


void __RPC_STUB IIcadPoint_put_z_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadPoint_INTERFACE_DEFINED__ */


#ifndef __IIcadPoints_INTERFACE_DEFINED__
#define __IIcadPoints_INTERFACE_DEFINED__

/* interface IIcadPoints */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadPoints;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c10c-7e36-11d1-bc5a-0060089608a4")
    IIcadPoints : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadLibrary __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long __RPC_FAR *pCount) = 0;
        
        virtual /* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [optional][in] */ double x,
            /* [optional][in] */ double y,
            /* [optional][in] */ double z,
            /* [optional][in] */ long Index,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ long Index,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [optional][in] */ long Index,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveAll( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadPointsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadPoints __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadPoints __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadPoints __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadPoints __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadPoints __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadPoints __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadPoints __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadPoints __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadPoints __RPC_FAR * This,
            /* [retval][out] */ IIcadLibrary __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
            IIcadPoints __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        /* [id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
            IIcadPoints __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            IIcadPoints __RPC_FAR * This,
            /* [optional][in] */ double x,
            /* [optional][in] */ double y,
            /* [optional][in] */ double z,
            /* [optional][in] */ long Index,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
            IIcadPoints __RPC_FAR * This,
            /* [in] */ long Index,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Remove )( 
            IIcadPoints __RPC_FAR * This,
            /* [optional][in] */ long Index,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveAll )( 
            IIcadPoints __RPC_FAR * This);
        
        END_INTERFACE
    } IIcadPointsVtbl;

    interface IIcadPoints
    {
        CONST_VTBL struct IIcadPointsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadPoints_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadPoints_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadPoints_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadPoints_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadPoints_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadPoints_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadPoints_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadPoints_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadPoints_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadPoints_get_Count(This,pCount)	\
    (This)->lpVtbl -> get_Count(This,pCount)

#define IIcadPoints_get__NewEnum(This,ppUnk)	\
    (This)->lpVtbl -> get__NewEnum(This,ppUnk)

#define IIcadPoints_Add(This,x,y,z,Index,Point)	\
    (This)->lpVtbl -> Add(This,x,y,z,Index,Point)

#define IIcadPoints_Item(This,Index,ppItem)	\
    (This)->lpVtbl -> Item(This,Index,ppItem)

#define IIcadPoints_Remove(This,Index,Point)	\
    (This)->lpVtbl -> Remove(This,Index,Point)

#define IIcadPoints_RemoveAll(This)	\
    (This)->lpVtbl -> RemoveAll(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPoints_get_Application_Proxy( 
    IIcadPoints __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadPoints_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPoints_get_Parent_Proxy( 
    IIcadPoints __RPC_FAR * This,
    /* [retval][out] */ IIcadLibrary __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadPoints_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPoints_get_Count_Proxy( 
    IIcadPoints __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pCount);


void __RPC_STUB IIcadPoints_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE IIcadPoints_get__NewEnum_Proxy( 
    IIcadPoints __RPC_FAR * This,
    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);


void __RPC_STUB IIcadPoints_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPoints_Add_Proxy( 
    IIcadPoints __RPC_FAR * This,
    /* [optional][in] */ double x,
    /* [optional][in] */ double y,
    /* [optional][in] */ double z,
    /* [optional][in] */ long Index,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);


void __RPC_STUB IIcadPoints_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPoints_Item_Proxy( 
    IIcadPoints __RPC_FAR * This,
    /* [in] */ long Index,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadPoints_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPoints_Remove_Proxy( 
    IIcadPoints __RPC_FAR * This,
    /* [optional][in] */ long Index,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);


void __RPC_STUB IIcadPoints_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPoints_RemoveAll_Proxy( 
    IIcadPoints __RPC_FAR * This);


void __RPC_STUB IIcadPoints_RemoveAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadPoints_INTERFACE_DEFINED__ */


#ifndef __IIcadVector_INTERFACE_DEFINED__
#define __IIcadVector_INTERFACE_DEFINED__

/* interface IIcadVector */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadVector;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c108-7e36-11d1-bc5a-0060089608a4")
    IIcadVector : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadLibrary __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [retval][out] */ double __RPC_FAR *pX) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_x( 
            /* [in] */ double X1) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [retval][out] */ double __RPC_FAR *pY) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_y( 
            /* [in] */ double Y1) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_z( 
            /* [retval][out] */ double __RPC_FAR *pZ) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_z( 
            /* [in] */ double Z1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadVectorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadVector __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadVector __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadVector __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadVector __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadVector __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadVector __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadVector __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadVector __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadVector __RPC_FAR * This,
            /* [retval][out] */ IIcadLibrary __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_x )( 
            IIcadVector __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pX);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_x )( 
            IIcadVector __RPC_FAR * This,
            /* [in] */ double X1);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_y )( 
            IIcadVector __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pY);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_y )( 
            IIcadVector __RPC_FAR * This,
            /* [in] */ double Y1);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_z )( 
            IIcadVector __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pZ);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_z )( 
            IIcadVector __RPC_FAR * This,
            /* [in] */ double Z1);
        
        END_INTERFACE
    } IIcadVectorVtbl;

    interface IIcadVector
    {
        CONST_VTBL struct IIcadVectorVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadVector_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadVector_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadVector_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadVector_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadVector_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadVector_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadVector_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadVector_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadVector_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadVector_get_x(This,pX)	\
    (This)->lpVtbl -> get_x(This,pX)

#define IIcadVector_put_x(This,X1)	\
    (This)->lpVtbl -> put_x(This,X1)

#define IIcadVector_get_y(This,pY)	\
    (This)->lpVtbl -> get_y(This,pY)

#define IIcadVector_put_y(This,Y1)	\
    (This)->lpVtbl -> put_y(This,Y1)

#define IIcadVector_get_z(This,pZ)	\
    (This)->lpVtbl -> get_z(This,pZ)

#define IIcadVector_put_z(This,Z1)	\
    (This)->lpVtbl -> put_z(This,Z1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadVector_get_Application_Proxy( 
    IIcadVector __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadVector_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadVector_get_Parent_Proxy( 
    IIcadVector __RPC_FAR * This,
    /* [retval][out] */ IIcadLibrary __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadVector_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadVector_get_x_Proxy( 
    IIcadVector __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pX);


void __RPC_STUB IIcadVector_get_x_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadVector_put_x_Proxy( 
    IIcadVector __RPC_FAR * This,
    /* [in] */ double X1);


void __RPC_STUB IIcadVector_put_x_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadVector_get_y_Proxy( 
    IIcadVector __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pY);


void __RPC_STUB IIcadVector_get_y_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadVector_put_y_Proxy( 
    IIcadVector __RPC_FAR * This,
    /* [in] */ double Y1);


void __RPC_STUB IIcadVector_put_y_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadVector_get_z_Proxy( 
    IIcadVector __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pZ);


void __RPC_STUB IIcadVector_get_z_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadVector_put_z_Proxy( 
    IIcadVector __RPC_FAR * This,
    /* [in] */ double Z1);


void __RPC_STUB IIcadVector_put_z_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadVector_INTERFACE_DEFINED__ */


#ifndef __IIcadMatrix_INTERFACE_DEFINED__
#define __IIcadMatrix_INTERFACE_DEFINED__

/* interface IIcadMatrix */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadMatrix;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c109-7e36-11d1-bc5a-0060089608a4")
    IIcadMatrix : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadLibrary __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetValue( 
            /* [in] */ int Row,
            /* [in] */ int Column,
            /* [retval][out] */ double __RPC_FAR *pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetValue( 
            /* [in] */ int Row,
            /* [in] */ int Column,
            /* [in] */ double Value) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadMatrixVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadMatrix __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadMatrix __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadMatrix __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadMatrix __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadMatrix __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadMatrix __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadMatrix __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadMatrix __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadMatrix __RPC_FAR * This,
            /* [retval][out] */ IIcadLibrary __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetValue )( 
            IIcadMatrix __RPC_FAR * This,
            /* [in] */ int Row,
            /* [in] */ int Column,
            /* [retval][out] */ double __RPC_FAR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetValue )( 
            IIcadMatrix __RPC_FAR * This,
            /* [in] */ int Row,
            /* [in] */ int Column,
            /* [in] */ double Value);
        
        END_INTERFACE
    } IIcadMatrixVtbl;

    interface IIcadMatrix
    {
        CONST_VTBL struct IIcadMatrixVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadMatrix_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadMatrix_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadMatrix_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadMatrix_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadMatrix_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadMatrix_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadMatrix_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadMatrix_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadMatrix_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadMatrix_GetValue(This,Row,Column,pValue)	\
    (This)->lpVtbl -> GetValue(This,Row,Column,pValue)

#define IIcadMatrix_SetValue(This,Row,Column,Value)	\
    (This)->lpVtbl -> SetValue(This,Row,Column,Value)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadMatrix_get_Application_Proxy( 
    IIcadMatrix __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadMatrix_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadMatrix_get_Parent_Proxy( 
    IIcadMatrix __RPC_FAR * This,
    /* [retval][out] */ IIcadLibrary __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadMatrix_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadMatrix_GetValue_Proxy( 
    IIcadMatrix __RPC_FAR * This,
    /* [in] */ int Row,
    /* [in] */ int Column,
    /* [retval][out] */ double __RPC_FAR *pValue);


void __RPC_STUB IIcadMatrix_GetValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadMatrix_SetValue_Proxy( 
    IIcadMatrix __RPC_FAR * This,
    /* [in] */ int Row,
    /* [in] */ int Column,
    /* [in] */ double Value);


void __RPC_STUB IIcadMatrix_SetValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadMatrix_INTERFACE_DEFINED__ */


#ifndef __IIcadLibrary_INTERFACE_DEFINED__
#define __IIcadLibrary_INTERFACE_DEFINED__

/* interface IIcadLibrary */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadLibrary;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c106-7e36-11d1-bc5a-0060089608a4")
    IIcadLibrary : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *Application) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *Application) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePoint( 
            /* [defaultvalue][optional][in] */ double X1,
            /* [defaultvalue][optional][in] */ double Y1,
            /* [defaultvalue][optional][in] */ double Z1,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePoints( 
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppPoints) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CalculateDistance( 
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [retval][out] */ double __RPC_FAR *pDistance) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateVector( 
            /* [in] */ double X2,
            /* [in] */ double Y2,
            /* [defaultvalue][optional][in] */ double Z2,
            /* [defaultvalue][optional][in] */ double X1,
            /* [defaultvalue][optional][in] */ double Y1,
            /* [defaultvalue][optional][in] */ double Z1,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddVectors( 
            /* [in] */ IIcadVector __RPC_FAR *Vector1,
            /* [in] */ IIcadVector __RPC_FAR *Vector2,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SubtractVectors( 
            /* [in] */ IIcadVector __RPC_FAR *Vector1,
            /* [in] */ IIcadVector __RPC_FAR *Vector2,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE VectorDotProduct( 
            /* [in] */ IIcadVector __RPC_FAR *Vector1,
            /* [in] */ IIcadVector __RPC_FAR *Vector2,
            /* [retval][out] */ double __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE VectorCrossProduct( 
            /* [in] */ IIcadVector __RPC_FAR *Vector1,
            /* [in] */ IIcadVector __RPC_FAR *Vector2,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE VectorScalarMultiply( 
            /* [in] */ IIcadVector __RPC_FAR *Vector,
            /* [in] */ double Scale,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE VectorUnitize( 
            /* [in] */ IIcadVector __RPC_FAR *Vector,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE VectorLength( 
            /* [in] */ IIcadVector __RPC_FAR *Vector,
            /* [retval][out] */ double __RPC_FAR *pLength) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DistanceBetweenVectors( 
            /* [in] */ IIcadVector __RPC_FAR *Vector1,
            /* [in] */ IIcadVector __RPC_FAR *Vector2,
            /* [retval][out] */ double __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateIdentityMatrix( 
            /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateRotationMatrix( 
            /* [in] */ double Angle,
            /* [in] */ IIcadPoint __RPC_FAR *AxisEnd,
            /* [optional][in] */ IIcadPoint __RPC_FAR *AxisStart,
            /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateTranslationMatrix( 
            /* [defaultvalue][optional][in] */ double x,
            /* [defaultvalue][optional][in] */ double y,
            /* [defaultvalue][optional][in] */ double z,
            /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateScaleMatrix( 
            /* [defaultvalue][optional][in] */ double x,
            /* [defaultvalue][optional][in] */ double y,
            /* [defaultvalue][optional][in] */ double z,
            /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateMirrorMatrix( 
            /* [optional][in] */ VARIANT_BOOL MirrorX,
            /* [optional][in] */ VARIANT_BOOL MirrorY,
            /* [optional][in] */ VARIANT_BOOL MirrorZ,
            /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ComposeMatrix( 
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix1,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix2,
            /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ApplyMatrix( 
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix,
            /* [in] */ IIcadPoint __RPC_FAR *Point,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InvertMatrix( 
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix,
            /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertArrayToPoint( 
            /* [in] */ VARIANT ArrayOfDoubles,
            /* [in] */ VARIANT_BOOL Is3DPoint,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertArrayToPoints( 
            /* [in] */ VARIANT ArrayOfDoubles,
            /* [in] */ VARIANT_BOOL Is3DPoint,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *Points) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertArrayToVector( 
            /* [in] */ VARIANT ArrayOfDoubles,
            /* [in] */ VARIANT_BOOL Is3DVector,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *Vector) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertArrayToMatrix( 
            /* [in] */ VARIANT ArrayOf16Doubles,
            /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *Matrix) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertPointToArray( 
            /* [in] */ IIcadPoint __RPC_FAR *Point,
            /* [in] */ VARIANT_BOOL Is3DPoint,
            /* [retval][out] */ VARIANT __RPC_FAR *ArrayOfDoubles) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertPointsToArray( 
            /* [in] */ IIcadPoints __RPC_FAR *Points,
            /* [in] */ VARIANT_BOOL Is3DPoint,
            /* [retval][out] */ VARIANT __RPC_FAR *ArrayOfDoubles) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertVectorToArray( 
            /* [in] */ IIcadVector __RPC_FAR *Vector,
            /* [in] */ VARIANT_BOOL Is3DVector,
            /* [retval][out] */ VARIANT __RPC_FAR *ArrayOfDoubles) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertMatrixToArray( 
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix,
            /* [retval][out] */ VARIANT __RPC_FAR *ArrayOf16Doubles) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadLibraryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadLibrary __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadLibrary __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadLibrary __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadLibrary __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *Application);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadLibrary __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *Application);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreatePoint )( 
            IIcadLibrary __RPC_FAR * This,
            /* [defaultvalue][optional][in] */ double X1,
            /* [defaultvalue][optional][in] */ double Y1,
            /* [defaultvalue][optional][in] */ double Z1,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreatePoints )( 
            IIcadLibrary __RPC_FAR * This,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CalculateDistance )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [retval][out] */ double __RPC_FAR *pDistance);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateVector )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ double X2,
            /* [in] */ double Y2,
            /* [defaultvalue][optional][in] */ double Z2,
            /* [defaultvalue][optional][in] */ double X1,
            /* [defaultvalue][optional][in] */ double Y1,
            /* [defaultvalue][optional][in] */ double Z1,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddVectors )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *Vector1,
            /* [in] */ IIcadVector __RPC_FAR *Vector2,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SubtractVectors )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *Vector1,
            /* [in] */ IIcadVector __RPC_FAR *Vector2,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *VectorDotProduct )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *Vector1,
            /* [in] */ IIcadVector __RPC_FAR *Vector2,
            /* [retval][out] */ double __RPC_FAR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *VectorCrossProduct )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *Vector1,
            /* [in] */ IIcadVector __RPC_FAR *Vector2,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *VectorScalarMultiply )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *Vector,
            /* [in] */ double Scale,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *VectorUnitize )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *Vector,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *VectorLength )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *Vector,
            /* [retval][out] */ double __RPC_FAR *pLength);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DistanceBetweenVectors )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *Vector1,
            /* [in] */ IIcadVector __RPC_FAR *Vector2,
            /* [retval][out] */ double __RPC_FAR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateIdentityMatrix )( 
            IIcadLibrary __RPC_FAR * This,
            /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateRotationMatrix )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ double Angle,
            /* [in] */ IIcadPoint __RPC_FAR *AxisEnd,
            /* [optional][in] */ IIcadPoint __RPC_FAR *AxisStart,
            /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateTranslationMatrix )( 
            IIcadLibrary __RPC_FAR * This,
            /* [defaultvalue][optional][in] */ double x,
            /* [defaultvalue][optional][in] */ double y,
            /* [defaultvalue][optional][in] */ double z,
            /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateScaleMatrix )( 
            IIcadLibrary __RPC_FAR * This,
            /* [defaultvalue][optional][in] */ double x,
            /* [defaultvalue][optional][in] */ double y,
            /* [defaultvalue][optional][in] */ double z,
            /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateMirrorMatrix )( 
            IIcadLibrary __RPC_FAR * This,
            /* [optional][in] */ VARIANT_BOOL MirrorX,
            /* [optional][in] */ VARIANT_BOOL MirrorY,
            /* [optional][in] */ VARIANT_BOOL MirrorZ,
            /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ComposeMatrix )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix1,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix2,
            /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ApplyMatrix )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix,
            /* [in] */ IIcadPoint __RPC_FAR *Point,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InvertMatrix )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix,
            /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConvertArrayToPoint )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ VARIANT ArrayOfDoubles,
            /* [in] */ VARIANT_BOOL Is3DPoint,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConvertArrayToPoints )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ VARIANT ArrayOfDoubles,
            /* [in] */ VARIANT_BOOL Is3DPoint,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *Points);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConvertArrayToVector )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ VARIANT ArrayOfDoubles,
            /* [in] */ VARIANT_BOOL Is3DVector,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *Vector);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConvertArrayToMatrix )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ VARIANT ArrayOf16Doubles,
            /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConvertPointToArray )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point,
            /* [in] */ VARIANT_BOOL Is3DPoint,
            /* [retval][out] */ VARIANT __RPC_FAR *ArrayOfDoubles);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConvertPointsToArray )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Points,
            /* [in] */ VARIANT_BOOL Is3DPoint,
            /* [retval][out] */ VARIANT __RPC_FAR *ArrayOfDoubles);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConvertVectorToArray )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *Vector,
            /* [in] */ VARIANT_BOOL Is3DVector,
            /* [retval][out] */ VARIANT __RPC_FAR *ArrayOfDoubles);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConvertMatrixToArray )( 
            IIcadLibrary __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix,
            /* [retval][out] */ VARIANT __RPC_FAR *ArrayOf16Doubles);
        
        END_INTERFACE
    } IIcadLibraryVtbl;

    interface IIcadLibrary
    {
        CONST_VTBL struct IIcadLibraryVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadLibrary_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadLibrary_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadLibrary_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadLibrary_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadLibrary_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadLibrary_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadLibrary_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadLibrary_get_Application(This,Application)	\
    (This)->lpVtbl -> get_Application(This,Application)

#define IIcadLibrary_get_Parent(This,Application)	\
    (This)->lpVtbl -> get_Parent(This,Application)

#define IIcadLibrary_CreatePoint(This,X1,Y1,Z1,ppPoint)	\
    (This)->lpVtbl -> CreatePoint(This,X1,Y1,Z1,ppPoint)

#define IIcadLibrary_CreatePoints(This,ppPoints)	\
    (This)->lpVtbl -> CreatePoints(This,ppPoints)

#define IIcadLibrary_CalculateDistance(This,Point1,Point2,pDistance)	\
    (This)->lpVtbl -> CalculateDistance(This,Point1,Point2,pDistance)

#define IIcadLibrary_CreateVector(This,X2,Y2,Z2,X1,Y1,Z1,ppVector)	\
    (This)->lpVtbl -> CreateVector(This,X2,Y2,Z2,X1,Y1,Z1,ppVector)

#define IIcadLibrary_AddVectors(This,Vector1,Vector2,ppVector)	\
    (This)->lpVtbl -> AddVectors(This,Vector1,Vector2,ppVector)

#define IIcadLibrary_SubtractVectors(This,Vector1,Vector2,ppVector)	\
    (This)->lpVtbl -> SubtractVectors(This,Vector1,Vector2,ppVector)

#define IIcadLibrary_VectorDotProduct(This,Vector1,Vector2,pVal)	\
    (This)->lpVtbl -> VectorDotProduct(This,Vector1,Vector2,pVal)

#define IIcadLibrary_VectorCrossProduct(This,Vector1,Vector2,ppVector)	\
    (This)->lpVtbl -> VectorCrossProduct(This,Vector1,Vector2,ppVector)

#define IIcadLibrary_VectorScalarMultiply(This,Vector,Scale,ppVector)	\
    (This)->lpVtbl -> VectorScalarMultiply(This,Vector,Scale,ppVector)

#define IIcadLibrary_VectorUnitize(This,Vector,ppVector)	\
    (This)->lpVtbl -> VectorUnitize(This,Vector,ppVector)

#define IIcadLibrary_VectorLength(This,Vector,pLength)	\
    (This)->lpVtbl -> VectorLength(This,Vector,pLength)

#define IIcadLibrary_DistanceBetweenVectors(This,Vector1,Vector2,pVal)	\
    (This)->lpVtbl -> DistanceBetweenVectors(This,Vector1,Vector2,pVal)

#define IIcadLibrary_CreateIdentityMatrix(This,ppMatrix)	\
    (This)->lpVtbl -> CreateIdentityMatrix(This,ppMatrix)

#define IIcadLibrary_CreateRotationMatrix(This,Angle,AxisEnd,AxisStart,ppMatrix)	\
    (This)->lpVtbl -> CreateRotationMatrix(This,Angle,AxisEnd,AxisStart,ppMatrix)

#define IIcadLibrary_CreateTranslationMatrix(This,x,y,z,ppMatrix)	\
    (This)->lpVtbl -> CreateTranslationMatrix(This,x,y,z,ppMatrix)

#define IIcadLibrary_CreateScaleMatrix(This,x,y,z,ppMatrix)	\
    (This)->lpVtbl -> CreateScaleMatrix(This,x,y,z,ppMatrix)

#define IIcadLibrary_CreateMirrorMatrix(This,MirrorX,MirrorY,MirrorZ,ppMatrix)	\
    (This)->lpVtbl -> CreateMirrorMatrix(This,MirrorX,MirrorY,MirrorZ,ppMatrix)

#define IIcadLibrary_ComposeMatrix(This,Matrix1,Matrix2,ppMatrix)	\
    (This)->lpVtbl -> ComposeMatrix(This,Matrix1,Matrix2,ppMatrix)

#define IIcadLibrary_ApplyMatrix(This,Matrix,Point,ppPoint)	\
    (This)->lpVtbl -> ApplyMatrix(This,Matrix,Point,ppPoint)

#define IIcadLibrary_InvertMatrix(This,Matrix,ppMatrix)	\
    (This)->lpVtbl -> InvertMatrix(This,Matrix,ppMatrix)

#define IIcadLibrary_ConvertArrayToPoint(This,ArrayOfDoubles,Is3DPoint,Point)	\
    (This)->lpVtbl -> ConvertArrayToPoint(This,ArrayOfDoubles,Is3DPoint,Point)

#define IIcadLibrary_ConvertArrayToPoints(This,ArrayOfDoubles,Is3DPoint,Points)	\
    (This)->lpVtbl -> ConvertArrayToPoints(This,ArrayOfDoubles,Is3DPoint,Points)

#define IIcadLibrary_ConvertArrayToVector(This,ArrayOfDoubles,Is3DVector,Vector)	\
    (This)->lpVtbl -> ConvertArrayToVector(This,ArrayOfDoubles,Is3DVector,Vector)

#define IIcadLibrary_ConvertArrayToMatrix(This,ArrayOf16Doubles,Matrix)	\
    (This)->lpVtbl -> ConvertArrayToMatrix(This,ArrayOf16Doubles,Matrix)

#define IIcadLibrary_ConvertPointToArray(This,Point,Is3DPoint,ArrayOfDoubles)	\
    (This)->lpVtbl -> ConvertPointToArray(This,Point,Is3DPoint,ArrayOfDoubles)

#define IIcadLibrary_ConvertPointsToArray(This,Points,Is3DPoint,ArrayOfDoubles)	\
    (This)->lpVtbl -> ConvertPointsToArray(This,Points,Is3DPoint,ArrayOfDoubles)

#define IIcadLibrary_ConvertVectorToArray(This,Vector,Is3DVector,ArrayOfDoubles)	\
    (This)->lpVtbl -> ConvertVectorToArray(This,Vector,Is3DVector,ArrayOfDoubles)

#define IIcadLibrary_ConvertMatrixToArray(This,Matrix,ArrayOf16Doubles)	\
    (This)->lpVtbl -> ConvertMatrixToArray(This,Matrix,ArrayOf16Doubles)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_get_Application_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *Application);


void __RPC_STUB IIcadLibrary_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_get_Parent_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *Application);


void __RPC_STUB IIcadLibrary_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_CreatePoint_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [defaultvalue][optional][in] */ double X1,
    /* [defaultvalue][optional][in] */ double Y1,
    /* [defaultvalue][optional][in] */ double Z1,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint);


void __RPC_STUB IIcadLibrary_CreatePoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_CreatePoints_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppPoints);


void __RPC_STUB IIcadLibrary_CreatePoints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_CalculateDistance_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point1,
    /* [in] */ IIcadPoint __RPC_FAR *Point2,
    /* [retval][out] */ double __RPC_FAR *pDistance);


void __RPC_STUB IIcadLibrary_CalculateDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_CreateVector_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [in] */ double X2,
    /* [in] */ double Y2,
    /* [defaultvalue][optional][in] */ double Z2,
    /* [defaultvalue][optional][in] */ double X1,
    /* [defaultvalue][optional][in] */ double Y1,
    /* [defaultvalue][optional][in] */ double Z1,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector);


void __RPC_STUB IIcadLibrary_CreateVector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_AddVectors_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *Vector1,
    /* [in] */ IIcadVector __RPC_FAR *Vector2,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector);


void __RPC_STUB IIcadLibrary_AddVectors_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_SubtractVectors_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *Vector1,
    /* [in] */ IIcadVector __RPC_FAR *Vector2,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector);


void __RPC_STUB IIcadLibrary_SubtractVectors_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_VectorDotProduct_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *Vector1,
    /* [in] */ IIcadVector __RPC_FAR *Vector2,
    /* [retval][out] */ double __RPC_FAR *pVal);


void __RPC_STUB IIcadLibrary_VectorDotProduct_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_VectorCrossProduct_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *Vector1,
    /* [in] */ IIcadVector __RPC_FAR *Vector2,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector);


void __RPC_STUB IIcadLibrary_VectorCrossProduct_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_VectorScalarMultiply_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *Vector,
    /* [in] */ double Scale,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector);


void __RPC_STUB IIcadLibrary_VectorScalarMultiply_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_VectorUnitize_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *Vector,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector);


void __RPC_STUB IIcadLibrary_VectorUnitize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_VectorLength_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *Vector,
    /* [retval][out] */ double __RPC_FAR *pLength);


void __RPC_STUB IIcadLibrary_VectorLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_DistanceBetweenVectors_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *Vector1,
    /* [in] */ IIcadVector __RPC_FAR *Vector2,
    /* [retval][out] */ double __RPC_FAR *pVal);


void __RPC_STUB IIcadLibrary_DistanceBetweenVectors_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_CreateIdentityMatrix_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix);


void __RPC_STUB IIcadLibrary_CreateIdentityMatrix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_CreateRotationMatrix_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [in] */ double Angle,
    /* [in] */ IIcadPoint __RPC_FAR *AxisEnd,
    /* [optional][in] */ IIcadPoint __RPC_FAR *AxisStart,
    /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix);


void __RPC_STUB IIcadLibrary_CreateRotationMatrix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_CreateTranslationMatrix_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [defaultvalue][optional][in] */ double x,
    /* [defaultvalue][optional][in] */ double y,
    /* [defaultvalue][optional][in] */ double z,
    /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix);


void __RPC_STUB IIcadLibrary_CreateTranslationMatrix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_CreateScaleMatrix_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [defaultvalue][optional][in] */ double x,
    /* [defaultvalue][optional][in] */ double y,
    /* [defaultvalue][optional][in] */ double z,
    /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix);


void __RPC_STUB IIcadLibrary_CreateScaleMatrix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_CreateMirrorMatrix_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [optional][in] */ VARIANT_BOOL MirrorX,
    /* [optional][in] */ VARIANT_BOOL MirrorY,
    /* [optional][in] */ VARIANT_BOOL MirrorZ,
    /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix);


void __RPC_STUB IIcadLibrary_CreateMirrorMatrix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_ComposeMatrix_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [in] */ IIcadMatrix __RPC_FAR *Matrix1,
    /* [in] */ IIcadMatrix __RPC_FAR *Matrix2,
    /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix);


void __RPC_STUB IIcadLibrary_ComposeMatrix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_ApplyMatrix_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [in] */ IIcadMatrix __RPC_FAR *Matrix,
    /* [in] */ IIcadPoint __RPC_FAR *Point,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint);


void __RPC_STUB IIcadLibrary_ApplyMatrix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_InvertMatrix_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [in] */ IIcadMatrix __RPC_FAR *Matrix,
    /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix);


void __RPC_STUB IIcadLibrary_InvertMatrix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_ConvertArrayToPoint_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [in] */ VARIANT ArrayOfDoubles,
    /* [in] */ VARIANT_BOOL Is3DPoint,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);


void __RPC_STUB IIcadLibrary_ConvertArrayToPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_ConvertArrayToPoints_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [in] */ VARIANT ArrayOfDoubles,
    /* [in] */ VARIANT_BOOL Is3DPoint,
    /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *Points);


void __RPC_STUB IIcadLibrary_ConvertArrayToPoints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_ConvertArrayToVector_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [in] */ VARIANT ArrayOfDoubles,
    /* [in] */ VARIANT_BOOL Is3DVector,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *Vector);


void __RPC_STUB IIcadLibrary_ConvertArrayToVector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_ConvertArrayToMatrix_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [in] */ VARIANT ArrayOf16Doubles,
    /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *Matrix);


void __RPC_STUB IIcadLibrary_ConvertArrayToMatrix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_ConvertPointToArray_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point,
    /* [in] */ VARIANT_BOOL Is3DPoint,
    /* [retval][out] */ VARIANT __RPC_FAR *ArrayOfDoubles);


void __RPC_STUB IIcadLibrary_ConvertPointToArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_ConvertPointsToArray_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [in] */ IIcadPoints __RPC_FAR *Points,
    /* [in] */ VARIANT_BOOL Is3DPoint,
    /* [retval][out] */ VARIANT __RPC_FAR *ArrayOfDoubles);


void __RPC_STUB IIcadLibrary_ConvertPointsToArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_ConvertVectorToArray_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *Vector,
    /* [in] */ VARIANT_BOOL Is3DVector,
    /* [retval][out] */ VARIANT __RPC_FAR *ArrayOfDoubles);


void __RPC_STUB IIcadLibrary_ConvertVectorToArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLibrary_ConvertMatrixToArray_Proxy( 
    IIcadLibrary __RPC_FAR * This,
    /* [in] */ IIcadMatrix __RPC_FAR *Matrix,
    /* [retval][out] */ VARIANT __RPC_FAR *ArrayOf16Doubles);


void __RPC_STUB IIcadLibrary_ConvertMatrixToArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadLibrary_INTERFACE_DEFINED__ */


#ifndef __IIcadUtility_INTERFACE_DEFINED__
#define __IIcadUtility_INTERFACE_DEFINED__

/* interface IIcadUtility */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadUtility;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c10d-7e36-11d1-bc5a-0060089608a4")
    IIcadUtility : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *Application) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *Document) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Alert( 
            /* [in] */ BSTR message) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AngleFromXAxis( 
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [retval][out] */ double __RPC_FAR *pAngle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AngleToReal( 
            /* [in] */ BSTR Angle,
            /* [optional][in] */ AngleUnits Unit,
            /* [retval][out] */ double __RPC_FAR *pAngle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DistanceToReal( 
            /* [in] */ BSTR Distance,
            /* [optional][in] */ DistanceUnits Unit,
            /* [retval][out] */ double __RPC_FAR *pDistance) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RealToString( 
            /* [in] */ double Value,
            /* [in] */ DistanceUnits Unit,
            /* [in] */ long Precision,
            /* [retval][out] */ BSTR __RPC_FAR *Distance) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AngleToString( 
            /* [in] */ double Angle,
            /* [in] */ AngleUnits Unit,
            /* [in] */ long Precision,
            /* [retval][out] */ BSTR __RPC_FAR *str) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Prompt( 
            /* [in] */ BSTR TextString) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertUnit( 
            /* [in] */ double Value,
            /* [in] */ BSTR From,
            /* [in] */ BSTR To,
            /* [retval][out] */ double __RPC_FAR *ConvertedValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EntitySnap( 
            /* [in] */ IIcadPoint __RPC_FAR *InputPoint,
            /* [in] */ ObjectSnapMode SnapMode,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindFile( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ BSTR __RPC_FAR *FullPath) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAngle( 
            /* [optional][in] */ IIcadPoint __RPC_FAR *Point,
            /* [optional][in] */ BSTR Prompt,
            /* [retval][out] */ double __RPC_FAR *pAngle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCorner( 
            /* [in] */ IIcadPoint __RPC_FAR *Point,
            /* [optional][in] */ BSTR Prompt,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppCorner) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDistance( 
            /* [optional][in] */ IIcadPoint __RPC_FAR *Point,
            /* [optional][in] */ BSTR Prompt,
            /* [retval][out] */ double __RPC_FAR *pDistance) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetEntity( 
            /* [out][in] */ IDispatch __RPC_FAR *__RPC_FAR *Object,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *PickedPoint,
            /* [optional][in] */ BSTR Prompt) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSubEntity( 
            /* [out][in] */ IDispatch __RPC_FAR *__RPC_FAR *Object,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *PickedPoint,
            /* [out][in] */ IIcadMatrix __RPC_FAR *__RPC_FAR *TransMatrix,
            /* [out][in] */ VARIANT __RPC_FAR *ContextData,
            /* [optional][in] */ BSTR Prompt) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInput( 
            /* [retval][out] */ BSTR __RPC_FAR *InputString) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInteger( 
            /* [optional][in] */ BSTR Prompt,
            /* [retval][out] */ long __RPC_FAR *Value) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetOrientation( 
            /* [optional][in] */ IIcadPoint __RPC_FAR *Point,
            /* [optional][in] */ BSTR Prompt,
            /* [retval][out] */ double __RPC_FAR *pOrientation) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPoint( 
            /* [optional][in] */ IIcadPoint __RPC_FAR *Point,
            /* [optional][in] */ BSTR Prompt,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetReal( 
            /* [optional][in] */ BSTR Prompt,
            /* [retval][out] */ double __RPC_FAR *Value) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetString( 
            /* [in] */ VARIANT_BOOL HasSpaces,
            /* [optional][in] */ BSTR Prompt,
            /* [retval][out] */ BSTR __RPC_FAR *String) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE TranslateCoordinates( 
            /* [in] */ IIcadPoint __RPC_FAR *OriginPoint,
            /* [in] */ CoordinateSystemTypes From,
            /* [in] */ CoordinateSystemTypes To,
            /* [in] */ VARIANT_BOOL Disp,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InitializeUserInput( 
            /* [in] */ UserInputType Bits,
            /* [optional][in] */ VARIANT Keywords) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetKeyword( 
            /* [optional][in] */ BSTR Prompt,
            /* [retval][out] */ BSTR __RPC_FAR *String) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PolarPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *Point,
            /* [in] */ double Angle,
            /* [in] */ double Distance,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PaintLine( 
            /* [in] */ IIcadPoint __RPC_FAR *StartPoint,
            /* [in] */ IIcadPoint __RPC_FAR *EndPoint,
            /* [optional][in] */ Colors Color,
            /* [optional][in] */ VARIANT_BOOL HighlightFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ShowGraphicScreen( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ShowTextScreen( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WildCardMatch( 
            /* [in] */ BSTR Pattern,
            /* [in] */ BSTR String,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Match) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadUtilityVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadUtility __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadUtility __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadUtility __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadUtility __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadUtility __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadUtility __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadUtility __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadUtility __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *Application);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadUtility __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *Document);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Alert )( 
            IIcadUtility __RPC_FAR * This,
            /* [in] */ BSTR message);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AngleFromXAxis )( 
            IIcadUtility __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [retval][out] */ double __RPC_FAR *pAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AngleToReal )( 
            IIcadUtility __RPC_FAR * This,
            /* [in] */ BSTR Angle,
            /* [optional][in] */ AngleUnits Unit,
            /* [retval][out] */ double __RPC_FAR *pAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DistanceToReal )( 
            IIcadUtility __RPC_FAR * This,
            /* [in] */ BSTR Distance,
            /* [optional][in] */ DistanceUnits Unit,
            /* [retval][out] */ double __RPC_FAR *pDistance);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RealToString )( 
            IIcadUtility __RPC_FAR * This,
            /* [in] */ double Value,
            /* [in] */ DistanceUnits Unit,
            /* [in] */ long Precision,
            /* [retval][out] */ BSTR __RPC_FAR *Distance);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AngleToString )( 
            IIcadUtility __RPC_FAR * This,
            /* [in] */ double Angle,
            /* [in] */ AngleUnits Unit,
            /* [in] */ long Precision,
            /* [retval][out] */ BSTR __RPC_FAR *str);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Prompt )( 
            IIcadUtility __RPC_FAR * This,
            /* [in] */ BSTR TextString);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConvertUnit )( 
            IIcadUtility __RPC_FAR * This,
            /* [in] */ double Value,
            /* [in] */ BSTR From,
            /* [in] */ BSTR To,
            /* [retval][out] */ double __RPC_FAR *ConvertedValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EntitySnap )( 
            IIcadUtility __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *InputPoint,
            /* [in] */ ObjectSnapMode SnapMode,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindFile )( 
            IIcadUtility __RPC_FAR * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ BSTR __RPC_FAR *FullPath);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAngle )( 
            IIcadUtility __RPC_FAR * This,
            /* [optional][in] */ IIcadPoint __RPC_FAR *Point,
            /* [optional][in] */ BSTR Prompt,
            /* [retval][out] */ double __RPC_FAR *pAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCorner )( 
            IIcadUtility __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point,
            /* [optional][in] */ BSTR Prompt,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppCorner);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDistance )( 
            IIcadUtility __RPC_FAR * This,
            /* [optional][in] */ IIcadPoint __RPC_FAR *Point,
            /* [optional][in] */ BSTR Prompt,
            /* [retval][out] */ double __RPC_FAR *pDistance);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetEntity )( 
            IIcadUtility __RPC_FAR * This,
            /* [out][in] */ IDispatch __RPC_FAR *__RPC_FAR *Object,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *PickedPoint,
            /* [optional][in] */ BSTR Prompt);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSubEntity )( 
            IIcadUtility __RPC_FAR * This,
            /* [out][in] */ IDispatch __RPC_FAR *__RPC_FAR *Object,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *PickedPoint,
            /* [out][in] */ IIcadMatrix __RPC_FAR *__RPC_FAR *TransMatrix,
            /* [out][in] */ VARIANT __RPC_FAR *ContextData,
            /* [optional][in] */ BSTR Prompt);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInput )( 
            IIcadUtility __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *InputString);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInteger )( 
            IIcadUtility __RPC_FAR * This,
            /* [optional][in] */ BSTR Prompt,
            /* [retval][out] */ long __RPC_FAR *Value);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOrientation )( 
            IIcadUtility __RPC_FAR * This,
            /* [optional][in] */ IIcadPoint __RPC_FAR *Point,
            /* [optional][in] */ BSTR Prompt,
            /* [retval][out] */ double __RPC_FAR *pOrientation);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPoint )( 
            IIcadUtility __RPC_FAR * This,
            /* [optional][in] */ IIcadPoint __RPC_FAR *Point,
            /* [optional][in] */ BSTR Prompt,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetReal )( 
            IIcadUtility __RPC_FAR * This,
            /* [optional][in] */ BSTR Prompt,
            /* [retval][out] */ double __RPC_FAR *Value);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetString )( 
            IIcadUtility __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HasSpaces,
            /* [optional][in] */ BSTR Prompt,
            /* [retval][out] */ BSTR __RPC_FAR *String);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TranslateCoordinates )( 
            IIcadUtility __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *OriginPoint,
            /* [in] */ CoordinateSystemTypes From,
            /* [in] */ CoordinateSystemTypes To,
            /* [in] */ VARIANT_BOOL Disp,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InitializeUserInput )( 
            IIcadUtility __RPC_FAR * This,
            /* [in] */ UserInputType Bits,
            /* [optional][in] */ VARIANT Keywords);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetKeyword )( 
            IIcadUtility __RPC_FAR * This,
            /* [optional][in] */ BSTR Prompt,
            /* [retval][out] */ BSTR __RPC_FAR *String);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PolarPoint )( 
            IIcadUtility __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point,
            /* [in] */ double Angle,
            /* [in] */ double Distance,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PaintLine )( 
            IIcadUtility __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *StartPoint,
            /* [in] */ IIcadPoint __RPC_FAR *EndPoint,
            /* [optional][in] */ Colors Color,
            /* [optional][in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShowGraphicScreen )( 
            IIcadUtility __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShowTextScreen )( 
            IIcadUtility __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WildCardMatch )( 
            IIcadUtility __RPC_FAR * This,
            /* [in] */ BSTR Pattern,
            /* [in] */ BSTR String,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Match);
        
        END_INTERFACE
    } IIcadUtilityVtbl;

    interface IIcadUtility
    {
        CONST_VTBL struct IIcadUtilityVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadUtility_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadUtility_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadUtility_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadUtility_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadUtility_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadUtility_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadUtility_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadUtility_get_Application(This,Application)	\
    (This)->lpVtbl -> get_Application(This,Application)

#define IIcadUtility_get_Parent(This,Document)	\
    (This)->lpVtbl -> get_Parent(This,Document)

#define IIcadUtility_Alert(This,message)	\
    (This)->lpVtbl -> Alert(This,message)

#define IIcadUtility_AngleFromXAxis(This,Point1,Point2,pAngle)	\
    (This)->lpVtbl -> AngleFromXAxis(This,Point1,Point2,pAngle)

#define IIcadUtility_AngleToReal(This,Angle,Unit,pAngle)	\
    (This)->lpVtbl -> AngleToReal(This,Angle,Unit,pAngle)

#define IIcadUtility_DistanceToReal(This,Distance,Unit,pDistance)	\
    (This)->lpVtbl -> DistanceToReal(This,Distance,Unit,pDistance)

#define IIcadUtility_RealToString(This,Value,Unit,Precision,Distance)	\
    (This)->lpVtbl -> RealToString(This,Value,Unit,Precision,Distance)

#define IIcadUtility_AngleToString(This,Angle,Unit,Precision,str)	\
    (This)->lpVtbl -> AngleToString(This,Angle,Unit,Precision,str)

#define IIcadUtility_Prompt(This,TextString)	\
    (This)->lpVtbl -> Prompt(This,TextString)

#define IIcadUtility_ConvertUnit(This,Value,From,To,ConvertedValue)	\
    (This)->lpVtbl -> ConvertUnit(This,Value,From,To,ConvertedValue)

#define IIcadUtility_EntitySnap(This,InputPoint,SnapMode,ppPoint)	\
    (This)->lpVtbl -> EntitySnap(This,InputPoint,SnapMode,ppPoint)

#define IIcadUtility_FindFile(This,Name,FullPath)	\
    (This)->lpVtbl -> FindFile(This,Name,FullPath)

#define IIcadUtility_GetAngle(This,Point,Prompt,pAngle)	\
    (This)->lpVtbl -> GetAngle(This,Point,Prompt,pAngle)

#define IIcadUtility_GetCorner(This,Point,Prompt,ppCorner)	\
    (This)->lpVtbl -> GetCorner(This,Point,Prompt,ppCorner)

#define IIcadUtility_GetDistance(This,Point,Prompt,pDistance)	\
    (This)->lpVtbl -> GetDistance(This,Point,Prompt,pDistance)

#define IIcadUtility_GetEntity(This,Object,PickedPoint,Prompt)	\
    (This)->lpVtbl -> GetEntity(This,Object,PickedPoint,Prompt)

#define IIcadUtility_GetSubEntity(This,Object,PickedPoint,TransMatrix,ContextData,Prompt)	\
    (This)->lpVtbl -> GetSubEntity(This,Object,PickedPoint,TransMatrix,ContextData,Prompt)

#define IIcadUtility_GetInput(This,InputString)	\
    (This)->lpVtbl -> GetInput(This,InputString)

#define IIcadUtility_GetInteger(This,Prompt,Value)	\
    (This)->lpVtbl -> GetInteger(This,Prompt,Value)

#define IIcadUtility_GetOrientation(This,Point,Prompt,pOrientation)	\
    (This)->lpVtbl -> GetOrientation(This,Point,Prompt,pOrientation)

#define IIcadUtility_GetPoint(This,Point,Prompt,ppPoint)	\
    (This)->lpVtbl -> GetPoint(This,Point,Prompt,ppPoint)

#define IIcadUtility_GetReal(This,Prompt,Value)	\
    (This)->lpVtbl -> GetReal(This,Prompt,Value)

#define IIcadUtility_GetString(This,HasSpaces,Prompt,String)	\
    (This)->lpVtbl -> GetString(This,HasSpaces,Prompt,String)

#define IIcadUtility_TranslateCoordinates(This,OriginPoint,From,To,Disp,ppPoint)	\
    (This)->lpVtbl -> TranslateCoordinates(This,OriginPoint,From,To,Disp,ppPoint)

#define IIcadUtility_InitializeUserInput(This,Bits,Keywords)	\
    (This)->lpVtbl -> InitializeUserInput(This,Bits,Keywords)

#define IIcadUtility_GetKeyword(This,Prompt,String)	\
    (This)->lpVtbl -> GetKeyword(This,Prompt,String)

#define IIcadUtility_PolarPoint(This,Point,Angle,Distance,ppPoint)	\
    (This)->lpVtbl -> PolarPoint(This,Point,Angle,Distance,ppPoint)

#define IIcadUtility_PaintLine(This,StartPoint,EndPoint,Color,HighlightFlag)	\
    (This)->lpVtbl -> PaintLine(This,StartPoint,EndPoint,Color,HighlightFlag)

#define IIcadUtility_ShowGraphicScreen(This)	\
    (This)->lpVtbl -> ShowGraphicScreen(This)

#define IIcadUtility_ShowTextScreen(This)	\
    (This)->lpVtbl -> ShowTextScreen(This)

#define IIcadUtility_WildCardMatch(This,Pattern,String,Match)	\
    (This)->lpVtbl -> WildCardMatch(This,Pattern,String,Match)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadUtility_get_Application_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *Application);


void __RPC_STUB IIcadUtility_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadUtility_get_Parent_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *Document);


void __RPC_STUB IIcadUtility_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_Alert_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [in] */ BSTR message);


void __RPC_STUB IIcadUtility_Alert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_AngleFromXAxis_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point1,
    /* [in] */ IIcadPoint __RPC_FAR *Point2,
    /* [retval][out] */ double __RPC_FAR *pAngle);


void __RPC_STUB IIcadUtility_AngleFromXAxis_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_AngleToReal_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [in] */ BSTR Angle,
    /* [optional][in] */ AngleUnits Unit,
    /* [retval][out] */ double __RPC_FAR *pAngle);


void __RPC_STUB IIcadUtility_AngleToReal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_DistanceToReal_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [in] */ BSTR Distance,
    /* [optional][in] */ DistanceUnits Unit,
    /* [retval][out] */ double __RPC_FAR *pDistance);


void __RPC_STUB IIcadUtility_DistanceToReal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_RealToString_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [in] */ double Value,
    /* [in] */ DistanceUnits Unit,
    /* [in] */ long Precision,
    /* [retval][out] */ BSTR __RPC_FAR *Distance);


void __RPC_STUB IIcadUtility_RealToString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_AngleToString_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [in] */ double Angle,
    /* [in] */ AngleUnits Unit,
    /* [in] */ long Precision,
    /* [retval][out] */ BSTR __RPC_FAR *str);


void __RPC_STUB IIcadUtility_AngleToString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_Prompt_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [in] */ BSTR TextString);


void __RPC_STUB IIcadUtility_Prompt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_ConvertUnit_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [in] */ double Value,
    /* [in] */ BSTR From,
    /* [in] */ BSTR To,
    /* [retval][out] */ double __RPC_FAR *ConvertedValue);


void __RPC_STUB IIcadUtility_ConvertUnit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_EntitySnap_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *InputPoint,
    /* [in] */ ObjectSnapMode SnapMode,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint);


void __RPC_STUB IIcadUtility_EntitySnap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_FindFile_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [in] */ BSTR Name,
    /* [retval][out] */ BSTR __RPC_FAR *FullPath);


void __RPC_STUB IIcadUtility_FindFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_GetAngle_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [optional][in] */ IIcadPoint __RPC_FAR *Point,
    /* [optional][in] */ BSTR Prompt,
    /* [retval][out] */ double __RPC_FAR *pAngle);


void __RPC_STUB IIcadUtility_GetAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_GetCorner_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point,
    /* [optional][in] */ BSTR Prompt,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppCorner);


void __RPC_STUB IIcadUtility_GetCorner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_GetDistance_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [optional][in] */ IIcadPoint __RPC_FAR *Point,
    /* [optional][in] */ BSTR Prompt,
    /* [retval][out] */ double __RPC_FAR *pDistance);


void __RPC_STUB IIcadUtility_GetDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_GetEntity_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [out][in] */ IDispatch __RPC_FAR *__RPC_FAR *Object,
    /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *PickedPoint,
    /* [optional][in] */ BSTR Prompt);


void __RPC_STUB IIcadUtility_GetEntity_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_GetSubEntity_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [out][in] */ IDispatch __RPC_FAR *__RPC_FAR *Object,
    /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *PickedPoint,
    /* [out][in] */ IIcadMatrix __RPC_FAR *__RPC_FAR *TransMatrix,
    /* [out][in] */ VARIANT __RPC_FAR *ContextData,
    /* [optional][in] */ BSTR Prompt);


void __RPC_STUB IIcadUtility_GetSubEntity_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_GetInput_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *InputString);


void __RPC_STUB IIcadUtility_GetInput_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_GetInteger_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [optional][in] */ BSTR Prompt,
    /* [retval][out] */ long __RPC_FAR *Value);


void __RPC_STUB IIcadUtility_GetInteger_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_GetOrientation_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [optional][in] */ IIcadPoint __RPC_FAR *Point,
    /* [optional][in] */ BSTR Prompt,
    /* [retval][out] */ double __RPC_FAR *pOrientation);


void __RPC_STUB IIcadUtility_GetOrientation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_GetPoint_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [optional][in] */ IIcadPoint __RPC_FAR *Point,
    /* [optional][in] */ BSTR Prompt,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint);


void __RPC_STUB IIcadUtility_GetPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_GetReal_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [optional][in] */ BSTR Prompt,
    /* [retval][out] */ double __RPC_FAR *Value);


void __RPC_STUB IIcadUtility_GetReal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_GetString_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL HasSpaces,
    /* [optional][in] */ BSTR Prompt,
    /* [retval][out] */ BSTR __RPC_FAR *String);


void __RPC_STUB IIcadUtility_GetString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_TranslateCoordinates_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *OriginPoint,
    /* [in] */ CoordinateSystemTypes From,
    /* [in] */ CoordinateSystemTypes To,
    /* [in] */ VARIANT_BOOL Disp,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint);


void __RPC_STUB IIcadUtility_TranslateCoordinates_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_InitializeUserInput_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [in] */ UserInputType Bits,
    /* [optional][in] */ VARIANT Keywords);


void __RPC_STUB IIcadUtility_InitializeUserInput_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_GetKeyword_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [optional][in] */ BSTR Prompt,
    /* [retval][out] */ BSTR __RPC_FAR *String);


void __RPC_STUB IIcadUtility_GetKeyword_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_PolarPoint_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point,
    /* [in] */ double Angle,
    /* [in] */ double Distance,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint);


void __RPC_STUB IIcadUtility_PolarPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_PaintLine_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *StartPoint,
    /* [in] */ IIcadPoint __RPC_FAR *EndPoint,
    /* [optional][in] */ Colors Color,
    /* [optional][in] */ VARIANT_BOOL HighlightFlag);


void __RPC_STUB IIcadUtility_PaintLine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_ShowGraphicScreen_Proxy( 
    IIcadUtility __RPC_FAR * This);


void __RPC_STUB IIcadUtility_ShowGraphicScreen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_ShowTextScreen_Proxy( 
    IIcadUtility __RPC_FAR * This);


void __RPC_STUB IIcadUtility_ShowTextScreen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUtility_WildCardMatch_Proxy( 
    IIcadUtility __RPC_FAR * This,
    /* [in] */ BSTR Pattern,
    /* [in] */ BSTR String,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Match);


void __RPC_STUB IIcadUtility_WildCardMatch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadUtility_INTERFACE_DEFINED__ */


#ifndef __IIcadPlotterPen_INTERFACE_DEFINED__
#define __IIcadPlotterPen_INTERFACE_DEFINED__

/* interface IIcadPlotterPen */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IIcadPlotterPen;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c1c4-7e36-11d1-bc5a-0060089608a4")
    IIcadPlotterPen : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_BGRColor( 
            /* [retval][out] */ COLORREF __RPC_FAR *color) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_BGRColor( 
            /* [in] */ COLORREF color) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ACIColor( 
            /* [in] */ int index) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Weight( 
            /* [retval][out] */ double __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Weight( 
            /* [in] */ double newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Number( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Number( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Dummy( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Dummy( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_LineType( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_LineType( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Screening( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Screening( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Speed( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Speed( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Dither( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Dither( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Grayscale( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Grayscale( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Adaptive( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Adaptive( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_End( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_End( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Join( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Join( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Fill( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Fill( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_pen( 
            /* [retval][out] */ VARIANT __RPC_FAR *pen) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ACI2BGR( 
            /* [in] */ int index,
            /* [retval][out] */ COLORREF __RPC_FAR *color) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadPlotterPenVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadPlotterPen __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadPlotterPen __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_BGRColor )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [retval][out] */ COLORREF __RPC_FAR *color);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_BGRColor )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [in] */ COLORREF color);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ACIColor )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [in] */ int index);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Weight )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Weight )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [in] */ double newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Number )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Number )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Dummy )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Dummy )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LineType )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LineType )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Screening )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Screening )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Speed )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Speed )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Dither )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Dither )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Grayscale )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Grayscale )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Adaptive )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Adaptive )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_End )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_End )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Join )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Join )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Fill )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Fill )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_pen )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *pen);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ACI2BGR )( 
            IIcadPlotterPen __RPC_FAR * This,
            /* [in] */ int index,
            /* [retval][out] */ COLORREF __RPC_FAR *color);
        
        END_INTERFACE
    } IIcadPlotterPenVtbl;

    interface IIcadPlotterPen
    {
        CONST_VTBL struct IIcadPlotterPenVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadPlotterPen_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadPlotterPen_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadPlotterPen_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadPlotterPen_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadPlotterPen_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadPlotterPen_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadPlotterPen_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadPlotterPen_get_BGRColor(This,color)	\
    (This)->lpVtbl -> get_BGRColor(This,color)

#define IIcadPlotterPen_put_BGRColor(This,color)	\
    (This)->lpVtbl -> put_BGRColor(This,color)

#define IIcadPlotterPen_put_ACIColor(This,index)	\
    (This)->lpVtbl -> put_ACIColor(This,index)

#define IIcadPlotterPen_get_Weight(This,pVal)	\
    (This)->lpVtbl -> get_Weight(This,pVal)

#define IIcadPlotterPen_put_Weight(This,newVal)	\
    (This)->lpVtbl -> put_Weight(This,newVal)

#define IIcadPlotterPen_get_Number(This,pVal)	\
    (This)->lpVtbl -> get_Number(This,pVal)

#define IIcadPlotterPen_put_Number(This,newVal)	\
    (This)->lpVtbl -> put_Number(This,newVal)

#define IIcadPlotterPen_get_Dummy(This,pVal)	\
    (This)->lpVtbl -> get_Dummy(This,pVal)

#define IIcadPlotterPen_put_Dummy(This,newVal)	\
    (This)->lpVtbl -> put_Dummy(This,newVal)

#define IIcadPlotterPen_get_LineType(This,pVal)	\
    (This)->lpVtbl -> get_LineType(This,pVal)

#define IIcadPlotterPen_put_LineType(This,newVal)	\
    (This)->lpVtbl -> put_LineType(This,newVal)

#define IIcadPlotterPen_get_Screening(This,pVal)	\
    (This)->lpVtbl -> get_Screening(This,pVal)

#define IIcadPlotterPen_put_Screening(This,newVal)	\
    (This)->lpVtbl -> put_Screening(This,newVal)

#define IIcadPlotterPen_get_Speed(This,pVal)	\
    (This)->lpVtbl -> get_Speed(This,pVal)

#define IIcadPlotterPen_put_Speed(This,newVal)	\
    (This)->lpVtbl -> put_Speed(This,newVal)

#define IIcadPlotterPen_get_Dither(This,pVal)	\
    (This)->lpVtbl -> get_Dither(This,pVal)

#define IIcadPlotterPen_put_Dither(This,newVal)	\
    (This)->lpVtbl -> put_Dither(This,newVal)

#define IIcadPlotterPen_get_Grayscale(This,pVal)	\
    (This)->lpVtbl -> get_Grayscale(This,pVal)

#define IIcadPlotterPen_put_Grayscale(This,newVal)	\
    (This)->lpVtbl -> put_Grayscale(This,newVal)

#define IIcadPlotterPen_get_Adaptive(This,pVal)	\
    (This)->lpVtbl -> get_Adaptive(This,pVal)

#define IIcadPlotterPen_put_Adaptive(This,newVal)	\
    (This)->lpVtbl -> put_Adaptive(This,newVal)

#define IIcadPlotterPen_get_End(This,pVal)	\
    (This)->lpVtbl -> get_End(This,pVal)

#define IIcadPlotterPen_put_End(This,newVal)	\
    (This)->lpVtbl -> put_End(This,newVal)

#define IIcadPlotterPen_get_Join(This,pVal)	\
    (This)->lpVtbl -> get_Join(This,pVal)

#define IIcadPlotterPen_put_Join(This,newVal)	\
    (This)->lpVtbl -> put_Join(This,newVal)

#define IIcadPlotterPen_get_Fill(This,pVal)	\
    (This)->lpVtbl -> get_Fill(This,pVal)

#define IIcadPlotterPen_put_Fill(This,newVal)	\
    (This)->lpVtbl -> put_Fill(This,newVal)

#define IIcadPlotterPen_get_pen(This,pen)	\
    (This)->lpVtbl -> get_pen(This,pen)

#define IIcadPlotterPen_get_ACI2BGR(This,index,color)	\
    (This)->lpVtbl -> get_ACI2BGR(This,index,color)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_get_BGRColor_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [retval][out] */ COLORREF __RPC_FAR *color);


void __RPC_STUB IIcadPlotterPen_get_BGRColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_put_BGRColor_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [in] */ COLORREF color);


void __RPC_STUB IIcadPlotterPen_put_BGRColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_put_ACIColor_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [in] */ int index);


void __RPC_STUB IIcadPlotterPen_put_ACIColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_get_Weight_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotterPen_get_Weight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_put_Weight_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [in] */ double newVal);


void __RPC_STUB IIcadPlotterPen_put_Weight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_get_Number_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotterPen_get_Number_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_put_Number_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotterPen_put_Number_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_get_Dummy_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotterPen_get_Dummy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_put_Dummy_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotterPen_put_Dummy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_get_LineType_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotterPen_get_LineType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_put_LineType_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotterPen_put_LineType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_get_Screening_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotterPen_get_Screening_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_put_Screening_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotterPen_put_Screening_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_get_Speed_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotterPen_get_Speed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_put_Speed_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotterPen_put_Speed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_get_Dither_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotterPen_get_Dither_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_put_Dither_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotterPen_put_Dither_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_get_Grayscale_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotterPen_get_Grayscale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_put_Grayscale_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotterPen_put_Grayscale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_get_Adaptive_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotterPen_get_Adaptive_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_put_Adaptive_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotterPen_put_Adaptive_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_get_End_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotterPen_get_End_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_put_End_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotterPen_put_End_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_get_Join_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotterPen_get_Join_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_put_Join_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotterPen_put_Join_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_get_Fill_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotterPen_get_Fill_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_put_Fill_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotterPen_put_Fill_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_get_pen_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *pen);


void __RPC_STUB IIcadPlotterPen_get_pen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPen_get_ACI2BGR_Proxy( 
    IIcadPlotterPen __RPC_FAR * This,
    /* [in] */ int index,
    /* [retval][out] */ COLORREF __RPC_FAR *color);


void __RPC_STUB IIcadPlotterPen_get_ACI2BGR_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadPlotterPen_INTERFACE_DEFINED__ */


#ifndef __IIcadPlotterPens_INTERFACE_DEFINED__
#define __IIcadPlotterPens_INTERFACE_DEFINED__

/* interface IIcadPlotterPens */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IIcadPlotterPens;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c1c3-7e36-11d1-bc5a-0060089608a4")
    IIcadPlotterPens : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ VARIANT index,
            /* [retval][out] */ IIcadPlotterPen __RPC_FAR *__RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Item( 
            /* [in] */ VARIANT index,
            /* [in] */ IIcadPlotterPen __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_mode( 
            /* [retval][out] */ VARIANT __RPC_FAR *mode) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_mode( 
            /* [in] */ VARIANT mode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadPlotterPensVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadPlotterPens __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadPlotterPens __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadPlotterPens __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadPlotterPens __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadPlotterPens __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadPlotterPens __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadPlotterPens __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
            IIcadPlotterPens __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
            IIcadPlotterPens __RPC_FAR * This,
            /* [in] */ VARIANT index,
            /* [retval][out] */ IIcadPlotterPen __RPC_FAR *__RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Item )( 
            IIcadPlotterPens __RPC_FAR * This,
            /* [in] */ VARIANT index,
            /* [in] */ IIcadPlotterPen __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_mode )( 
            IIcadPlotterPens __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *mode);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_mode )( 
            IIcadPlotterPens __RPC_FAR * This,
            /* [in] */ VARIANT mode);
        
        END_INTERFACE
    } IIcadPlotterPensVtbl;

    interface IIcadPlotterPens
    {
        CONST_VTBL struct IIcadPlotterPensVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadPlotterPens_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadPlotterPens_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadPlotterPens_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadPlotterPens_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadPlotterPens_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadPlotterPens_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadPlotterPens_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadPlotterPens_get_Count(This,pVal)	\
    (This)->lpVtbl -> get_Count(This,pVal)

#define IIcadPlotterPens_get_Item(This,index,pVal)	\
    (This)->lpVtbl -> get_Item(This,index,pVal)

#define IIcadPlotterPens_put_Item(This,index,pVal)	\
    (This)->lpVtbl -> put_Item(This,index,pVal)

#define IIcadPlotterPens_get_mode(This,mode)	\
    (This)->lpVtbl -> get_mode(This,mode)

#define IIcadPlotterPens_put_mode(This,mode)	\
    (This)->lpVtbl -> put_mode(This,mode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPens_get_Count_Proxy( 
    IIcadPlotterPens __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotterPens_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPens_get_Item_Proxy( 
    IIcadPlotterPens __RPC_FAR * This,
    /* [in] */ VARIANT index,
    /* [retval][out] */ IIcadPlotterPen __RPC_FAR *__RPC_FAR *pVal);


void __RPC_STUB IIcadPlotterPens_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPens_put_Item_Proxy( 
    IIcadPlotterPens __RPC_FAR * This,
    /* [in] */ VARIANT index,
    /* [in] */ IIcadPlotterPen __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotterPens_put_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPens_get_mode_Proxy( 
    IIcadPlotterPens __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *mode);


void __RPC_STUB IIcadPlotterPens_get_mode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotterPens_put_mode_Proxy( 
    IIcadPlotterPens __RPC_FAR * This,
    /* [in] */ VARIANT mode);


void __RPC_STUB IIcadPlotterPens_put_mode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadPlotterPens_INTERFACE_DEFINED__ */


#ifndef __IIcadPlotDeviceConfig_INTERFACE_DEFINED__
#define __IIcadPlotDeviceConfig_INTERFACE_DEFINED__

/* interface IIcadPlotDeviceConfig */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IIcadPlotDeviceConfig;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c1c2-0000-11d1-bc5a-0000089608a4")
    IIcadPlotDeviceConfig : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ImportPC3( 
            BSTR filename) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ExportPC3( 
            BSTR filename) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetDriverData( 
            BYTE __RPC_FAR *data,
            int size,
            int driverVersion,
            int specVersion) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Description( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Driver( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PlotName( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_DriverString( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DriverString( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_StyleFile( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_GdiTextOut( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_GdiTextOut( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_TTFTextFill( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TTFTextFill( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_DriverData( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DriverData( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetPrintQuality( 
            int v) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetScale( 
            int v) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetDefaultSource( 
            int v) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetColor( 
            int v) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetLogPixels( 
            int v) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetTTOption( 
            int v) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetDitherType( 
            int v) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetMediaType( 
            int v) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetYResolution( 
            int v) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_PortName( 
            /* [in] */ BSTR v) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PortName( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_BaudRate( 
            unsigned long v) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_BaudRate( 
            /* [retval][out] */ unsigned long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Input( 
            unsigned long v) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Input( 
            /* [retval][out] */ unsigned long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Output( 
            unsigned long v) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Output( 
            /* [retval][out] */ unsigned long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Protocol( 
            /* [in] */ BSTR v) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Protocol( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_FlowControl( 
            /* [in] */ BSTR v) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_FlowControl( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Overwrite( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Overwrite( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_pmpfile( 
            /* [in] */ BSTR v) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_pmpfile( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_pmpsheet( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_pmpsheet( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_pmporiginX( 
            /* [in] */ double newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_pmporiginX( 
            /* [retval][out] */ double __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_pmporiginY( 
            /* [in] */ double newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_pmporiginY( 
            /* [retval][out] */ double __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_pmpscaleX( 
            /* [in] */ double newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_pmpscaleX( 
            /* [retval][out] */ double __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_pmpscaleY( 
            /* [in] */ double newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_pmpscaleY( 
            /* [retval][out] */ double __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_pmpsheetCustom( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_pmpsheetCustom( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_pmpsheetModify( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_pmpsheetModify( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_pmpsheetFilter( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_pmpsheetFilter( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_rasterAndrenderDPI( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_rasterAndrenderDPI( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_oleDPI( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_oleDPI( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_globalDPI( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_globalDPI( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_colorDepth( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_colorDepth( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_colorMode( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_colorMode( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_vectorDPI( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_vectorDPI( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_dithering( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_dithering( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_mediaType( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_mediaType( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_mediaSource( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_mediaSource( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_mediaWidth( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_mediaWidth( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_mediaDestination( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_mediaDestination( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_mediaCutting( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_mediaCutting( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ImportPMP( 
            BSTR filename) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ExportPMP( 
            BSTR filename) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadPlotDeviceConfigVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadPlotDeviceConfig __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadPlotDeviceConfig __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ImportPC3 )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            BSTR filename);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExportPC3 )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            BSTR filename);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDriverData )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            BYTE __RPC_FAR *data,
            int size,
            int driverVersion,
            int specVersion);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Description )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Description )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Driver )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlotName )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DriverString )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DriverString )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StyleFile )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_GdiTextOut )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_GdiTextOut )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TTFTextFill )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TTFTextFill )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DriverData )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DriverData )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPrintQuality )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            int v);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetScale )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            int v);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDefaultSource )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            int v);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetColor )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            int v);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLogPixels )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            int v);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTTOption )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            int v);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDitherType )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            int v);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMediaType )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            int v);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetYResolution )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            int v);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PortName )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ BSTR v);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PortName )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_BaudRate )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            unsigned long v);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_BaudRate )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ unsigned long __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Input )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            unsigned long v);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Input )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ unsigned long __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Output )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            unsigned long v);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Output )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ unsigned long __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Protocol )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ BSTR v);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Protocol )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_FlowControl )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ BSTR v);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FlowControl )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Overwrite )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Overwrite )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_pmpfile )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ BSTR v);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_pmpfile )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_pmpsheet )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_pmpsheet )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_pmporiginX )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ double newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_pmporiginX )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_pmporiginY )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ double newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_pmporiginY )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_pmpscaleX )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ double newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_pmpscaleX )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_pmpscaleY )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ double newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_pmpscaleY )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_pmpsheetCustom )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_pmpsheetCustom )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_pmpsheetModify )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_pmpsheetModify )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_pmpsheetFilter )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_pmpsheetFilter )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_rasterAndrenderDPI )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_rasterAndrenderDPI )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_oleDPI )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_oleDPI )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_globalDPI )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_globalDPI )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_colorDepth )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_colorDepth )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_colorMode )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_colorMode )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_vectorDPI )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_vectorDPI )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_dithering )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_dithering )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_mediaType )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_mediaType )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_mediaSource )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_mediaSource )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_mediaWidth )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_mediaWidth )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_mediaDestination )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_mediaDestination )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_mediaCutting )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_mediaCutting )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ImportPMP )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            BSTR filename);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExportPMP )( 
            IIcadPlotDeviceConfig __RPC_FAR * This,
            BSTR filename);
        
        END_INTERFACE
    } IIcadPlotDeviceConfigVtbl;

    interface IIcadPlotDeviceConfig
    {
        CONST_VTBL struct IIcadPlotDeviceConfigVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadPlotDeviceConfig_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadPlotDeviceConfig_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadPlotDeviceConfig_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadPlotDeviceConfig_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadPlotDeviceConfig_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadPlotDeviceConfig_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadPlotDeviceConfig_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadPlotDeviceConfig_ImportPC3(This,filename)	\
    (This)->lpVtbl -> ImportPC3(This,filename)

#define IIcadPlotDeviceConfig_ExportPC3(This,filename)	\
    (This)->lpVtbl -> ExportPC3(This,filename)

#define IIcadPlotDeviceConfig_SetDriverData(This,data,size,driverVersion,specVersion)	\
    (This)->lpVtbl -> SetDriverData(This,data,size,driverVersion,specVersion)

#define IIcadPlotDeviceConfig_get_Description(This,pVal)	\
    (This)->lpVtbl -> get_Description(This,pVal)

#define IIcadPlotDeviceConfig_put_Description(This,newVal)	\
    (This)->lpVtbl -> put_Description(This,newVal)

#define IIcadPlotDeviceConfig_get_Driver(This,pVal)	\
    (This)->lpVtbl -> get_Driver(This,pVal)

#define IIcadPlotDeviceConfig_get_PlotName(This,pVal)	\
    (This)->lpVtbl -> get_PlotName(This,pVal)

#define IIcadPlotDeviceConfig_put_DriverString(This,newVal)	\
    (This)->lpVtbl -> put_DriverString(This,newVal)

#define IIcadPlotDeviceConfig_get_DriverString(This,pVal)	\
    (This)->lpVtbl -> get_DriverString(This,pVal)

#define IIcadPlotDeviceConfig_put_StyleFile(This,newVal)	\
    (This)->lpVtbl -> put_StyleFile(This,newVal)

#define IIcadPlotDeviceConfig_put_GdiTextOut(This,newVal)	\
    (This)->lpVtbl -> put_GdiTextOut(This,newVal)

#define IIcadPlotDeviceConfig_get_GdiTextOut(This,pVal)	\
    (This)->lpVtbl -> get_GdiTextOut(This,pVal)

#define IIcadPlotDeviceConfig_put_TTFTextFill(This,newVal)	\
    (This)->lpVtbl -> put_TTFTextFill(This,newVal)

#define IIcadPlotDeviceConfig_get_TTFTextFill(This,pVal)	\
    (This)->lpVtbl -> get_TTFTextFill(This,pVal)

#define IIcadPlotDeviceConfig_put_DriverData(This,newVal)	\
    (This)->lpVtbl -> put_DriverData(This,newVal)

#define IIcadPlotDeviceConfig_get_DriverData(This,pVal)	\
    (This)->lpVtbl -> get_DriverData(This,pVal)

#define IIcadPlotDeviceConfig_SetPrintQuality(This,v)	\
    (This)->lpVtbl -> SetPrintQuality(This,v)

#define IIcadPlotDeviceConfig_SetScale(This,v)	\
    (This)->lpVtbl -> SetScale(This,v)

#define IIcadPlotDeviceConfig_SetDefaultSource(This,v)	\
    (This)->lpVtbl -> SetDefaultSource(This,v)

#define IIcadPlotDeviceConfig_SetColor(This,v)	\
    (This)->lpVtbl -> SetColor(This,v)

#define IIcadPlotDeviceConfig_SetLogPixels(This,v)	\
    (This)->lpVtbl -> SetLogPixels(This,v)

#define IIcadPlotDeviceConfig_SetTTOption(This,v)	\
    (This)->lpVtbl -> SetTTOption(This,v)

#define IIcadPlotDeviceConfig_SetDitherType(This,v)	\
    (This)->lpVtbl -> SetDitherType(This,v)

#define IIcadPlotDeviceConfig_SetMediaType(This,v)	\
    (This)->lpVtbl -> SetMediaType(This,v)

#define IIcadPlotDeviceConfig_SetYResolution(This,v)	\
    (This)->lpVtbl -> SetYResolution(This,v)

#define IIcadPlotDeviceConfig_put_PortName(This,v)	\
    (This)->lpVtbl -> put_PortName(This,v)

#define IIcadPlotDeviceConfig_get_PortName(This,pVal)	\
    (This)->lpVtbl -> get_PortName(This,pVal)

#define IIcadPlotDeviceConfig_put_BaudRate(This,v)	\
    (This)->lpVtbl -> put_BaudRate(This,v)

#define IIcadPlotDeviceConfig_get_BaudRate(This,pVal)	\
    (This)->lpVtbl -> get_BaudRate(This,pVal)

#define IIcadPlotDeviceConfig_put_Input(This,v)	\
    (This)->lpVtbl -> put_Input(This,v)

#define IIcadPlotDeviceConfig_get_Input(This,pVal)	\
    (This)->lpVtbl -> get_Input(This,pVal)

#define IIcadPlotDeviceConfig_put_Output(This,v)	\
    (This)->lpVtbl -> put_Output(This,v)

#define IIcadPlotDeviceConfig_get_Output(This,pVal)	\
    (This)->lpVtbl -> get_Output(This,pVal)

#define IIcadPlotDeviceConfig_put_Protocol(This,v)	\
    (This)->lpVtbl -> put_Protocol(This,v)

#define IIcadPlotDeviceConfig_get_Protocol(This,pVal)	\
    (This)->lpVtbl -> get_Protocol(This,pVal)

#define IIcadPlotDeviceConfig_put_FlowControl(This,v)	\
    (This)->lpVtbl -> put_FlowControl(This,v)

#define IIcadPlotDeviceConfig_get_FlowControl(This,pVal)	\
    (This)->lpVtbl -> get_FlowControl(This,pVal)

#define IIcadPlotDeviceConfig_put_Overwrite(This,newVal)	\
    (This)->lpVtbl -> put_Overwrite(This,newVal)

#define IIcadPlotDeviceConfig_get_Overwrite(This,pVal)	\
    (This)->lpVtbl -> get_Overwrite(This,pVal)

#define IIcadPlotDeviceConfig_put_pmpfile(This,v)	\
    (This)->lpVtbl -> put_pmpfile(This,v)

#define IIcadPlotDeviceConfig_get_pmpfile(This,pVal)	\
    (This)->lpVtbl -> get_pmpfile(This,pVal)

#define IIcadPlotDeviceConfig_put_pmpsheet(This,newVal)	\
    (This)->lpVtbl -> put_pmpsheet(This,newVal)

#define IIcadPlotDeviceConfig_get_pmpsheet(This,pVal)	\
    (This)->lpVtbl -> get_pmpsheet(This,pVal)

#define IIcadPlotDeviceConfig_put_pmporiginX(This,newVal)	\
    (This)->lpVtbl -> put_pmporiginX(This,newVal)

#define IIcadPlotDeviceConfig_get_pmporiginX(This,pVal)	\
    (This)->lpVtbl -> get_pmporiginX(This,pVal)

#define IIcadPlotDeviceConfig_put_pmporiginY(This,newVal)	\
    (This)->lpVtbl -> put_pmporiginY(This,newVal)

#define IIcadPlotDeviceConfig_get_pmporiginY(This,pVal)	\
    (This)->lpVtbl -> get_pmporiginY(This,pVal)

#define IIcadPlotDeviceConfig_put_pmpscaleX(This,newVal)	\
    (This)->lpVtbl -> put_pmpscaleX(This,newVal)

#define IIcadPlotDeviceConfig_get_pmpscaleX(This,pVal)	\
    (This)->lpVtbl -> get_pmpscaleX(This,pVal)

#define IIcadPlotDeviceConfig_put_pmpscaleY(This,newVal)	\
    (This)->lpVtbl -> put_pmpscaleY(This,newVal)

#define IIcadPlotDeviceConfig_get_pmpscaleY(This,pVal)	\
    (This)->lpVtbl -> get_pmpscaleY(This,pVal)

#define IIcadPlotDeviceConfig_put_pmpsheetCustom(This,newVal)	\
    (This)->lpVtbl -> put_pmpsheetCustom(This,newVal)

#define IIcadPlotDeviceConfig_get_pmpsheetCustom(This,pVal)	\
    (This)->lpVtbl -> get_pmpsheetCustom(This,pVal)

#define IIcadPlotDeviceConfig_put_pmpsheetModify(This,newVal)	\
    (This)->lpVtbl -> put_pmpsheetModify(This,newVal)

#define IIcadPlotDeviceConfig_get_pmpsheetModify(This,pVal)	\
    (This)->lpVtbl -> get_pmpsheetModify(This,pVal)

#define IIcadPlotDeviceConfig_put_pmpsheetFilter(This,newVal)	\
    (This)->lpVtbl -> put_pmpsheetFilter(This,newVal)

#define IIcadPlotDeviceConfig_get_pmpsheetFilter(This,pVal)	\
    (This)->lpVtbl -> get_pmpsheetFilter(This,pVal)

#define IIcadPlotDeviceConfig_put_rasterAndrenderDPI(This,newVal)	\
    (This)->lpVtbl -> put_rasterAndrenderDPI(This,newVal)

#define IIcadPlotDeviceConfig_get_rasterAndrenderDPI(This,pVal)	\
    (This)->lpVtbl -> get_rasterAndrenderDPI(This,pVal)

#define IIcadPlotDeviceConfig_put_oleDPI(This,newVal)	\
    (This)->lpVtbl -> put_oleDPI(This,newVal)

#define IIcadPlotDeviceConfig_get_oleDPI(This,pVal)	\
    (This)->lpVtbl -> get_oleDPI(This,pVal)

#define IIcadPlotDeviceConfig_put_globalDPI(This,newVal)	\
    (This)->lpVtbl -> put_globalDPI(This,newVal)

#define IIcadPlotDeviceConfig_get_globalDPI(This,pVal)	\
    (This)->lpVtbl -> get_globalDPI(This,pVal)

#define IIcadPlotDeviceConfig_put_colorDepth(This,newVal)	\
    (This)->lpVtbl -> put_colorDepth(This,newVal)

#define IIcadPlotDeviceConfig_get_colorDepth(This,pVal)	\
    (This)->lpVtbl -> get_colorDepth(This,pVal)

#define IIcadPlotDeviceConfig_put_colorMode(This,newVal)	\
    (This)->lpVtbl -> put_colorMode(This,newVal)

#define IIcadPlotDeviceConfig_get_colorMode(This,pVal)	\
    (This)->lpVtbl -> get_colorMode(This,pVal)

#define IIcadPlotDeviceConfig_put_vectorDPI(This,newVal)	\
    (This)->lpVtbl -> put_vectorDPI(This,newVal)

#define IIcadPlotDeviceConfig_get_vectorDPI(This,pVal)	\
    (This)->lpVtbl -> get_vectorDPI(This,pVal)

#define IIcadPlotDeviceConfig_put_dithering(This,newVal)	\
    (This)->lpVtbl -> put_dithering(This,newVal)

#define IIcadPlotDeviceConfig_get_dithering(This,pVal)	\
    (This)->lpVtbl -> get_dithering(This,pVal)

#define IIcadPlotDeviceConfig_put_mediaType(This,newVal)	\
    (This)->lpVtbl -> put_mediaType(This,newVal)

#define IIcadPlotDeviceConfig_get_mediaType(This,pVal)	\
    (This)->lpVtbl -> get_mediaType(This,pVal)

#define IIcadPlotDeviceConfig_put_mediaSource(This,newVal)	\
    (This)->lpVtbl -> put_mediaSource(This,newVal)

#define IIcadPlotDeviceConfig_get_mediaSource(This,pVal)	\
    (This)->lpVtbl -> get_mediaSource(This,pVal)

#define IIcadPlotDeviceConfig_put_mediaWidth(This,newVal)	\
    (This)->lpVtbl -> put_mediaWidth(This,newVal)

#define IIcadPlotDeviceConfig_get_mediaWidth(This,pVal)	\
    (This)->lpVtbl -> get_mediaWidth(This,pVal)

#define IIcadPlotDeviceConfig_put_mediaDestination(This,newVal)	\
    (This)->lpVtbl -> put_mediaDestination(This,newVal)

#define IIcadPlotDeviceConfig_get_mediaDestination(This,pVal)	\
    (This)->lpVtbl -> get_mediaDestination(This,pVal)

#define IIcadPlotDeviceConfig_put_mediaCutting(This,newVal)	\
    (This)->lpVtbl -> put_mediaCutting(This,newVal)

#define IIcadPlotDeviceConfig_get_mediaCutting(This,pVal)	\
    (This)->lpVtbl -> get_mediaCutting(This,pVal)

#define IIcadPlotDeviceConfig_ImportPMP(This,filename)	\
    (This)->lpVtbl -> ImportPMP(This,filename)

#define IIcadPlotDeviceConfig_ExportPMP(This,filename)	\
    (This)->lpVtbl -> ExportPMP(This,filename)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_ImportPC3_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    BSTR filename);


void __RPC_STUB IIcadPlotDeviceConfig_ImportPC3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_ExportPC3_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    BSTR filename);


void __RPC_STUB IIcadPlotDeviceConfig_ExportPC3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_SetDriverData_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    BYTE __RPC_FAR *data,
    int size,
    int driverVersion,
    int specVersion);


void __RPC_STUB IIcadPlotDeviceConfig_SetDriverData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_Description_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_Description_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_Description_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_Description_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_Driver_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_Driver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_PlotName_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_PlotName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_DriverString_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_DriverString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_DriverString_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_DriverString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_StyleFile_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_StyleFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_GdiTextOut_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_GdiTextOut_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_GdiTextOut_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_GdiTextOut_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_TTFTextFill_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_TTFTextFill_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_TTFTextFill_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_TTFTextFill_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_DriverData_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_DriverData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_DriverData_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_DriverData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_SetPrintQuality_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    int v);


void __RPC_STUB IIcadPlotDeviceConfig_SetPrintQuality_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_SetScale_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    int v);


void __RPC_STUB IIcadPlotDeviceConfig_SetScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_SetDefaultSource_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    int v);


void __RPC_STUB IIcadPlotDeviceConfig_SetDefaultSource_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_SetColor_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    int v);


void __RPC_STUB IIcadPlotDeviceConfig_SetColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_SetLogPixels_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    int v);


void __RPC_STUB IIcadPlotDeviceConfig_SetLogPixels_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_SetTTOption_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    int v);


void __RPC_STUB IIcadPlotDeviceConfig_SetTTOption_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_SetDitherType_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    int v);


void __RPC_STUB IIcadPlotDeviceConfig_SetDitherType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_SetMediaType_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    int v);


void __RPC_STUB IIcadPlotDeviceConfig_SetMediaType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_SetYResolution_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    int v);


void __RPC_STUB IIcadPlotDeviceConfig_SetYResolution_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_PortName_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ BSTR v);


void __RPC_STUB IIcadPlotDeviceConfig_put_PortName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_PortName_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_PortName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_BaudRate_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    unsigned long v);


void __RPC_STUB IIcadPlotDeviceConfig_put_BaudRate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_BaudRate_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ unsigned long __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_BaudRate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_Input_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    unsigned long v);


void __RPC_STUB IIcadPlotDeviceConfig_put_Input_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_Input_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ unsigned long __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_Input_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_Output_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    unsigned long v);


void __RPC_STUB IIcadPlotDeviceConfig_put_Output_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_Output_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ unsigned long __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_Output_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_Protocol_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ BSTR v);


void __RPC_STUB IIcadPlotDeviceConfig_put_Protocol_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_Protocol_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_Protocol_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_FlowControl_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ BSTR v);


void __RPC_STUB IIcadPlotDeviceConfig_put_FlowControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_FlowControl_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_FlowControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_Overwrite_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_Overwrite_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_Overwrite_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_Overwrite_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_pmpfile_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ BSTR v);


void __RPC_STUB IIcadPlotDeviceConfig_put_pmpfile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_pmpfile_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_pmpfile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_pmpsheet_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_pmpsheet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_pmpsheet_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_pmpsheet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_pmporiginX_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ double newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_pmporiginX_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_pmporiginX_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_pmporiginX_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_pmporiginY_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ double newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_pmporiginY_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_pmporiginY_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_pmporiginY_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_pmpscaleX_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ double newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_pmpscaleX_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_pmpscaleX_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_pmpscaleX_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_pmpscaleY_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ double newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_pmpscaleY_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_pmpscaleY_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_pmpscaleY_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_pmpsheetCustom_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_pmpsheetCustom_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_pmpsheetCustom_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_pmpsheetCustom_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_pmpsheetModify_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_pmpsheetModify_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_pmpsheetModify_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_pmpsheetModify_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_pmpsheetFilter_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_pmpsheetFilter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_pmpsheetFilter_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_pmpsheetFilter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_rasterAndrenderDPI_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_rasterAndrenderDPI_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_rasterAndrenderDPI_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_rasterAndrenderDPI_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_oleDPI_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_oleDPI_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_oleDPI_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_oleDPI_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_globalDPI_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_globalDPI_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_globalDPI_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_globalDPI_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_colorDepth_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_colorDepth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_colorDepth_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_colorDepth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_colorMode_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_colorMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_colorMode_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_colorMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_vectorDPI_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_vectorDPI_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_vectorDPI_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_vectorDPI_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_dithering_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_dithering_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_dithering_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_dithering_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_mediaType_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_mediaType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_mediaType_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_mediaType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_mediaSource_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_mediaSource_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_mediaSource_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_mediaSource_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_mediaWidth_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_mediaWidth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_mediaWidth_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_mediaWidth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_mediaDestination_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_mediaDestination_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_mediaDestination_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_mediaDestination_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_put_mediaCutting_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotDeviceConfig_put_mediaCutting_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_get_mediaCutting_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotDeviceConfig_get_mediaCutting_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_ImportPMP_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    BSTR filename);


void __RPC_STUB IIcadPlotDeviceConfig_ImportPMP_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotDeviceConfig_ExportPMP_Proxy( 
    IIcadPlotDeviceConfig __RPC_FAR * This,
    BSTR filename);


void __RPC_STUB IIcadPlotDeviceConfig_ExportPMP_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadPlotDeviceConfig_INTERFACE_DEFINED__ */


#ifndef __IIcadPlotProperties_INTERFACE_DEFINED__
#define __IIcadPlotProperties_INTERFACE_DEFINED__

/* interface IIcadPlotProperties */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IIcadPlotProperties;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c1c2-7e36-11d1-bc5a-0060089608a4")
    IIcadPlotProperties : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_StyleSheet( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PlotFile( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Pens( 
            /* [retval][out] */ IIcadPlotterPens __RPC_FAR *__RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_OriginX( 
            /* [retval][out] */ double __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_OriginX( 
            /* [in] */ double newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_OriginY( 
            /* [retval][out] */ double __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_OriginY( 
            /* [in] */ double newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Units( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Units( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Version( 
            /* [retval][out] */ double __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_OptimizeLevel( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_OptimizeLevel( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Rotate( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Rotate( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Scale( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Scale( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PenWidth( 
            /* [retval][out] */ double __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_PenWidth( 
            /* [in] */ double newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadPlotPropertiesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadPlotProperties __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadPlotProperties __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StyleSheet )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlotFile )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Pens )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [retval][out] */ IIcadPlotterPens __RPC_FAR *__RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_OriginX )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_OriginX )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [in] */ double newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_OriginY )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_OriginY )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [in] */ double newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Units )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Units )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Version )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_OptimizeLevel )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_OptimizeLevel )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rotate )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rotate )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Scale )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Scale )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PenWidth )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PenWidth )( 
            IIcadPlotProperties __RPC_FAR * This,
            /* [in] */ double newVal);
        
        END_INTERFACE
    } IIcadPlotPropertiesVtbl;

    interface IIcadPlotProperties
    {
        CONST_VTBL struct IIcadPlotPropertiesVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadPlotProperties_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadPlotProperties_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadPlotProperties_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadPlotProperties_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadPlotProperties_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadPlotProperties_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadPlotProperties_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadPlotProperties_get_StyleSheet(This,pVal)	\
    (This)->lpVtbl -> get_StyleSheet(This,pVal)

#define IIcadPlotProperties_get_PlotFile(This,pVal)	\
    (This)->lpVtbl -> get_PlotFile(This,pVal)

#define IIcadPlotProperties_get_Pens(This,pVal)	\
    (This)->lpVtbl -> get_Pens(This,pVal)

#define IIcadPlotProperties_get_OriginX(This,pVal)	\
    (This)->lpVtbl -> get_OriginX(This,pVal)

#define IIcadPlotProperties_put_OriginX(This,newVal)	\
    (This)->lpVtbl -> put_OriginX(This,newVal)

#define IIcadPlotProperties_get_OriginY(This,pVal)	\
    (This)->lpVtbl -> get_OriginY(This,pVal)

#define IIcadPlotProperties_put_OriginY(This,newVal)	\
    (This)->lpVtbl -> put_OriginY(This,newVal)

#define IIcadPlotProperties_get_Units(This,pVal)	\
    (This)->lpVtbl -> get_Units(This,pVal)

#define IIcadPlotProperties_put_Units(This,newVal)	\
    (This)->lpVtbl -> put_Units(This,newVal)

#define IIcadPlotProperties_get_Version(This,pVal)	\
    (This)->lpVtbl -> get_Version(This,pVal)

#define IIcadPlotProperties_get_OptimizeLevel(This,pVal)	\
    (This)->lpVtbl -> get_OptimizeLevel(This,pVal)

#define IIcadPlotProperties_put_OptimizeLevel(This,newVal)	\
    (This)->lpVtbl -> put_OptimizeLevel(This,newVal)

#define IIcadPlotProperties_get_Rotate(This,pVal)	\
    (This)->lpVtbl -> get_Rotate(This,pVal)

#define IIcadPlotProperties_put_Rotate(This,newVal)	\
    (This)->lpVtbl -> put_Rotate(This,newVal)

#define IIcadPlotProperties_get_Scale(This,pVal)	\
    (This)->lpVtbl -> get_Scale(This,pVal)

#define IIcadPlotProperties_put_Scale(This,newVal)	\
    (This)->lpVtbl -> put_Scale(This,newVal)

#define IIcadPlotProperties_get_PenWidth(This,pVal)	\
    (This)->lpVtbl -> get_PenWidth(This,pVal)

#define IIcadPlotProperties_put_PenWidth(This,newVal)	\
    (This)->lpVtbl -> put_PenWidth(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotProperties_get_StyleSheet_Proxy( 
    IIcadPlotProperties __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotProperties_get_StyleSheet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotProperties_get_PlotFile_Proxy( 
    IIcadPlotProperties __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotProperties_get_PlotFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotProperties_get_Pens_Proxy( 
    IIcadPlotProperties __RPC_FAR * This,
    /* [retval][out] */ IIcadPlotterPens __RPC_FAR *__RPC_FAR *pVal);


void __RPC_STUB IIcadPlotProperties_get_Pens_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotProperties_get_OriginX_Proxy( 
    IIcadPlotProperties __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotProperties_get_OriginX_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotProperties_put_OriginX_Proxy( 
    IIcadPlotProperties __RPC_FAR * This,
    /* [in] */ double newVal);


void __RPC_STUB IIcadPlotProperties_put_OriginX_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotProperties_get_OriginY_Proxy( 
    IIcadPlotProperties __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotProperties_get_OriginY_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotProperties_put_OriginY_Proxy( 
    IIcadPlotProperties __RPC_FAR * This,
    /* [in] */ double newVal);


void __RPC_STUB IIcadPlotProperties_put_OriginY_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotProperties_get_Units_Proxy( 
    IIcadPlotProperties __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotProperties_get_Units_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotProperties_put_Units_Proxy( 
    IIcadPlotProperties __RPC_FAR * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IIcadPlotProperties_put_Units_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotProperties_get_Version_Proxy( 
    IIcadPlotProperties __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotProperties_get_Version_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotProperties_get_OptimizeLevel_Proxy( 
    IIcadPlotProperties __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotProperties_get_OptimizeLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotProperties_put_OptimizeLevel_Proxy( 
    IIcadPlotProperties __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotProperties_put_OptimizeLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotProperties_get_Rotate_Proxy( 
    IIcadPlotProperties __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotProperties_get_Rotate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotProperties_put_Rotate_Proxy( 
    IIcadPlotProperties __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotProperties_put_Rotate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotProperties_get_Scale_Proxy( 
    IIcadPlotProperties __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotProperties_get_Scale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotProperties_put_Scale_Proxy( 
    IIcadPlotProperties __RPC_FAR * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IIcadPlotProperties_put_Scale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotProperties_get_PenWidth_Proxy( 
    IIcadPlotProperties __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotProperties_get_PenWidth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotProperties_put_PenWidth_Proxy( 
    IIcadPlotProperties __RPC_FAR * This,
    /* [in] */ double newVal);


void __RPC_STUB IIcadPlotProperties_put_PenWidth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadPlotProperties_INTERFACE_DEFINED__ */


#ifndef __IIcadPlotManager_INTERFACE_DEFINED__
#define __IIcadPlotManager_INTERFACE_DEFINED__

/* interface IIcadPlotManager */
/* [unique][helpstring][dual][uuid][object] */ 

typedef /* [uuid] */ 
enum PrintArea
    {	CurrentView	= 0,
	Extents	= CurrentView + 1,
	Limits	= Extents + 1,
	Window	= Limits + 1
    }	PrintArea;


EXTERN_C const IID IID_IIcadPlotManager;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c1c1-7e36-11d1-bc5a-0060089608a4")
    IIcadPlotManager : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ImportPlotProperties( 
            BSTR filename) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ExportPlotProperties( 
            BSTR filename) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ImportRegPlotProperties( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ExportRegPlotProperties( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Print( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Preview( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetWindow( 
            double __RPC_FAR *fromX,
            double __RPC_FAR *fromY,
            double __RPC_FAR *toX,
            double __RPC_FAR *toY) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetWindow( 
            double fromX,
            double fromY,
            double toX,
            double toY) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPaperSize( 
            int __RPC_FAR *size,
            int __RPC_FAR *length,
            int __RPC_FAR *width) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetPaperSize( 
            int size,
            int length,
            int width) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPaperTSize( 
            BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetPaperTSize( 
            BSTR newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPaperYSize( 
            BSTR __RPC_FAR *pName,
            int __RPC_FAR *length,
            int __RPC_FAR *width,
            int __RPC_FAR *paper) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPrinterSettings( 
            LONG __RPC_FAR *phDevMode,
            LONG __RPC_FAR *phDevNames) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDefault( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetPrinterNotVBA( 
            BSTR printerName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetPrinter( 
            BSTR printerName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetWorking( 
            int mode) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PlotProperties( 
            /* [retval][out] */ IIcadPlotProperties __RPC_FAR *__RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Area( 
            /* [retval][out] */ PrintArea __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Area( 
            /* [in] */ PrintArea newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PaperOrientation( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_PaperOrientation( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Header( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Header( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Footer( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Footer( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CenterOnPage( 
            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_CenterOnPage( 
            /* [in] */ BOOL newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Shade( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Shade( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PlotNames( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PlotDeviceConfig( 
            /* [retval][out] */ IIcadPlotDeviceConfig __RPC_FAR *__RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_UseStyle( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_UseStyle( 
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_UseOLW( 
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_UseOLW( 
            /* [in] */ int newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadPlotManagerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadPlotManager __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadPlotManager __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ImportPlotProperties )( 
            IIcadPlotManager __RPC_FAR * This,
            BSTR filename);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExportPlotProperties )( 
            IIcadPlotManager __RPC_FAR * This,
            BSTR filename);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ImportRegPlotProperties )( 
            IIcadPlotManager __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExportRegPlotProperties )( 
            IIcadPlotManager __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Print )( 
            IIcadPlotManager __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Preview )( 
            IIcadPlotManager __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetWindow )( 
            IIcadPlotManager __RPC_FAR * This,
            double __RPC_FAR *fromX,
            double __RPC_FAR *fromY,
            double __RPC_FAR *toX,
            double __RPC_FAR *toY);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetWindow )( 
            IIcadPlotManager __RPC_FAR * This,
            double fromX,
            double fromY,
            double toX,
            double toY);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPaperSize )( 
            IIcadPlotManager __RPC_FAR * This,
            int __RPC_FAR *size,
            int __RPC_FAR *length,
            int __RPC_FAR *width);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPaperSize )( 
            IIcadPlotManager __RPC_FAR * This,
            int size,
            int length,
            int width);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPaperTSize )( 
            IIcadPlotManager __RPC_FAR * This,
            BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPaperTSize )( 
            IIcadPlotManager __RPC_FAR * This,
            BSTR newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPaperYSize )( 
            IIcadPlotManager __RPC_FAR * This,
            BSTR __RPC_FAR *pName,
            int __RPC_FAR *length,
            int __RPC_FAR *width,
            int __RPC_FAR *paper);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPrinterSettings )( 
            IIcadPlotManager __RPC_FAR * This,
            LONG __RPC_FAR *phDevMode,
            LONG __RPC_FAR *phDevNames);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDefault )( 
            IIcadPlotManager __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPrinterNotVBA )( 
            IIcadPlotManager __RPC_FAR * This,
            BSTR printerName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPrinter )( 
            IIcadPlotManager __RPC_FAR * This,
            BSTR printerName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetWorking )( 
            IIcadPlotManager __RPC_FAR * This,
            int mode);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlotProperties )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [retval][out] */ IIcadPlotProperties __RPC_FAR *__RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Area )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [retval][out] */ PrintArea __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Area )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [in] */ PrintArea newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PaperOrientation )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PaperOrientation )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Header )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Header )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Footer )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Footer )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CenterOnPage )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [retval][out] */ BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CenterOnPage )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [in] */ BOOL newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Shade )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Shade )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlotNames )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlotDeviceConfig )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [retval][out] */ IIcadPlotDeviceConfig __RPC_FAR *__RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UseStyle )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_UseStyle )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UseOLW )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_UseOLW )( 
            IIcadPlotManager __RPC_FAR * This,
            /* [in] */ int newVal);
        
        END_INTERFACE
    } IIcadPlotManagerVtbl;

    interface IIcadPlotManager
    {
        CONST_VTBL struct IIcadPlotManagerVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadPlotManager_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadPlotManager_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadPlotManager_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadPlotManager_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadPlotManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadPlotManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadPlotManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadPlotManager_ImportPlotProperties(This,filename)	\
    (This)->lpVtbl -> ImportPlotProperties(This,filename)

#define IIcadPlotManager_ExportPlotProperties(This,filename)	\
    (This)->lpVtbl -> ExportPlotProperties(This,filename)

#define IIcadPlotManager_ImportRegPlotProperties(This)	\
    (This)->lpVtbl -> ImportRegPlotProperties(This)

#define IIcadPlotManager_ExportRegPlotProperties(This)	\
    (This)->lpVtbl -> ExportRegPlotProperties(This)

#define IIcadPlotManager_Print(This)	\
    (This)->lpVtbl -> Print(This)

#define IIcadPlotManager_Preview(This)	\
    (This)->lpVtbl -> Preview(This)

#define IIcadPlotManager_GetWindow(This,fromX,fromY,toX,toY)	\
    (This)->lpVtbl -> GetWindow(This,fromX,fromY,toX,toY)

#define IIcadPlotManager_SetWindow(This,fromX,fromY,toX,toY)	\
    (This)->lpVtbl -> SetWindow(This,fromX,fromY,toX,toY)

#define IIcadPlotManager_GetPaperSize(This,size,length,width)	\
    (This)->lpVtbl -> GetPaperSize(This,size,length,width)

#define IIcadPlotManager_SetPaperSize(This,size,length,width)	\
    (This)->lpVtbl -> SetPaperSize(This,size,length,width)

#define IIcadPlotManager_GetPaperTSize(This,pVal)	\
    (This)->lpVtbl -> GetPaperTSize(This,pVal)

#define IIcadPlotManager_SetPaperTSize(This,newVal)	\
    (This)->lpVtbl -> SetPaperTSize(This,newVal)

#define IIcadPlotManager_GetPaperYSize(This,pName,length,width,paper)	\
    (This)->lpVtbl -> GetPaperYSize(This,pName,length,width,paper)

#define IIcadPlotManager_GetPrinterSettings(This,phDevMode,phDevNames)	\
    (This)->lpVtbl -> GetPrinterSettings(This,phDevMode,phDevNames)

#define IIcadPlotManager_GetDefault(This)	\
    (This)->lpVtbl -> GetDefault(This)

#define IIcadPlotManager_SetPrinterNotVBA(This,printerName)	\
    (This)->lpVtbl -> SetPrinterNotVBA(This,printerName)

#define IIcadPlotManager_SetPrinter(This,printerName)	\
    (This)->lpVtbl -> SetPrinter(This,printerName)

#define IIcadPlotManager_SetWorking(This,mode)	\
    (This)->lpVtbl -> SetWorking(This,mode)

#define IIcadPlotManager_get_PlotProperties(This,pVal)	\
    (This)->lpVtbl -> get_PlotProperties(This,pVal)

#define IIcadPlotManager_get_Area(This,pVal)	\
    (This)->lpVtbl -> get_Area(This,pVal)

#define IIcadPlotManager_put_Area(This,newVal)	\
    (This)->lpVtbl -> put_Area(This,newVal)

#define IIcadPlotManager_get_PaperOrientation(This,pVal)	\
    (This)->lpVtbl -> get_PaperOrientation(This,pVal)

#define IIcadPlotManager_put_PaperOrientation(This,newVal)	\
    (This)->lpVtbl -> put_PaperOrientation(This,newVal)

#define IIcadPlotManager_get_Header(This,pVal)	\
    (This)->lpVtbl -> get_Header(This,pVal)

#define IIcadPlotManager_put_Header(This,newVal)	\
    (This)->lpVtbl -> put_Header(This,newVal)

#define IIcadPlotManager_get_Footer(This,pVal)	\
    (This)->lpVtbl -> get_Footer(This,pVal)

#define IIcadPlotManager_put_Footer(This,newVal)	\
    (This)->lpVtbl -> put_Footer(This,newVal)

#define IIcadPlotManager_get_CenterOnPage(This,pVal)	\
    (This)->lpVtbl -> get_CenterOnPage(This,pVal)

#define IIcadPlotManager_put_CenterOnPage(This,newVal)	\
    (This)->lpVtbl -> put_CenterOnPage(This,newVal)

#define IIcadPlotManager_get_Shade(This,pVal)	\
    (This)->lpVtbl -> get_Shade(This,pVal)

#define IIcadPlotManager_put_Shade(This,newVal)	\
    (This)->lpVtbl -> put_Shade(This,newVal)

#define IIcadPlotManager_get_PlotNames(This,pVal)	\
    (This)->lpVtbl -> get_PlotNames(This,pVal)

#define IIcadPlotManager_get_PlotDeviceConfig(This,pVal)	\
    (This)->lpVtbl -> get_PlotDeviceConfig(This,pVal)

#define IIcadPlotManager_get_UseStyle(This,pVal)	\
    (This)->lpVtbl -> get_UseStyle(This,pVal)

#define IIcadPlotManager_put_UseStyle(This,newVal)	\
    (This)->lpVtbl -> put_UseStyle(This,newVal)

#define IIcadPlotManager_get_UseOLW(This,pVal)	\
    (This)->lpVtbl -> get_UseOLW(This,pVal)

#define IIcadPlotManager_put_UseOLW(This,newVal)	\
    (This)->lpVtbl -> put_UseOLW(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_ImportPlotProperties_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    BSTR filename);


void __RPC_STUB IIcadPlotManager_ImportPlotProperties_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_ExportPlotProperties_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    BSTR filename);


void __RPC_STUB IIcadPlotManager_ExportPlotProperties_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_ImportRegPlotProperties_Proxy( 
    IIcadPlotManager __RPC_FAR * This);


void __RPC_STUB IIcadPlotManager_ImportRegPlotProperties_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_ExportRegPlotProperties_Proxy( 
    IIcadPlotManager __RPC_FAR * This);


void __RPC_STUB IIcadPlotManager_ExportRegPlotProperties_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_Print_Proxy( 
    IIcadPlotManager __RPC_FAR * This);


void __RPC_STUB IIcadPlotManager_Print_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_Preview_Proxy( 
    IIcadPlotManager __RPC_FAR * This);


void __RPC_STUB IIcadPlotManager_Preview_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_GetWindow_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    double __RPC_FAR *fromX,
    double __RPC_FAR *fromY,
    double __RPC_FAR *toX,
    double __RPC_FAR *toY);


void __RPC_STUB IIcadPlotManager_GetWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_SetWindow_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    double fromX,
    double fromY,
    double toX,
    double toY);


void __RPC_STUB IIcadPlotManager_SetWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_GetPaperSize_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    int __RPC_FAR *size,
    int __RPC_FAR *length,
    int __RPC_FAR *width);


void __RPC_STUB IIcadPlotManager_GetPaperSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_SetPaperSize_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    int size,
    int length,
    int width);


void __RPC_STUB IIcadPlotManager_SetPaperSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_GetPaperTSize_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    BSTR __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotManager_GetPaperTSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_SetPaperTSize_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    BSTR newVal);


void __RPC_STUB IIcadPlotManager_SetPaperTSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_GetPaperYSize_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    BSTR __RPC_FAR *pName,
    int __RPC_FAR *length,
    int __RPC_FAR *width,
    int __RPC_FAR *paper);


void __RPC_STUB IIcadPlotManager_GetPaperYSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_GetPrinterSettings_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    LONG __RPC_FAR *phDevMode,
    LONG __RPC_FAR *phDevNames);


void __RPC_STUB IIcadPlotManager_GetPrinterSettings_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_GetDefault_Proxy( 
    IIcadPlotManager __RPC_FAR * This);


void __RPC_STUB IIcadPlotManager_GetDefault_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_SetPrinterNotVBA_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    BSTR printerName);


void __RPC_STUB IIcadPlotManager_SetPrinterNotVBA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_SetPrinter_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    BSTR printerName);


void __RPC_STUB IIcadPlotManager_SetPrinter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_SetWorking_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    int mode);


void __RPC_STUB IIcadPlotManager_SetWorking_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_get_PlotProperties_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    /* [retval][out] */ IIcadPlotProperties __RPC_FAR *__RPC_FAR *pVal);


void __RPC_STUB IIcadPlotManager_get_PlotProperties_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_get_Area_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    /* [retval][out] */ PrintArea __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotManager_get_Area_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_put_Area_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    /* [in] */ PrintArea newVal);


void __RPC_STUB IIcadPlotManager_put_Area_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_get_PaperOrientation_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotManager_get_PaperOrientation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_put_PaperOrientation_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotManager_put_PaperOrientation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_get_Header_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotManager_get_Header_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_put_Header_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IIcadPlotManager_put_Header_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_get_Footer_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotManager_get_Footer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_put_Footer_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IIcadPlotManager_put_Footer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_get_CenterOnPage_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    /* [retval][out] */ BOOL __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotManager_get_CenterOnPage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_put_CenterOnPage_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    /* [in] */ BOOL newVal);


void __RPC_STUB IIcadPlotManager_put_CenterOnPage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_get_Shade_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotManager_get_Shade_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_put_Shade_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotManager_put_Shade_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_get_PlotNames_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotManager_get_PlotNames_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_get_PlotDeviceConfig_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    /* [retval][out] */ IIcadPlotDeviceConfig __RPC_FAR *__RPC_FAR *pVal);


void __RPC_STUB IIcadPlotManager_get_PlotDeviceConfig_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_get_UseStyle_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotManager_get_UseStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_put_UseStyle_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotManager_put_UseStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_get_UseOLW_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IIcadPlotManager_get_UseOLW_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIcadPlotManager_put_UseOLW_Proxy( 
    IIcadPlotManager __RPC_FAR * This,
    /* [in] */ int newVal);


void __RPC_STUB IIcadPlotManager_put_UseOLW_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadPlotManager_INTERFACE_DEFINED__ */


#ifndef __IIcadPlotRegManager_INTERFACE_DEFINED__
#define __IIcadPlotRegManager_INTERFACE_DEFINED__

/* interface IIcadPlotRegManager */
/* [unique][helpstring][hidden][dual][uuid][object] */ 


EXTERN_C const IID IID_IIcadPlotRegManager;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c1c5-7e36-11d1-bc5a-0060089608a4")
    IIcadPlotRegManager : public IUnknown
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ImportRegPlotProperties( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ExportRegPlotProperties( void) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_RegPlotProperties( 
            /* [retval][out] */ IIcadPlotProperties __RPC_FAR *__RPC_FAR *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadPlotRegManagerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadPlotRegManager __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadPlotRegManager __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadPlotRegManager __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ImportRegPlotProperties )( 
            IIcadPlotRegManager __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExportRegPlotProperties )( 
            IIcadPlotRegManager __RPC_FAR * This);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RegPlotProperties )( 
            IIcadPlotRegManager __RPC_FAR * This,
            /* [retval][out] */ IIcadPlotProperties __RPC_FAR *__RPC_FAR *pVal);
        
        END_INTERFACE
    } IIcadPlotRegManagerVtbl;

    interface IIcadPlotRegManager
    {
        CONST_VTBL struct IIcadPlotRegManagerVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadPlotRegManager_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadPlotRegManager_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadPlotRegManager_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadPlotRegManager_ImportRegPlotProperties(This)	\
    (This)->lpVtbl -> ImportRegPlotProperties(This)

#define IIcadPlotRegManager_ExportRegPlotProperties(This)	\
    (This)->lpVtbl -> ExportRegPlotProperties(This)

#define IIcadPlotRegManager_get_RegPlotProperties(This,pVal)	\
    (This)->lpVtbl -> get_RegPlotProperties(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotRegManager_ImportRegPlotProperties_Proxy( 
    IIcadPlotRegManager __RPC_FAR * This);


void __RPC_STUB IIcadPlotRegManager_ImportRegPlotProperties_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadPlotRegManager_ExportRegPlotProperties_Proxy( 
    IIcadPlotRegManager __RPC_FAR * This);


void __RPC_STUB IIcadPlotRegManager_ExportRegPlotProperties_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIcadPlotRegManager_get_RegPlotProperties_Proxy( 
    IIcadPlotRegManager __RPC_FAR * This,
    /* [retval][out] */ IIcadPlotProperties __RPC_FAR *__RPC_FAR *pVal);


void __RPC_STUB IIcadPlotRegManager_get_RegPlotProperties_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadPlotRegManager_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_Icad_0220 */
/* [local] */ 







extern RPC_IF_HANDLE __MIDL_itf_Icad_0220_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_Icad_0220_v0_0_s_ifspec;

#ifndef __IIcadDocuments_INTERFACE_DEFINED__
#define __IIcadDocuments_INTERFACE_DEFINED__

/* interface IIcadDocuments */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadDocuments;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c102-7e36-11d1-bc5a-0060089608a4")
    IIcadDocuments : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long __RPC_FAR *pCount) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDocument) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CloseAll( 
            /* [defaultvalue][optional][in] */ VARIANT_BOOL AskSave = TRUE) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Open( 
            /* [in] */ BSTR File,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL ReadOnly,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDocument) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveAll( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadDocumentsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadDocuments __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadDocuments __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadDocuments __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadDocuments __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadDocuments __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadDocuments __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadDocuments __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadDocuments __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
            IIcadDocuments __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadDocuments __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
            IIcadDocuments __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            IIcadDocuments __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDocument);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseAll )( 
            IIcadDocuments __RPC_FAR * This,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL AskSave);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
            IIcadDocuments __RPC_FAR * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )( 
            IIcadDocuments __RPC_FAR * This,
            /* [in] */ BSTR File,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL ReadOnly,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDocument);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveAll )( 
            IIcadDocuments __RPC_FAR * This);
        
        END_INTERFACE
    } IIcadDocumentsVtbl;

    interface IIcadDocuments
    {
        CONST_VTBL struct IIcadDocumentsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadDocuments_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadDocuments_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadDocuments_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadDocuments_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadDocuments_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadDocuments_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadDocuments_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadDocuments_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadDocuments_get_Count(This,pCount)	\
    (This)->lpVtbl -> get_Count(This,pCount)

#define IIcadDocuments_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadDocuments_get__NewEnum(This,ppUnk)	\
    (This)->lpVtbl -> get__NewEnum(This,ppUnk)

#define IIcadDocuments_Add(This,ppDocument)	\
    (This)->lpVtbl -> Add(This,ppDocument)

#define IIcadDocuments_CloseAll(This,AskSave)	\
    (This)->lpVtbl -> CloseAll(This,AskSave)

#define IIcadDocuments_Item(This,Index,ppItem)	\
    (This)->lpVtbl -> Item(This,Index,ppItem)

#define IIcadDocuments_Open(This,File,ReadOnly,ppDocument)	\
    (This)->lpVtbl -> Open(This,File,ReadOnly,ppDocument)

#define IIcadDocuments_SaveAll(This)	\
    (This)->lpVtbl -> SaveAll(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocuments_get_Application_Proxy( 
    IIcadDocuments __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadDocuments_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocuments_get_Count_Proxy( 
    IIcadDocuments __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pCount);


void __RPC_STUB IIcadDocuments_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocuments_get_Parent_Proxy( 
    IIcadDocuments __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadDocuments_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocuments_get__NewEnum_Proxy( 
    IIcadDocuments __RPC_FAR * This,
    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);


void __RPC_STUB IIcadDocuments_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocuments_Add_Proxy( 
    IIcadDocuments __RPC_FAR * This,
    /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDocument);


void __RPC_STUB IIcadDocuments_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocuments_CloseAll_Proxy( 
    IIcadDocuments __RPC_FAR * This,
    /* [defaultvalue][optional][in] */ VARIANT_BOOL AskSave);


void __RPC_STUB IIcadDocuments_CloseAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadDocuments_Item_Proxy( 
    IIcadDocuments __RPC_FAR * This,
    /* [in] */ VARIANT Index,
    /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadDocuments_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocuments_Open_Proxy( 
    IIcadDocuments __RPC_FAR * This,
    /* [in] */ BSTR File,
    /* [defaultvalue][optional][in] */ VARIANT_BOOL ReadOnly,
    /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDocument);


void __RPC_STUB IIcadDocuments_Open_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocuments_SaveAll_Proxy( 
    IIcadDocuments __RPC_FAR * This);


void __RPC_STUB IIcadDocuments_SaveAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadDocuments_INTERFACE_DEFINED__ */


#ifndef __IIcadWindows_INTERFACE_DEFINED__
#define __IIcadWindows_INTERFACE_DEFINED__

/* interface IIcadWindows */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadWindows;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c104-7e36-11d1-bc5a-0060089608a4")
    IIcadWindows : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long __RPC_FAR *pCount) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [retval][out] */ IIcadWindow __RPC_FAR *__RPC_FAR *ppWindow) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Arrange( 
            /* [in] */ ArrangeStyle Style) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CloseAll( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadWindow __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadWindowsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadWindows __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadWindows __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadWindows __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadWindows __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadWindows __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadWindows __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadWindows __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadWindows __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
            IIcadWindows __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadWindows __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
            IIcadWindows __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            IIcadWindows __RPC_FAR * This,
            /* [retval][out] */ IIcadWindow __RPC_FAR *__RPC_FAR *ppWindow);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Arrange )( 
            IIcadWindows __RPC_FAR * This,
            /* [in] */ ArrangeStyle Style);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseAll )( 
            IIcadWindows __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
            IIcadWindows __RPC_FAR * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadWindow __RPC_FAR *__RPC_FAR *ppItem);
        
        END_INTERFACE
    } IIcadWindowsVtbl;

    interface IIcadWindows
    {
        CONST_VTBL struct IIcadWindowsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadWindows_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadWindows_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadWindows_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadWindows_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadWindows_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadWindows_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadWindows_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadWindows_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadWindows_get_Count(This,pCount)	\
    (This)->lpVtbl -> get_Count(This,pCount)

#define IIcadWindows_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadWindows_get__NewEnum(This,ppUnk)	\
    (This)->lpVtbl -> get__NewEnum(This,ppUnk)

#define IIcadWindows_Add(This,ppWindow)	\
    (This)->lpVtbl -> Add(This,ppWindow)

#define IIcadWindows_Arrange(This,Style)	\
    (This)->lpVtbl -> Arrange(This,Style)

#define IIcadWindows_CloseAll(This)	\
    (This)->lpVtbl -> CloseAll(This)

#define IIcadWindows_Item(This,Index,ppItem)	\
    (This)->lpVtbl -> Item(This,Index,ppItem)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadWindows_get_Application_Proxy( 
    IIcadWindows __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadWindows_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadWindows_get_Count_Proxy( 
    IIcadWindows __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pCount);


void __RPC_STUB IIcadWindows_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadWindows_get_Parent_Proxy( 
    IIcadWindows __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadWindows_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE IIcadWindows_get__NewEnum_Proxy( 
    IIcadWindows __RPC_FAR * This,
    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);


void __RPC_STUB IIcadWindows_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadWindows_Add_Proxy( 
    IIcadWindows __RPC_FAR * This,
    /* [retval][out] */ IIcadWindow __RPC_FAR *__RPC_FAR *ppWindow);


void __RPC_STUB IIcadWindows_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadWindows_Arrange_Proxy( 
    IIcadWindows __RPC_FAR * This,
    /* [in] */ ArrangeStyle Style);


void __RPC_STUB IIcadWindows_Arrange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadWindows_CloseAll_Proxy( 
    IIcadWindows __RPC_FAR * This);


void __RPC_STUB IIcadWindows_CloseAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadWindows_Item_Proxy( 
    IIcadWindows __RPC_FAR * This,
    /* [in] */ VARIANT Index,
    /* [retval][out] */ IIcadWindow __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadWindows_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadWindows_INTERFACE_DEFINED__ */


#ifndef __IIcadWindow_INTERFACE_DEFINED__
#define __IIcadWindow_INTERFACE_DEFINED__

/* interface IIcadWindow */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadWindow;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c105-7e36-11d1-bc5a-0060089608a4")
    IIcadWindow : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Document( 
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadWindows __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Caption( 
            /* [retval][out] */ BSTR __RPC_FAR *pCaption) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ VARIANT_BOOL Visible) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_WindowHandle32( 
            /* [retval][out] */ long __RPC_FAR *pHandle) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_WindowState( 
            /* [retval][out] */ WindowState __RPC_FAR *pState) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_WindowState( 
            /* [in] */ WindowState State) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Activate( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetWindowRect( 
            /* [out][in] */ long __RPC_FAR *Left,
            /* [out][in] */ long __RPC_FAR *Top,
            /* [out][in] */ long __RPC_FAR *Width,
            /* [out][in] */ long __RPC_FAR *Height) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetWindowRect( 
            /* [in] */ long Left,
            /* [in] */ long Top,
            /* [in] */ long Width,
            /* [in] */ long Height) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Scroll( 
            /* [in] */ ScrollFlagsX FlagsX,
            /* [in] */ ScrollFlagsY FlagsY) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadWindowVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadWindow __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadWindow __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadWindow __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadWindow __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadWindow __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadWindow __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadWindow __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadWindow __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadWindow __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadWindow __RPC_FAR * This,
            /* [retval][out] */ IIcadWindows __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Caption )( 
            IIcadWindow __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pCaption);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadWindow __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadWindow __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_WindowHandle32 )( 
            IIcadWindow __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHandle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_WindowState )( 
            IIcadWindow __RPC_FAR * This,
            /* [retval][out] */ WindowState __RPC_FAR *pState);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_WindowState )( 
            IIcadWindow __RPC_FAR * This,
            /* [in] */ WindowState State);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Activate )( 
            IIcadWindow __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )( 
            IIcadWindow __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetWindowRect )( 
            IIcadWindow __RPC_FAR * This,
            /* [out][in] */ long __RPC_FAR *Left,
            /* [out][in] */ long __RPC_FAR *Top,
            /* [out][in] */ long __RPC_FAR *Width,
            /* [out][in] */ long __RPC_FAR *Height);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetWindowRect )( 
            IIcadWindow __RPC_FAR * This,
            /* [in] */ long Left,
            /* [in] */ long Top,
            /* [in] */ long Width,
            /* [in] */ long Height);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Scroll )( 
            IIcadWindow __RPC_FAR * This,
            /* [in] */ ScrollFlagsX FlagsX,
            /* [in] */ ScrollFlagsY FlagsY);
        
        END_INTERFACE
    } IIcadWindowVtbl;

    interface IIcadWindow
    {
        CONST_VTBL struct IIcadWindowVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadWindow_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadWindow_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadWindow_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadWindow_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadWindow_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadWindow_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadWindow_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadWindow_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadWindow_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadWindow_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadWindow_get_Caption(This,pCaption)	\
    (This)->lpVtbl -> get_Caption(This,pCaption)

#define IIcadWindow_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadWindow_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadWindow_get_WindowHandle32(This,pHandle)	\
    (This)->lpVtbl -> get_WindowHandle32(This,pHandle)

#define IIcadWindow_get_WindowState(This,pState)	\
    (This)->lpVtbl -> get_WindowState(This,pState)

#define IIcadWindow_put_WindowState(This,State)	\
    (This)->lpVtbl -> put_WindowState(This,State)

#define IIcadWindow_Activate(This)	\
    (This)->lpVtbl -> Activate(This)

#define IIcadWindow_Close(This)	\
    (This)->lpVtbl -> Close(This)

#define IIcadWindow_GetWindowRect(This,Left,Top,Width,Height)	\
    (This)->lpVtbl -> GetWindowRect(This,Left,Top,Width,Height)

#define IIcadWindow_SetWindowRect(This,Left,Top,Width,Height)	\
    (This)->lpVtbl -> SetWindowRect(This,Left,Top,Width,Height)

#define IIcadWindow_Scroll(This,FlagsX,FlagsY)	\
    (This)->lpVtbl -> Scroll(This,FlagsX,FlagsY)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadWindow_get_Application_Proxy( 
    IIcadWindow __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadWindow_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadWindow_get_Document_Proxy( 
    IIcadWindow __RPC_FAR * This,
    /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);


void __RPC_STUB IIcadWindow_get_Document_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadWindow_get_Parent_Proxy( 
    IIcadWindow __RPC_FAR * This,
    /* [retval][out] */ IIcadWindows __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadWindow_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadWindow_get_Caption_Proxy( 
    IIcadWindow __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pCaption);


void __RPC_STUB IIcadWindow_get_Caption_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadWindow_get_Visible_Proxy( 
    IIcadWindow __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);


void __RPC_STUB IIcadWindow_get_Visible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadWindow_put_Visible_Proxy( 
    IIcadWindow __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Visible);


void __RPC_STUB IIcadWindow_put_Visible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadWindow_get_WindowHandle32_Proxy( 
    IIcadWindow __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pHandle);


void __RPC_STUB IIcadWindow_get_WindowHandle32_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadWindow_get_WindowState_Proxy( 
    IIcadWindow __RPC_FAR * This,
    /* [retval][out] */ WindowState __RPC_FAR *pState);


void __RPC_STUB IIcadWindow_get_WindowState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadWindow_put_WindowState_Proxy( 
    IIcadWindow __RPC_FAR * This,
    /* [in] */ WindowState State);


void __RPC_STUB IIcadWindow_put_WindowState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadWindow_Activate_Proxy( 
    IIcadWindow __RPC_FAR * This);


void __RPC_STUB IIcadWindow_Activate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadWindow_Close_Proxy( 
    IIcadWindow __RPC_FAR * This);


void __RPC_STUB IIcadWindow_Close_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadWindow_GetWindowRect_Proxy( 
    IIcadWindow __RPC_FAR * This,
    /* [out][in] */ long __RPC_FAR *Left,
    /* [out][in] */ long __RPC_FAR *Top,
    /* [out][in] */ long __RPC_FAR *Width,
    /* [out][in] */ long __RPC_FAR *Height);


void __RPC_STUB IIcadWindow_GetWindowRect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadWindow_SetWindowRect_Proxy( 
    IIcadWindow __RPC_FAR * This,
    /* [in] */ long Left,
    /* [in] */ long Top,
    /* [in] */ long Width,
    /* [in] */ long Height);


void __RPC_STUB IIcadWindow_SetWindowRect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadWindow_Scroll_Proxy( 
    IIcadWindow __RPC_FAR * This,
    /* [in] */ ScrollFlagsX FlagsX,
    /* [in] */ ScrollFlagsY FlagsY);


void __RPC_STUB IIcadWindow_Scroll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadWindow_INTERFACE_DEFINED__ */


#ifndef __IIcadApplication_INTERFACE_DEFINED__
#define __IIcadApplication_INTERFACE_DEFINED__

/* interface IIcadApplication */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadApplication;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c101-7e36-11d1-bc5a-0060089608a4")
    IIcadApplication : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveDocument( 
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveWindow( 
            /* [retval][out] */ IIcadWindow __RPC_FAR *__RPC_FAR *ppWindow) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Caption( 
            /* [retval][out] */ BSTR __RPC_FAR *pCaption) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultFilePath( 
            /* [retval][out] */ BSTR __RPC_FAR *pDefFilePath) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DefaultFilePath( 
            /* [in] */ BSTR DefFilePath) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Documents( 
            /* [retval][out] */ IIcadDocuments __RPC_FAR *__RPC_FAR *ppDocs) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FullName( 
            /* [retval][out] */ BSTR __RPC_FAR *pFullAppName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ long __RPC_FAR *pHeight) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ long Height) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LocaleID( 
            /* [retval][out] */ long __RPC_FAR *pLocaleId) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Left( 
            /* [retval][out] */ long __RPC_FAR *pLeft) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Left( 
            /* [in] */ long Left) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Library( 
            /* [retval][out] */ IIcadLibrary __RPC_FAR *__RPC_FAR *ppLibrary) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR __RPC_FAR *pstrAppName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
            /* [retval][out] */ BSTR __RPC_FAR *pstrPath) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlotManager( 
            /* [retval][out] */ IIcadPlotManager __RPC_FAR *__RPC_FAR *ppPlotManager) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Preferences( 
            /* [retval][out] */ IIcadApplicationPreferences __RPC_FAR *__RPC_FAR *ppPreferences) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StatusBar( 
            /* [retval][out] */ BSTR __RPC_FAR *pstrStatusText) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_StatusBar( 
            /* [in] */ BSTR StatusText) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Top( 
            /* [retval][out] */ long __RPC_FAR *pTop) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Top( 
            /* [in] */ long Top) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VBE( 
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppVBE) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Version( 
            /* [retval][out] */ BSTR __RPC_FAR *pstrVersion) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ VARIANT_BOOL Visible) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ long __RPC_FAR *pWidth) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ long Width) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Windows( 
            /* [retval][out] */ IIcadWindows __RPC_FAR *__RPC_FAR *ppWindows) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Workspace( 
            /* [retval][out] */ IIcadWorkspace __RPC_FAR *__RPC_FAR *ppWorkspace) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DefineFunction( 
            /* [in] */ BSTR FunctionName,
            /* [in] */ VARIANT FunctionPointer) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UndefineFunction( 
            /* [in] */ BSTR FunctionName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Help( 
            /* [in] */ BSTR HelpFile,
            /* [optional][in] */ BSTR HelpTopic,
            /* [optional][in] */ long HelpCommand) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Quit( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ListSDS( 
            /* [retval][out] */ VARIANT __RPC_FAR *ListOfSDSApps) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadSDS( 
            /* [in] */ BSTR ApplicationName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnloadSDS( 
            /* [in] */ BSTR ApplicationName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadLISP( 
            /* [in] */ BSTR ApplicationName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RunCommand( 
            /* [in] */ BSTR Command) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RunScript( 
            /* [in] */ BSTR ScriptName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInterfaceObject( 
            /* [in] */ BSTR ProgID,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppObject) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsFunctionLoaded( 
            /* [in] */ BSTR FunctionName,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Loaded) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadApplicationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadApplication __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadApplication __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadApplication __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadApplication __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadApplication __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadApplication __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadApplication __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveDocument )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveWindow )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ IIcadWindow __RPC_FAR *__RPC_FAR *ppWindow);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Caption )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pCaption);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DefaultFilePath )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pDefFilePath);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DefaultFilePath )( 
            IIcadApplication __RPC_FAR * This,
            /* [in] */ BSTR DefFilePath);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Documents )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ IIcadDocuments __RPC_FAR *__RPC_FAR *ppDocs);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FullName )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pFullAppName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Height )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHeight);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Height )( 
            IIcadApplication __RPC_FAR * This,
            /* [in] */ long Height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LocaleID )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pLocaleId);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Left )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pLeft);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Left )( 
            IIcadApplication __RPC_FAR * This,
            /* [in] */ long Left);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Library )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ IIcadLibrary __RPC_FAR *__RPC_FAR *ppLibrary);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrAppName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Path )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrPath);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlotManager )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ IIcadPlotManager __RPC_FAR *__RPC_FAR *ppPlotManager);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Preferences )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ IIcadApplicationPreferences __RPC_FAR *__RPC_FAR *ppPreferences);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StatusBar )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrStatusText);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StatusBar )( 
            IIcadApplication __RPC_FAR * This,
            /* [in] */ BSTR StatusText);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Top )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pTop);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Top )( 
            IIcadApplication __RPC_FAR * This,
            /* [in] */ long Top);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VBE )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppVBE);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Version )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrVersion);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadApplication __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Width )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pWidth);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Width )( 
            IIcadApplication __RPC_FAR * This,
            /* [in] */ long Width);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Windows )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ IIcadWindows __RPC_FAR *__RPC_FAR *ppWindows);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Workspace )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ IIcadWorkspace __RPC_FAR *__RPC_FAR *ppWorkspace);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DefineFunction )( 
            IIcadApplication __RPC_FAR * This,
            /* [in] */ BSTR FunctionName,
            /* [in] */ VARIANT FunctionPointer);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UndefineFunction )( 
            IIcadApplication __RPC_FAR * This,
            /* [in] */ BSTR FunctionName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Help )( 
            IIcadApplication __RPC_FAR * This,
            /* [in] */ BSTR HelpFile,
            /* [optional][in] */ BSTR HelpTopic,
            /* [optional][in] */ long HelpCommand);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Quit )( 
            IIcadApplication __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ListSDS )( 
            IIcadApplication __RPC_FAR * This,
            /* [retval][out] */ VARIANT __RPC_FAR *ListOfSDSApps);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadSDS )( 
            IIcadApplication __RPC_FAR * This,
            /* [in] */ BSTR ApplicationName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnloadSDS )( 
            IIcadApplication __RPC_FAR * This,
            /* [in] */ BSTR ApplicationName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadLISP )( 
            IIcadApplication __RPC_FAR * This,
            /* [in] */ BSTR ApplicationName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RunCommand )( 
            IIcadApplication __RPC_FAR * This,
            /* [in] */ BSTR Command);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RunScript )( 
            IIcadApplication __RPC_FAR * This,
            /* [in] */ BSTR ScriptName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInterfaceObject )( 
            IIcadApplication __RPC_FAR * This,
            /* [in] */ BSTR ProgID,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppObject);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsFunctionLoaded )( 
            IIcadApplication __RPC_FAR * This,
            /* [in] */ BSTR FunctionName,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Loaded);
        
        END_INTERFACE
    } IIcadApplicationVtbl;

    interface IIcadApplication
    {
        CONST_VTBL struct IIcadApplicationVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadApplication_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadApplication_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadApplication_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadApplication_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadApplication_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadApplication_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadApplication_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadApplication_get_ActiveDocument(This,ppDoc)	\
    (This)->lpVtbl -> get_ActiveDocument(This,ppDoc)

#define IIcadApplication_get_ActiveWindow(This,ppWindow)	\
    (This)->lpVtbl -> get_ActiveWindow(This,ppWindow)

#define IIcadApplication_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadApplication_get_Caption(This,pCaption)	\
    (This)->lpVtbl -> get_Caption(This,pCaption)

#define IIcadApplication_get_DefaultFilePath(This,pDefFilePath)	\
    (This)->lpVtbl -> get_DefaultFilePath(This,pDefFilePath)

#define IIcadApplication_put_DefaultFilePath(This,DefFilePath)	\
    (This)->lpVtbl -> put_DefaultFilePath(This,DefFilePath)

#define IIcadApplication_get_Documents(This,ppDocs)	\
    (This)->lpVtbl -> get_Documents(This,ppDocs)

#define IIcadApplication_get_FullName(This,pFullAppName)	\
    (This)->lpVtbl -> get_FullName(This,pFullAppName)

#define IIcadApplication_get_Height(This,pHeight)	\
    (This)->lpVtbl -> get_Height(This,pHeight)

#define IIcadApplication_put_Height(This,Height)	\
    (This)->lpVtbl -> put_Height(This,Height)

#define IIcadApplication_get_LocaleID(This,pLocaleId)	\
    (This)->lpVtbl -> get_LocaleID(This,pLocaleId)

#define IIcadApplication_get_Left(This,pLeft)	\
    (This)->lpVtbl -> get_Left(This,pLeft)

#define IIcadApplication_put_Left(This,Left)	\
    (This)->lpVtbl -> put_Left(This,Left)

#define IIcadApplication_get_Library(This,ppLibrary)	\
    (This)->lpVtbl -> get_Library(This,ppLibrary)

#define IIcadApplication_get_Name(This,pstrAppName)	\
    (This)->lpVtbl -> get_Name(This,pstrAppName)

#define IIcadApplication_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadApplication_get_Path(This,pstrPath)	\
    (This)->lpVtbl -> get_Path(This,pstrPath)

#define IIcadApplication_get_PlotManager(This,ppPlotManager)	\
    (This)->lpVtbl -> get_PlotManager(This,ppPlotManager)

#define IIcadApplication_get_Preferences(This,ppPreferences)	\
    (This)->lpVtbl -> get_Preferences(This,ppPreferences)

#define IIcadApplication_get_StatusBar(This,pstrStatusText)	\
    (This)->lpVtbl -> get_StatusBar(This,pstrStatusText)

#define IIcadApplication_put_StatusBar(This,StatusText)	\
    (This)->lpVtbl -> put_StatusBar(This,StatusText)

#define IIcadApplication_get_Top(This,pTop)	\
    (This)->lpVtbl -> get_Top(This,pTop)

#define IIcadApplication_put_Top(This,Top)	\
    (This)->lpVtbl -> put_Top(This,Top)

#define IIcadApplication_get_VBE(This,ppVBE)	\
    (This)->lpVtbl -> get_VBE(This,ppVBE)

#define IIcadApplication_get_Version(This,pstrVersion)	\
    (This)->lpVtbl -> get_Version(This,pstrVersion)

#define IIcadApplication_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadApplication_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadApplication_get_Width(This,pWidth)	\
    (This)->lpVtbl -> get_Width(This,pWidth)

#define IIcadApplication_put_Width(This,Width)	\
    (This)->lpVtbl -> put_Width(This,Width)

#define IIcadApplication_get_Windows(This,ppWindows)	\
    (This)->lpVtbl -> get_Windows(This,ppWindows)

#define IIcadApplication_get_Workspace(This,ppWorkspace)	\
    (This)->lpVtbl -> get_Workspace(This,ppWorkspace)

#define IIcadApplication_DefineFunction(This,FunctionName,FunctionPointer)	\
    (This)->lpVtbl -> DefineFunction(This,FunctionName,FunctionPointer)

#define IIcadApplication_UndefineFunction(This,FunctionName)	\
    (This)->lpVtbl -> UndefineFunction(This,FunctionName)

#define IIcadApplication_Help(This,HelpFile,HelpTopic,HelpCommand)	\
    (This)->lpVtbl -> Help(This,HelpFile,HelpTopic,HelpCommand)

#define IIcadApplication_Quit(This)	\
    (This)->lpVtbl -> Quit(This)

#define IIcadApplication_ListSDS(This,ListOfSDSApps)	\
    (This)->lpVtbl -> ListSDS(This,ListOfSDSApps)

#define IIcadApplication_LoadSDS(This,ApplicationName)	\
    (This)->lpVtbl -> LoadSDS(This,ApplicationName)

#define IIcadApplication_UnloadSDS(This,ApplicationName)	\
    (This)->lpVtbl -> UnloadSDS(This,ApplicationName)

#define IIcadApplication_LoadLISP(This,ApplicationName)	\
    (This)->lpVtbl -> LoadLISP(This,ApplicationName)

#define IIcadApplication_RunCommand(This,Command)	\
    (This)->lpVtbl -> RunCommand(This,Command)

#define IIcadApplication_RunScript(This,ScriptName)	\
    (This)->lpVtbl -> RunScript(This,ScriptName)

#define IIcadApplication_GetInterfaceObject(This,ProgID,ppObject)	\
    (This)->lpVtbl -> GetInterfaceObject(This,ProgID,ppObject)

#define IIcadApplication_IsFunctionLoaded(This,FunctionName,Loaded)	\
    (This)->lpVtbl -> IsFunctionLoaded(This,FunctionName,Loaded)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_ActiveDocument_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);


void __RPC_STUB IIcadApplication_get_ActiveDocument_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_ActiveWindow_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ IIcadWindow __RPC_FAR *__RPC_FAR *ppWindow);


void __RPC_STUB IIcadApplication_get_ActiveWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_Application_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadApplication_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_Caption_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pCaption);


void __RPC_STUB IIcadApplication_get_Caption_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_DefaultFilePath_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pDefFilePath);


void __RPC_STUB IIcadApplication_get_DefaultFilePath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadApplication_put_DefaultFilePath_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [in] */ BSTR DefFilePath);


void __RPC_STUB IIcadApplication_put_DefaultFilePath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_Documents_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ IIcadDocuments __RPC_FAR *__RPC_FAR *ppDocs);


void __RPC_STUB IIcadApplication_get_Documents_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_FullName_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pFullAppName);


void __RPC_STUB IIcadApplication_get_FullName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_Height_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pHeight);


void __RPC_STUB IIcadApplication_get_Height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadApplication_put_Height_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [in] */ long Height);


void __RPC_STUB IIcadApplication_put_Height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_LocaleID_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pLocaleId);


void __RPC_STUB IIcadApplication_get_LocaleID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_Left_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pLeft);


void __RPC_STUB IIcadApplication_get_Left_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadApplication_put_Left_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [in] */ long Left);


void __RPC_STUB IIcadApplication_put_Left_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_Library_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ IIcadLibrary __RPC_FAR *__RPC_FAR *ppLibrary);


void __RPC_STUB IIcadApplication_get_Library_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_Name_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pstrAppName);


void __RPC_STUB IIcadApplication_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_Parent_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadApplication_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_Path_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pstrPath);


void __RPC_STUB IIcadApplication_get_Path_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_PlotManager_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ IIcadPlotManager __RPC_FAR *__RPC_FAR *ppPlotManager);


void __RPC_STUB IIcadApplication_get_PlotManager_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_Preferences_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ IIcadApplicationPreferences __RPC_FAR *__RPC_FAR *ppPreferences);


void __RPC_STUB IIcadApplication_get_Preferences_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_StatusBar_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pstrStatusText);


void __RPC_STUB IIcadApplication_get_StatusBar_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadApplication_put_StatusBar_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [in] */ BSTR StatusText);


void __RPC_STUB IIcadApplication_put_StatusBar_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_Top_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pTop);


void __RPC_STUB IIcadApplication_get_Top_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadApplication_put_Top_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [in] */ long Top);


void __RPC_STUB IIcadApplication_put_Top_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_VBE_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppVBE);


void __RPC_STUB IIcadApplication_get_VBE_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_Version_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pstrVersion);


void __RPC_STUB IIcadApplication_get_Version_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_Visible_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);


void __RPC_STUB IIcadApplication_get_Visible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadApplication_put_Visible_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Visible);


void __RPC_STUB IIcadApplication_put_Visible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_Width_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pWidth);


void __RPC_STUB IIcadApplication_get_Width_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadApplication_put_Width_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [in] */ long Width);


void __RPC_STUB IIcadApplication_put_Width_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_Windows_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ IIcadWindows __RPC_FAR *__RPC_FAR *ppWindows);


void __RPC_STUB IIcadApplication_get_Windows_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplication_get_Workspace_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ IIcadWorkspace __RPC_FAR *__RPC_FAR *ppWorkspace);


void __RPC_STUB IIcadApplication_get_Workspace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadApplication_DefineFunction_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [in] */ BSTR FunctionName,
    /* [in] */ VARIANT FunctionPointer);


void __RPC_STUB IIcadApplication_DefineFunction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadApplication_UndefineFunction_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [in] */ BSTR FunctionName);


void __RPC_STUB IIcadApplication_UndefineFunction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadApplication_Help_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [in] */ BSTR HelpFile,
    /* [optional][in] */ BSTR HelpTopic,
    /* [optional][in] */ long HelpCommand);


void __RPC_STUB IIcadApplication_Help_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadApplication_Quit_Proxy( 
    IIcadApplication __RPC_FAR * This);


void __RPC_STUB IIcadApplication_Quit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadApplication_ListSDS_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [retval][out] */ VARIANT __RPC_FAR *ListOfSDSApps);


void __RPC_STUB IIcadApplication_ListSDS_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadApplication_LoadSDS_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [in] */ BSTR ApplicationName);


void __RPC_STUB IIcadApplication_LoadSDS_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadApplication_UnloadSDS_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [in] */ BSTR ApplicationName);


void __RPC_STUB IIcadApplication_UnloadSDS_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadApplication_LoadLISP_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [in] */ BSTR ApplicationName);


void __RPC_STUB IIcadApplication_LoadLISP_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadApplication_RunCommand_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [in] */ BSTR Command);


void __RPC_STUB IIcadApplication_RunCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadApplication_RunScript_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [in] */ BSTR ScriptName);


void __RPC_STUB IIcadApplication_RunScript_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadApplication_GetInterfaceObject_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [in] */ BSTR ProgID,
    /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppObject);


void __RPC_STUB IIcadApplication_GetInterfaceObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadApplication_IsFunctionLoaded_Proxy( 
    IIcadApplication __RPC_FAR * This,
    /* [in] */ BSTR FunctionName,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Loaded);


void __RPC_STUB IIcadApplication_IsFunctionLoaded_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadApplication_INTERFACE_DEFINED__ */


#ifndef __IIcadWorkspace_INTERFACE_DEFINED__
#define __IIcadWorkspace_INTERFACE_DEFINED__

/* interface IIcadWorkspace */
/* [unique][helpstring][dual][nonextensible][uuid][object] */ 


EXTERN_C const IID IID_IIcadWorkspace;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c1c0-7e36-11d1-bc5a-0060089608a4")
    IIcadWorkspace : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppReturn) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppReturn) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveDocument( 
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *Document) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR __RPC_FAR *pReturn) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR Value) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadWorkspaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadWorkspace __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadWorkspace __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadWorkspace __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadWorkspace __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadWorkspace __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadWorkspace __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadWorkspace __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadWorkspace __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppReturn);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadWorkspace __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppReturn);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveDocument )( 
            IIcadWorkspace __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *Document);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            IIcadWorkspace __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pReturn);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
            IIcadWorkspace __RPC_FAR * This,
            /* [in] */ BSTR Value);
        
        END_INTERFACE
    } IIcadWorkspaceVtbl;

    interface IIcadWorkspace
    {
        CONST_VTBL struct IIcadWorkspaceVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadWorkspace_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadWorkspace_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadWorkspace_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadWorkspace_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadWorkspace_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadWorkspace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadWorkspace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadWorkspace_get_Application(This,ppReturn)	\
    (This)->lpVtbl -> get_Application(This,ppReturn)

#define IIcadWorkspace_get_Parent(This,ppReturn)	\
    (This)->lpVtbl -> get_Parent(This,ppReturn)

#define IIcadWorkspace_get_ActiveDocument(This,Document)	\
    (This)->lpVtbl -> get_ActiveDocument(This,Document)

#define IIcadWorkspace_get_Name(This,pReturn)	\
    (This)->lpVtbl -> get_Name(This,pReturn)

#define IIcadWorkspace_put_Name(This,Value)	\
    (This)->lpVtbl -> put_Name(This,Value)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadWorkspace_get_Application_Proxy( 
    IIcadWorkspace __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppReturn);


void __RPC_STUB IIcadWorkspace_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadWorkspace_get_Parent_Proxy( 
    IIcadWorkspace __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppReturn);


void __RPC_STUB IIcadWorkspace_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadWorkspace_get_ActiveDocument_Proxy( 
    IIcadWorkspace __RPC_FAR * This,
    /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *Document);


void __RPC_STUB IIcadWorkspace_get_ActiveDocument_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadWorkspace_get_Name_Proxy( 
    IIcadWorkspace __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pReturn);


void __RPC_STUB IIcadWorkspace_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadWorkspace_put_Name_Proxy( 
    IIcadWorkspace __RPC_FAR * This,
    /* [in] */ BSTR Value);


void __RPC_STUB IIcadWorkspace_put_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadWorkspace_INTERFACE_DEFINED__ */


#ifndef __IIcadApplicationPreferences_INTERFACE_DEFINED__
#define __IIcadApplicationPreferences_INTERFACE_DEFINED__

/* interface IIcadApplicationPreferences */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadApplicationPreferences;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c10e-7e36-11d1-bc5a-0060089608a4")
    IIcadApplicationPreferences : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *Application) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *Application) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CursorSize( 
            /* [retval][out] */ int __RPC_FAR *Size) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CursorSize( 
            /* [in] */ int Size) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CursorXColor( 
            /* [retval][out] */ Colors __RPC_FAR *pColor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CursorXColor( 
            /* [in] */ Colors Color) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CursorYColor( 
            /* [retval][out] */ Colors __RPC_FAR *pColor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CursorYColor( 
            /* [in] */ Colors Color) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CursorZColor( 
            /* [retval][out] */ Colors __RPC_FAR *pColor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CursorZColor( 
            /* [in] */ Colors Color) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayScrollBars( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Visible) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DisplayScrollBars( 
            /* [in] */ VARIANT_BOOL Visible) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DockedVisibleLines( 
            /* [retval][out] */ int __RPC_FAR *NumberOfLines) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DockedVisibleLines( 
            /* [in] */ int NumberOfLines) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_GraphicsWinBackgrndColor( 
            /* [retval][out] */ Colors __RPC_FAR *pColor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_GraphicsWinBackgrndColor( 
            /* [in] */ Colors Color) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_HistoryLines( 
            /* [retval][out] */ int __RPC_FAR *NumberOfLines) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HistoryLines( 
            /* [in] */ int NumberOfLines) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MaxIntelliCADWindow( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Maximize) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MaxIntelliCADWindow( 
            /* [in] */ VARIANT_BOOL Maximize) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AutoSaveInterval( 
            /* [retval][out] */ int __RPC_FAR *Interval) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AutoSaveInterval( 
            /* [in] */ int Interval) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LogFileName( 
            /* [retval][out] */ BSTR __RPC_FAR *LogFileName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LogFileName( 
            /* [in] */ BSTR LogFileName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LogFileOn( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *On) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LogFileOn( 
            /* [in] */ VARIANT_BOOL On) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltFontFile( 
            /* [retval][out] */ BSTR __RPC_FAR *AltFontFileName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltFontFile( 
            /* [in] */ BSTR AltFontFileName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadApplicationPreferencesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadApplicationPreferences __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadApplicationPreferences __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *Application);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *Application);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CursorSize )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *Size);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CursorSize )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [in] */ int Size);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CursorXColor )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CursorXColor )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CursorYColor )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CursorYColor )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CursorZColor )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CursorZColor )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DisplayScrollBars )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Visible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DisplayScrollBars )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DockedVisibleLines )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *NumberOfLines);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DockedVisibleLines )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [in] */ int NumberOfLines);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_GraphicsWinBackgrndColor )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_GraphicsWinBackgrndColor )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HistoryLines )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *NumberOfLines);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_HistoryLines )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [in] */ int NumberOfLines);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MaxIntelliCADWindow )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Maximize);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MaxIntelliCADWindow )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Maximize);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AutoSaveInterval )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *Interval);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AutoSaveInterval )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [in] */ int Interval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LogFileName )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *LogFileName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LogFileName )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [in] */ BSTR LogFileName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LogFileOn )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *On);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LogFileOn )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL On);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltFontFile )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *AltFontFileName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltFontFile )( 
            IIcadApplicationPreferences __RPC_FAR * This,
            /* [in] */ BSTR AltFontFileName);
        
        END_INTERFACE
    } IIcadApplicationPreferencesVtbl;

    interface IIcadApplicationPreferences
    {
        CONST_VTBL struct IIcadApplicationPreferencesVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadApplicationPreferences_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadApplicationPreferences_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadApplicationPreferences_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadApplicationPreferences_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadApplicationPreferences_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadApplicationPreferences_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadApplicationPreferences_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadApplicationPreferences_get_Application(This,Application)	\
    (This)->lpVtbl -> get_Application(This,Application)

#define IIcadApplicationPreferences_get_Parent(This,Application)	\
    (This)->lpVtbl -> get_Parent(This,Application)

#define IIcadApplicationPreferences_get_CursorSize(This,Size)	\
    (This)->lpVtbl -> get_CursorSize(This,Size)

#define IIcadApplicationPreferences_put_CursorSize(This,Size)	\
    (This)->lpVtbl -> put_CursorSize(This,Size)

#define IIcadApplicationPreferences_get_CursorXColor(This,pColor)	\
    (This)->lpVtbl -> get_CursorXColor(This,pColor)

#define IIcadApplicationPreferences_put_CursorXColor(This,Color)	\
    (This)->lpVtbl -> put_CursorXColor(This,Color)

#define IIcadApplicationPreferences_get_CursorYColor(This,pColor)	\
    (This)->lpVtbl -> get_CursorYColor(This,pColor)

#define IIcadApplicationPreferences_put_CursorYColor(This,Color)	\
    (This)->lpVtbl -> put_CursorYColor(This,Color)

#define IIcadApplicationPreferences_get_CursorZColor(This,pColor)	\
    (This)->lpVtbl -> get_CursorZColor(This,pColor)

#define IIcadApplicationPreferences_put_CursorZColor(This,Color)	\
    (This)->lpVtbl -> put_CursorZColor(This,Color)

#define IIcadApplicationPreferences_get_DisplayScrollBars(This,Visible)	\
    (This)->lpVtbl -> get_DisplayScrollBars(This,Visible)

#define IIcadApplicationPreferences_put_DisplayScrollBars(This,Visible)	\
    (This)->lpVtbl -> put_DisplayScrollBars(This,Visible)

#define IIcadApplicationPreferences_get_DockedVisibleLines(This,NumberOfLines)	\
    (This)->lpVtbl -> get_DockedVisibleLines(This,NumberOfLines)

#define IIcadApplicationPreferences_put_DockedVisibleLines(This,NumberOfLines)	\
    (This)->lpVtbl -> put_DockedVisibleLines(This,NumberOfLines)

#define IIcadApplicationPreferences_get_GraphicsWinBackgrndColor(This,pColor)	\
    (This)->lpVtbl -> get_GraphicsWinBackgrndColor(This,pColor)

#define IIcadApplicationPreferences_put_GraphicsWinBackgrndColor(This,Color)	\
    (This)->lpVtbl -> put_GraphicsWinBackgrndColor(This,Color)

#define IIcadApplicationPreferences_get_HistoryLines(This,NumberOfLines)	\
    (This)->lpVtbl -> get_HistoryLines(This,NumberOfLines)

#define IIcadApplicationPreferences_put_HistoryLines(This,NumberOfLines)	\
    (This)->lpVtbl -> put_HistoryLines(This,NumberOfLines)

#define IIcadApplicationPreferences_get_MaxIntelliCADWindow(This,Maximize)	\
    (This)->lpVtbl -> get_MaxIntelliCADWindow(This,Maximize)

#define IIcadApplicationPreferences_put_MaxIntelliCADWindow(This,Maximize)	\
    (This)->lpVtbl -> put_MaxIntelliCADWindow(This,Maximize)

#define IIcadApplicationPreferences_get_AutoSaveInterval(This,Interval)	\
    (This)->lpVtbl -> get_AutoSaveInterval(This,Interval)

#define IIcadApplicationPreferences_put_AutoSaveInterval(This,Interval)	\
    (This)->lpVtbl -> put_AutoSaveInterval(This,Interval)

#define IIcadApplicationPreferences_get_LogFileName(This,LogFileName)	\
    (This)->lpVtbl -> get_LogFileName(This,LogFileName)

#define IIcadApplicationPreferences_put_LogFileName(This,LogFileName)	\
    (This)->lpVtbl -> put_LogFileName(This,LogFileName)

#define IIcadApplicationPreferences_get_LogFileOn(This,On)	\
    (This)->lpVtbl -> get_LogFileOn(This,On)

#define IIcadApplicationPreferences_put_LogFileOn(This,On)	\
    (This)->lpVtbl -> put_LogFileOn(This,On)

#define IIcadApplicationPreferences_get_AltFontFile(This,AltFontFileName)	\
    (This)->lpVtbl -> get_AltFontFile(This,AltFontFileName)

#define IIcadApplicationPreferences_put_AltFontFile(This,AltFontFileName)	\
    (This)->lpVtbl -> put_AltFontFile(This,AltFontFileName)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_get_Application_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *Application);


void __RPC_STUB IIcadApplicationPreferences_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_get_Parent_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *Application);


void __RPC_STUB IIcadApplicationPreferences_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_get_CursorSize_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *Size);


void __RPC_STUB IIcadApplicationPreferences_get_CursorSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_put_CursorSize_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [in] */ int Size);


void __RPC_STUB IIcadApplicationPreferences_put_CursorSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_get_CursorXColor_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [retval][out] */ Colors __RPC_FAR *pColor);


void __RPC_STUB IIcadApplicationPreferences_get_CursorXColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_put_CursorXColor_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [in] */ Colors Color);


void __RPC_STUB IIcadApplicationPreferences_put_CursorXColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_get_CursorYColor_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [retval][out] */ Colors __RPC_FAR *pColor);


void __RPC_STUB IIcadApplicationPreferences_get_CursorYColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_put_CursorYColor_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [in] */ Colors Color);


void __RPC_STUB IIcadApplicationPreferences_put_CursorYColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_get_CursorZColor_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [retval][out] */ Colors __RPC_FAR *pColor);


void __RPC_STUB IIcadApplicationPreferences_get_CursorZColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_put_CursorZColor_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [in] */ Colors Color);


void __RPC_STUB IIcadApplicationPreferences_put_CursorZColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_get_DisplayScrollBars_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Visible);


void __RPC_STUB IIcadApplicationPreferences_get_DisplayScrollBars_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_put_DisplayScrollBars_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Visible);


void __RPC_STUB IIcadApplicationPreferences_put_DisplayScrollBars_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_get_DockedVisibleLines_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *NumberOfLines);


void __RPC_STUB IIcadApplicationPreferences_get_DockedVisibleLines_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_put_DockedVisibleLines_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [in] */ int NumberOfLines);


void __RPC_STUB IIcadApplicationPreferences_put_DockedVisibleLines_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_get_GraphicsWinBackgrndColor_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [retval][out] */ Colors __RPC_FAR *pColor);


void __RPC_STUB IIcadApplicationPreferences_get_GraphicsWinBackgrndColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_put_GraphicsWinBackgrndColor_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [in] */ Colors Color);


void __RPC_STUB IIcadApplicationPreferences_put_GraphicsWinBackgrndColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_get_HistoryLines_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *NumberOfLines);


void __RPC_STUB IIcadApplicationPreferences_get_HistoryLines_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_put_HistoryLines_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [in] */ int NumberOfLines);


void __RPC_STUB IIcadApplicationPreferences_put_HistoryLines_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_get_MaxIntelliCADWindow_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Maximize);


void __RPC_STUB IIcadApplicationPreferences_get_MaxIntelliCADWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_put_MaxIntelliCADWindow_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Maximize);


void __RPC_STUB IIcadApplicationPreferences_put_MaxIntelliCADWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_get_AutoSaveInterval_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *Interval);


void __RPC_STUB IIcadApplicationPreferences_get_AutoSaveInterval_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_put_AutoSaveInterval_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [in] */ int Interval);


void __RPC_STUB IIcadApplicationPreferences_put_AutoSaveInterval_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_get_LogFileName_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *LogFileName);


void __RPC_STUB IIcadApplicationPreferences_get_LogFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_put_LogFileName_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [in] */ BSTR LogFileName);


void __RPC_STUB IIcadApplicationPreferences_put_LogFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_get_LogFileOn_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *On);


void __RPC_STUB IIcadApplicationPreferences_get_LogFileOn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_put_LogFileOn_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL On);


void __RPC_STUB IIcadApplicationPreferences_put_LogFileOn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_get_AltFontFile_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *AltFontFileName);


void __RPC_STUB IIcadApplicationPreferences_get_AltFontFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadApplicationPreferences_put_AltFontFile_Proxy( 
    IIcadApplicationPreferences __RPC_FAR * This,
    /* [in] */ BSTR AltFontFileName);


void __RPC_STUB IIcadApplicationPreferences_put_AltFontFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadApplicationPreferences_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_Icad_0228 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_Icad_0228_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_Icad_0228_v0_0_s_ifspec;

#ifndef __IIcadDbItem_INTERFACE_DEFINED__
#define __IIcadDbItem_INTERFACE_DEFINED__

/* interface IIcadDbItem */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadDbItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c120-7e36-11d1-bc5a-0060089608a4")
    IIcadDbItem : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Document( 
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Handle( 
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE _handitem( 
            /* [retval][out] */ long __RPC_FAR *pHanditem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetXData( 
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetXData( 
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadDbItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadDbItem __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadDbItem __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadDbItem __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadDbItem __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadDbItem __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadDbItem __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadDbItem __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadDbItem __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadDbItem __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadDbItem __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadDbItem __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadDbItem __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadDbItem __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadDbItem __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadDbItem __RPC_FAR * This);
        
        END_INTERFACE
    } IIcadDbItemVtbl;

    interface IIcadDbItem
    {
        CONST_VTBL struct IIcadDbItemVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadDbItem_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadDbItem_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadDbItem_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadDbItem_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadDbItem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadDbItem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadDbItem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadDbItem_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadDbItem_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadDbItem_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadDbItem_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadDbItem__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadDbItem_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadDbItem_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadDbItem_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDbItem_get_Application_Proxy( 
    IIcadDbItem __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadDbItem_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDbItem_get_Document_Proxy( 
    IIcadDbItem __RPC_FAR * This,
    /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);


void __RPC_STUB IIcadDbItem_get_Document_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDbItem_get_Parent_Proxy( 
    IIcadDbItem __RPC_FAR * This,
    /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadDbItem_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IIcadDbItem_get_Handle_Proxy( 
    IIcadDbItem __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);


void __RPC_STUB IIcadDbItem_get_Handle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDbItem__handitem_Proxy( 
    IIcadDbItem __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pHanditem);


void __RPC_STUB IIcadDbItem__handitem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDbItem_GetXData_Proxy( 
    IIcadDbItem __RPC_FAR * This,
    /* [in] */ BSTR AppName,
    /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
    /* [out][in] */ VARIANT __RPC_FAR *DataArray);


void __RPC_STUB IIcadDbItem_GetXData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDbItem_SetXData_Proxy( 
    IIcadDbItem __RPC_FAR * This,
    /* [in] */ VARIANT TypeArray,
    /* [in] */ VARIANT DataArray);


void __RPC_STUB IIcadDbItem_SetXData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDbItem_Delete_Proxy( 
    IIcadDbItem __RPC_FAR * This);


void __RPC_STUB IIcadDbItem_Delete_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadDbItem_INTERFACE_DEFINED__ */


#ifndef __IIcadTableItem_INTERFACE_DEFINED__
#define __IIcadTableItem_INTERFACE_DEFINED__

/* interface IIcadTableItem */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadTableItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c121-7e36-11d1-bc5a-0060089608a4")
    IIcadTableItem : public IIcadDbItem
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR __RPC_FAR *pstrName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR Name) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadTableItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadTableItem __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadTableItem __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadTableItem __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadTableItem __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadTableItem __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadTableItem __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadTableItem __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadTableItem __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadTableItem __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadTableItem __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadTableItem __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadTableItem __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadTableItem __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadTableItem __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadTableItem __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            IIcadTableItem __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
            IIcadTableItem __RPC_FAR * This,
            /* [in] */ BSTR Name);
        
        END_INTERFACE
    } IIcadTableItemVtbl;

    interface IIcadTableItem
    {
        CONST_VTBL struct IIcadTableItemVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadTableItem_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadTableItem_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadTableItem_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadTableItem_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadTableItem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadTableItem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadTableItem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadTableItem_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadTableItem_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadTableItem_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadTableItem_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadTableItem__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadTableItem_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadTableItem_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadTableItem_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadTableItem_get_Name(This,pstrName)	\
    (This)->lpVtbl -> get_Name(This,pstrName)

#define IIcadTableItem_put_Name(This,Name)	\
    (This)->lpVtbl -> put_Name(This,Name)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadTableItem_get_Name_Proxy( 
    IIcadTableItem __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pstrName);


void __RPC_STUB IIcadTableItem_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadTableItem_put_Name_Proxy( 
    IIcadTableItem __RPC_FAR * This,
    /* [in] */ BSTR Name);


void __RPC_STUB IIcadTableItem_put_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadTableItem_INTERFACE_DEFINED__ */


#ifndef __IIcadRegisteredApplication_INTERFACE_DEFINED__
#define __IIcadRegisteredApplication_INTERFACE_DEFINED__

/* interface IIcadRegisteredApplication */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadRegisteredApplication;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c123-7e36-11d1-bc5a-0060089608a4")
    IIcadRegisteredApplication : public IIcadTableItem
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IIcadRegisteredApplicationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadRegisteredApplication __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadRegisteredApplication __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadRegisteredApplication __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadRegisteredApplication __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadRegisteredApplication __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadRegisteredApplication __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadRegisteredApplication __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadRegisteredApplication __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadRegisteredApplication __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadRegisteredApplication __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadRegisteredApplication __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadRegisteredApplication __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadRegisteredApplication __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadRegisteredApplication __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadRegisteredApplication __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            IIcadRegisteredApplication __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
            IIcadRegisteredApplication __RPC_FAR * This,
            /* [in] */ BSTR Name);
        
        END_INTERFACE
    } IIcadRegisteredApplicationVtbl;

    interface IIcadRegisteredApplication
    {
        CONST_VTBL struct IIcadRegisteredApplicationVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadRegisteredApplication_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadRegisteredApplication_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadRegisteredApplication_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadRegisteredApplication_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadRegisteredApplication_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadRegisteredApplication_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadRegisteredApplication_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadRegisteredApplication_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadRegisteredApplication_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadRegisteredApplication_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadRegisteredApplication_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadRegisteredApplication__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadRegisteredApplication_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadRegisteredApplication_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadRegisteredApplication_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadRegisteredApplication_get_Name(This,pstrName)	\
    (This)->lpVtbl -> get_Name(This,pstrName)

#define IIcadRegisteredApplication_put_Name(This,Name)	\
    (This)->lpVtbl -> put_Name(This,Name)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IIcadRegisteredApplication_INTERFACE_DEFINED__ */


#ifndef __IIcadRegisteredApplications_INTERFACE_DEFINED__
#define __IIcadRegisteredApplications_INTERFACE_DEFINED__

/* interface IIcadRegisteredApplications */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadRegisteredApplications;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c124-7e36-11d1-bc5a-0060089608a4")
    IIcadRegisteredApplications : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long __RPC_FAR *pCount) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ IIcadRegisteredApplication __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadRegisteredApplication __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadRegisteredApplicationsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadRegisteredApplications __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadRegisteredApplications __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadRegisteredApplications __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadRegisteredApplications __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadRegisteredApplications __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadRegisteredApplications __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadRegisteredApplications __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadRegisteredApplications __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
            IIcadRegisteredApplications __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadRegisteredApplications __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
            IIcadRegisteredApplications __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            IIcadRegisteredApplications __RPC_FAR * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IIcadRegisteredApplication __RPC_FAR *__RPC_FAR *ppItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
            IIcadRegisteredApplications __RPC_FAR * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadRegisteredApplication __RPC_FAR *__RPC_FAR *ppItem);
        
        END_INTERFACE
    } IIcadRegisteredApplicationsVtbl;

    interface IIcadRegisteredApplications
    {
        CONST_VTBL struct IIcadRegisteredApplicationsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadRegisteredApplications_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadRegisteredApplications_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadRegisteredApplications_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadRegisteredApplications_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadRegisteredApplications_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadRegisteredApplications_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadRegisteredApplications_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadRegisteredApplications_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadRegisteredApplications_get_Count(This,pCount)	\
    (This)->lpVtbl -> get_Count(This,pCount)

#define IIcadRegisteredApplications_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadRegisteredApplications_get__NewEnum(This,ppUnk)	\
    (This)->lpVtbl -> get__NewEnum(This,ppUnk)

#define IIcadRegisteredApplications_Add(This,Name,ppItem)	\
    (This)->lpVtbl -> Add(This,Name,ppItem)

#define IIcadRegisteredApplications_Item(This,Index,ppItem)	\
    (This)->lpVtbl -> Item(This,Index,ppItem)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadRegisteredApplications_get_Application_Proxy( 
    IIcadRegisteredApplications __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadRegisteredApplications_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadRegisteredApplications_get_Count_Proxy( 
    IIcadRegisteredApplications __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pCount);


void __RPC_STUB IIcadRegisteredApplications_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadRegisteredApplications_get_Parent_Proxy( 
    IIcadRegisteredApplications __RPC_FAR * This,
    /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadRegisteredApplications_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE IIcadRegisteredApplications_get__NewEnum_Proxy( 
    IIcadRegisteredApplications __RPC_FAR * This,
    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);


void __RPC_STUB IIcadRegisteredApplications_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadRegisteredApplications_Add_Proxy( 
    IIcadRegisteredApplications __RPC_FAR * This,
    /* [in] */ BSTR Name,
    /* [retval][out] */ IIcadRegisteredApplication __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadRegisteredApplications_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadRegisteredApplications_Item_Proxy( 
    IIcadRegisteredApplications __RPC_FAR * This,
    /* [in] */ VARIANT Index,
    /* [retval][out] */ IIcadRegisteredApplication __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadRegisteredApplications_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadRegisteredApplications_INTERFACE_DEFINED__ */


#ifndef __IIcadEntities_INTERFACE_DEFINED__
#define __IIcadEntities_INTERFACE_DEFINED__

/* interface IIcadEntities */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadEntities;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c18e-7e36-11d1-bc5a-0060089608a4")
    IIcadEntities : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long __RPC_FAR *pCount) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ long Index,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add3DFace( 
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [optional][in] */ IIcadPoint __RPC_FAR *Point4,
            /* [retval][out] */ IIcad3DFace __RPC_FAR *__RPC_FAR *pp3DFace) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add3DMesh( 
            /* [in] */ long M,
            /* [in] */ long N,
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppMesh) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add3DPoly( 
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [retval][out] */ IIcad3DPoly __RPC_FAR *__RPC_FAR *pp3DPoly) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddArc( 
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double Radius,
            /* [in] */ double StartAngle,
            /* [in] */ double EndAngle,
            /* [retval][out] */ IIcadArc __RPC_FAR *__RPC_FAR *ppArc) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddAttributeDef( 
            /* [in] */ double Height,
            /* [in] */ AttributeMode Mode,
            /* [in] */ BSTR Prompt,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ BSTR Tag,
            /* [in] */ BSTR Value,
            /* [retval][out] */ IIcadAttributeDef __RPC_FAR *__RPC_FAR *ppAttribute) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddBox( 
            /* [in] */ IIcadPoint __RPC_FAR *Origin,
            /* [in] */ double Length,
            /* [in] */ double Width,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppBox) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddCircle( 
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double Radius,
            /* [retval][out] */ IIcadCircle __RPC_FAR *__RPC_FAR *ppCircle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddCone( 
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double BaseRadius,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppCone) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddCylinder( 
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double Radius,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppCylinder) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddDim3PointAngular( 
            /* [in] */ IIcadPoint __RPC_FAR *AngleVertex,
            /* [in] */ IIcadPoint __RPC_FAR *FirstEndPoint,
            /* [in] */ IIcadPoint __RPC_FAR *SecondEndPoint,
            /* [in] */ IIcadPoint __RPC_FAR *TextLocation,
            /* [retval][out] */ IIcadDim3PointAngular __RPC_FAR *__RPC_FAR *ppDimension) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddDimAligned( 
            /* [in] */ IIcadPoint __RPC_FAR *ExtPoint1,
            /* [in] */ IIcadPoint __RPC_FAR *ExtPoint2,
            /* [in] */ IIcadPoint __RPC_FAR *TextLocation,
            /* [retval][out] */ IIcadDimAligned __RPC_FAR *__RPC_FAR *ppDimension) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddDimAngular( 
            /* [in] */ IIcadPoint __RPC_FAR *AngleVertex,
            /* [in] */ IIcadPoint __RPC_FAR *FirstEndPoint,
            /* [in] */ IIcadPoint __RPC_FAR *SecondEndPoint,
            /* [in] */ IIcadPoint __RPC_FAR *TextLocation,
            /* [retval][out] */ IIcadDimAngular __RPC_FAR *__RPC_FAR *ppDimension) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddDimDiametric( 
            /* [in] */ IIcadPoint __RPC_FAR *ChordPoint,
            /* [in] */ IIcadPoint __RPC_FAR *FarChordPoint,
            /* [in] */ double LeaderLength,
            /* [retval][out] */ IIcadDimDiametric __RPC_FAR *__RPC_FAR *ppDimension) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddDimOrdinate( 
            /* [in] */ IIcadPoint __RPC_FAR *DefintionPoint,
            /* [in] */ IIcadPoint __RPC_FAR *LeaderEndPoint,
            /* [in] */ VARIANT_BOOL UseXAxis,
            /* [retval][out] */ IIcadDimOrdinate __RPC_FAR *__RPC_FAR *ppDimension) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddDimRadial( 
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ IIcadPoint __RPC_FAR *ChordPoint,
            /* [in] */ double LeaderLength,
            /* [retval][out] */ IIcadDimRadial __RPC_FAR *__RPC_FAR *ppDimension) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddDimRotated( 
            /* [in] */ IIcadPoint __RPC_FAR *ExtPoint1,
            /* [in] */ IIcadPoint __RPC_FAR *ExtPoint2,
            /* [in] */ IIcadPoint __RPC_FAR *DimLineLocation,
            /* [in] */ double Rotation,
            /* [retval][out] */ IIcadDimRotated __RPC_FAR *__RPC_FAR *ppDimension) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddEllipse( 
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ IIcadVector __RPC_FAR *MajorAxis,
            /* [in] */ double RadiusRatio,
            /* [retval][out] */ IIcadEllipse __RPC_FAR *__RPC_FAR *ppEllipse) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddHatch( 
            /* [in] */ HatchType PatternType,
            /* [in] */ BSTR PatternName,
            /* [in] */ VARIANT_BOOL Associativity,
            /* [retval][out] */ IIcadHatch __RPC_FAR *__RPC_FAR *ppHatch) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddImage( 
            /* [in] */ BSTR ImageFile,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [defaultvalue][optional][in] */ double ScaleFactor,
            /* [defaultvalue][optional][in] */ double RotationAngle,
            /* [retval][out] */ IIcadImage __RPC_FAR *__RPC_FAR *ppImage) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddInfiniteLine( 
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [retval][out] */ IIcadInfiniteLine __RPC_FAR *__RPC_FAR *ppInfiniteLine) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddLeader( 
            /* [in] */ IIcadPoints __RPC_FAR *Points,
            /* [optional][in] */ BSTR Annotation,
            /* [defaultvalue][optional][in] */ LeaderType Type,
            /* [retval][out] */ IIcadLeader __RPC_FAR *__RPC_FAR *ppLeader) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddLightWeightPolyline( 
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [retval][out] */ IIcadLightWeightPolyline __RPC_FAR *__RPC_FAR *ppLWPolyline) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddLine( 
            /* [in] */ IIcadPoint __RPC_FAR *StartPoint,
            /* [in] */ IIcadPoint __RPC_FAR *EndPoint,
            /* [retval][out] */ IIcadLine __RPC_FAR *__RPC_FAR *ppLine) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddMText( 
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ double Width,
            /* [in] */ BSTR Text,
            /* [retval][out] */ IIcadMText __RPC_FAR *__RPC_FAR *ppMText) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddPointEntity( 
            /* [in] */ IIcadPoint __RPC_FAR *Point,
            /* [retval][out] */ IIcadPointEntity __RPC_FAR *__RPC_FAR *ppPointEntity) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddPolyline( 
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [retval][out] */ IIcadPolyline __RPC_FAR *__RPC_FAR *ppPolyline) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddPolyfaceMesh( 
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [in] */ VARIANT ListOfFaceIndices,
            /* [retval][out] */ IIcadPolyfaceMesh __RPC_FAR *__RPC_FAR *ppMesh) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddRay( 
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [retval][out] */ IIcadRay __RPC_FAR *__RPC_FAR *ppRay) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddSolid( 
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [optional][in] */ IIcadPoint __RPC_FAR *Point4,
            /* [retval][out] */ IIcadSolid __RPC_FAR *__RPC_FAR *ppSolid) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddSphere( 
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double Radius,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppSphere) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddSpline( 
            /* [in] */ IIcadPoints __RPC_FAR *__RPC_FAR *Points,
            /* [in] */ IIcadVector __RPC_FAR *StartTangent,
            /* [in] */ IIcadVector __RPC_FAR *EndTangent,
            /* [retval][out] */ IIcadSpline __RPC_FAR *__RPC_FAR *ppSpline) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddText( 
            /* [in] */ BSTR TextString,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadText __RPC_FAR *__RPC_FAR *ppText) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddTolerance( 
            /* [in] */ BSTR Text,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ IIcadVector __RPC_FAR *Direction,
            /* [retval][out] */ IIcadTolerance __RPC_FAR *__RPC_FAR *ppTolerance) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddTorus( 
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double TorusRadius,
            /* [in] */ double TubeRadius,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *pTorus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddTrace( 
            /* [in] */ IIcadPoints __RPC_FAR *Points,
            /* [retval][out] */ IIcadTrace __RPC_FAR *__RPC_FAR *ppTrace) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddWedge( 
            /* [in] */ IIcadPoint __RPC_FAR *Origin,
            /* [in] */ double Length,
            /* [in] */ double Width,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppWedge) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachExternalReference( 
            /* [in] */ BSTR PathName,
            /* [in] */ BSTR Name,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ double XScale,
            /* [in] */ double YScale,
            /* [in] */ double ZScale,
            /* [in] */ double Rotation,
            /* [in] */ VARIANT_BOOL bOverlay,
            /* [retval][out] */ IIcadExternalReference __RPC_FAR *__RPC_FAR *ppXRef) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InsertBlock( 
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ BSTR BlockName,
            /* [defaultvalue][optional][in] */ double XScale,
            /* [defaultvalue][optional][in] */ double YScale,
            /* [defaultvalue][optional][in] */ double ZScale,
            /* [defaultvalue][optional][in] */ double Rotation,
            /* [retval][out] */ IIcadBlockInsert __RPC_FAR *__RPC_FAR *ppBlockInsert) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddShape( 
            /* [in] */ BSTR Name,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [defaultvalue][optional][in] */ double Height,
            /* [defaultvalue][optional][in] */ double Rotation,
            /* [retval][out] */ IIcadShape __RPC_FAR *__RPC_FAR *ppShape) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadEntitiesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadEntities __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadEntities __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadEntities __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadEntities __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
            IIcadEntities __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadEntities __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
            IIcadEntities __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ long Index,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add3DFace )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [optional][in] */ IIcadPoint __RPC_FAR *Point4,
            /* [retval][out] */ IIcad3DFace __RPC_FAR *__RPC_FAR *pp3DFace);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add3DMesh )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ long M,
            /* [in] */ long N,
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppMesh);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add3DPoly )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [retval][out] */ IIcad3DPoly __RPC_FAR *__RPC_FAR *pp3DPoly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddArc )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double Radius,
            /* [in] */ double StartAngle,
            /* [in] */ double EndAngle,
            /* [retval][out] */ IIcadArc __RPC_FAR *__RPC_FAR *ppArc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddAttributeDef )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ double Height,
            /* [in] */ AttributeMode Mode,
            /* [in] */ BSTR Prompt,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ BSTR Tag,
            /* [in] */ BSTR Value,
            /* [retval][out] */ IIcadAttributeDef __RPC_FAR *__RPC_FAR *ppAttribute);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddBox )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Origin,
            /* [in] */ double Length,
            /* [in] */ double Width,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppBox);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddCircle )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double Radius,
            /* [retval][out] */ IIcadCircle __RPC_FAR *__RPC_FAR *ppCircle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddCone )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double BaseRadius,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppCone);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddCylinder )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double Radius,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppCylinder);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDim3PointAngular )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *AngleVertex,
            /* [in] */ IIcadPoint __RPC_FAR *FirstEndPoint,
            /* [in] */ IIcadPoint __RPC_FAR *SecondEndPoint,
            /* [in] */ IIcadPoint __RPC_FAR *TextLocation,
            /* [retval][out] */ IIcadDim3PointAngular __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimAligned )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *ExtPoint1,
            /* [in] */ IIcadPoint __RPC_FAR *ExtPoint2,
            /* [in] */ IIcadPoint __RPC_FAR *TextLocation,
            /* [retval][out] */ IIcadDimAligned __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimAngular )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *AngleVertex,
            /* [in] */ IIcadPoint __RPC_FAR *FirstEndPoint,
            /* [in] */ IIcadPoint __RPC_FAR *SecondEndPoint,
            /* [in] */ IIcadPoint __RPC_FAR *TextLocation,
            /* [retval][out] */ IIcadDimAngular __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimDiametric )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *ChordPoint,
            /* [in] */ IIcadPoint __RPC_FAR *FarChordPoint,
            /* [in] */ double LeaderLength,
            /* [retval][out] */ IIcadDimDiametric __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimOrdinate )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *DefintionPoint,
            /* [in] */ IIcadPoint __RPC_FAR *LeaderEndPoint,
            /* [in] */ VARIANT_BOOL UseXAxis,
            /* [retval][out] */ IIcadDimOrdinate __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimRadial )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ IIcadPoint __RPC_FAR *ChordPoint,
            /* [in] */ double LeaderLength,
            /* [retval][out] */ IIcadDimRadial __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimRotated )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *ExtPoint1,
            /* [in] */ IIcadPoint __RPC_FAR *ExtPoint2,
            /* [in] */ IIcadPoint __RPC_FAR *DimLineLocation,
            /* [in] */ double Rotation,
            /* [retval][out] */ IIcadDimRotated __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddEllipse )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ IIcadVector __RPC_FAR *MajorAxis,
            /* [in] */ double RadiusRatio,
            /* [retval][out] */ IIcadEllipse __RPC_FAR *__RPC_FAR *ppEllipse);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddHatch )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ HatchType PatternType,
            /* [in] */ BSTR PatternName,
            /* [in] */ VARIANT_BOOL Associativity,
            /* [retval][out] */ IIcadHatch __RPC_FAR *__RPC_FAR *ppHatch);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddImage )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ BSTR ImageFile,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [defaultvalue][optional][in] */ double ScaleFactor,
            /* [defaultvalue][optional][in] */ double RotationAngle,
            /* [retval][out] */ IIcadImage __RPC_FAR *__RPC_FAR *ppImage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddInfiniteLine )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [retval][out] */ IIcadInfiniteLine __RPC_FAR *__RPC_FAR *ppInfiniteLine);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddLeader )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Points,
            /* [optional][in] */ BSTR Annotation,
            /* [defaultvalue][optional][in] */ LeaderType Type,
            /* [retval][out] */ IIcadLeader __RPC_FAR *__RPC_FAR *ppLeader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddLightWeightPolyline )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [retval][out] */ IIcadLightWeightPolyline __RPC_FAR *__RPC_FAR *ppLWPolyline);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddLine )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *StartPoint,
            /* [in] */ IIcadPoint __RPC_FAR *EndPoint,
            /* [retval][out] */ IIcadLine __RPC_FAR *__RPC_FAR *ppLine);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddMText )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ double Width,
            /* [in] */ BSTR Text,
            /* [retval][out] */ IIcadMText __RPC_FAR *__RPC_FAR *ppMText);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddPointEntity )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point,
            /* [retval][out] */ IIcadPointEntity __RPC_FAR *__RPC_FAR *ppPointEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddPolyline )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [retval][out] */ IIcadPolyline __RPC_FAR *__RPC_FAR *ppPolyline);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddPolyfaceMesh )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [in] */ VARIANT ListOfFaceIndices,
            /* [retval][out] */ IIcadPolyfaceMesh __RPC_FAR *__RPC_FAR *ppMesh);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddRay )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [retval][out] */ IIcadRay __RPC_FAR *__RPC_FAR *ppRay);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSolid )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [optional][in] */ IIcadPoint __RPC_FAR *Point4,
            /* [retval][out] */ IIcadSolid __RPC_FAR *__RPC_FAR *ppSolid);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSphere )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double Radius,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppSphere);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSpline )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *__RPC_FAR *Points,
            /* [in] */ IIcadVector __RPC_FAR *StartTangent,
            /* [in] */ IIcadVector __RPC_FAR *EndTangent,
            /* [retval][out] */ IIcadSpline __RPC_FAR *__RPC_FAR *ppSpline);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddText )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ BSTR TextString,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadText __RPC_FAR *__RPC_FAR *ppText);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddTolerance )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ BSTR Text,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ IIcadVector __RPC_FAR *Direction,
            /* [retval][out] */ IIcadTolerance __RPC_FAR *__RPC_FAR *ppTolerance);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddTorus )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double TorusRadius,
            /* [in] */ double TubeRadius,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *pTorus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddTrace )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Points,
            /* [retval][out] */ IIcadTrace __RPC_FAR *__RPC_FAR *ppTrace);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddWedge )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Origin,
            /* [in] */ double Length,
            /* [in] */ double Width,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppWedge);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AttachExternalReference )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ BSTR PathName,
            /* [in] */ BSTR Name,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ double XScale,
            /* [in] */ double YScale,
            /* [in] */ double ZScale,
            /* [in] */ double Rotation,
            /* [in] */ VARIANT_BOOL bOverlay,
            /* [retval][out] */ IIcadExternalReference __RPC_FAR *__RPC_FAR *ppXRef);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InsertBlock )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ BSTR BlockName,
            /* [defaultvalue][optional][in] */ double XScale,
            /* [defaultvalue][optional][in] */ double YScale,
            /* [defaultvalue][optional][in] */ double ZScale,
            /* [defaultvalue][optional][in] */ double Rotation,
            /* [retval][out] */ IIcadBlockInsert __RPC_FAR *__RPC_FAR *ppBlockInsert);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddShape )( 
            IIcadEntities __RPC_FAR * This,
            /* [in] */ BSTR Name,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [defaultvalue][optional][in] */ double Height,
            /* [defaultvalue][optional][in] */ double Rotation,
            /* [retval][out] */ IIcadShape __RPC_FAR *__RPC_FAR *ppShape);
        
        END_INTERFACE
    } IIcadEntitiesVtbl;

    interface IIcadEntities
    {
        CONST_VTBL struct IIcadEntitiesVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadEntities_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadEntities_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadEntities_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadEntities_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadEntities_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadEntities_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadEntities_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadEntities_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadEntities_get_Count(This,pCount)	\
    (This)->lpVtbl -> get_Count(This,pCount)

#define IIcadEntities_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadEntities_get__NewEnum(This,ppUnk)	\
    (This)->lpVtbl -> get__NewEnum(This,ppUnk)

#define IIcadEntities_Item(This,Index,ppItem)	\
    (This)->lpVtbl -> Item(This,Index,ppItem)

#define IIcadEntities_Add3DFace(This,Point1,Point2,Point3,Point4,pp3DFace)	\
    (This)->lpVtbl -> Add3DFace(This,Point1,Point2,Point3,Point4,pp3DFace)

#define IIcadEntities_Add3DMesh(This,M,N,Vertices,ppMesh)	\
    (This)->lpVtbl -> Add3DMesh(This,M,N,Vertices,ppMesh)

#define IIcadEntities_Add3DPoly(This,Vertices,pp3DPoly)	\
    (This)->lpVtbl -> Add3DPoly(This,Vertices,pp3DPoly)

#define IIcadEntities_AddArc(This,Center,Radius,StartAngle,EndAngle,ppArc)	\
    (This)->lpVtbl -> AddArc(This,Center,Radius,StartAngle,EndAngle,ppArc)

#define IIcadEntities_AddAttributeDef(This,Height,Mode,Prompt,InsertionPoint,Tag,Value,ppAttribute)	\
    (This)->lpVtbl -> AddAttributeDef(This,Height,Mode,Prompt,InsertionPoint,Tag,Value,ppAttribute)

#define IIcadEntities_AddBox(This,Origin,Length,Width,Height,ppBox)	\
    (This)->lpVtbl -> AddBox(This,Origin,Length,Width,Height,ppBox)

#define IIcadEntities_AddCircle(This,Center,Radius,ppCircle)	\
    (This)->lpVtbl -> AddCircle(This,Center,Radius,ppCircle)

#define IIcadEntities_AddCone(This,Center,BaseRadius,Height,ppCone)	\
    (This)->lpVtbl -> AddCone(This,Center,BaseRadius,Height,ppCone)

#define IIcadEntities_AddCylinder(This,Center,Radius,Height,ppCylinder)	\
    (This)->lpVtbl -> AddCylinder(This,Center,Radius,Height,ppCylinder)

#define IIcadEntities_AddDim3PointAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextLocation,ppDimension)	\
    (This)->lpVtbl -> AddDim3PointAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextLocation,ppDimension)

#define IIcadEntities_AddDimAligned(This,ExtPoint1,ExtPoint2,TextLocation,ppDimension)	\
    (This)->lpVtbl -> AddDimAligned(This,ExtPoint1,ExtPoint2,TextLocation,ppDimension)

#define IIcadEntities_AddDimAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextLocation,ppDimension)	\
    (This)->lpVtbl -> AddDimAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextLocation,ppDimension)

#define IIcadEntities_AddDimDiametric(This,ChordPoint,FarChordPoint,LeaderLength,ppDimension)	\
    (This)->lpVtbl -> AddDimDiametric(This,ChordPoint,FarChordPoint,LeaderLength,ppDimension)

#define IIcadEntities_AddDimOrdinate(This,DefintionPoint,LeaderEndPoint,UseXAxis,ppDimension)	\
    (This)->lpVtbl -> AddDimOrdinate(This,DefintionPoint,LeaderEndPoint,UseXAxis,ppDimension)

#define IIcadEntities_AddDimRadial(This,Center,ChordPoint,LeaderLength,ppDimension)	\
    (This)->lpVtbl -> AddDimRadial(This,Center,ChordPoint,LeaderLength,ppDimension)

#define IIcadEntities_AddDimRotated(This,ExtPoint1,ExtPoint2,DimLineLocation,Rotation,ppDimension)	\
    (This)->lpVtbl -> AddDimRotated(This,ExtPoint1,ExtPoint2,DimLineLocation,Rotation,ppDimension)

#define IIcadEntities_AddEllipse(This,Center,MajorAxis,RadiusRatio,ppEllipse)	\
    (This)->lpVtbl -> AddEllipse(This,Center,MajorAxis,RadiusRatio,ppEllipse)

#define IIcadEntities_AddHatch(This,PatternType,PatternName,Associativity,ppHatch)	\
    (This)->lpVtbl -> AddHatch(This,PatternType,PatternName,Associativity,ppHatch)

#define IIcadEntities_AddImage(This,ImageFile,InsertionPoint,ScaleFactor,RotationAngle,ppImage)	\
    (This)->lpVtbl -> AddImage(This,ImageFile,InsertionPoint,ScaleFactor,RotationAngle,ppImage)

#define IIcadEntities_AddInfiniteLine(This,Point1,Point2,ppInfiniteLine)	\
    (This)->lpVtbl -> AddInfiniteLine(This,Point1,Point2,ppInfiniteLine)

#define IIcadEntities_AddLeader(This,Points,Annotation,Type,ppLeader)	\
    (This)->lpVtbl -> AddLeader(This,Points,Annotation,Type,ppLeader)

#define IIcadEntities_AddLightWeightPolyline(This,Vertices,ppLWPolyline)	\
    (This)->lpVtbl -> AddLightWeightPolyline(This,Vertices,ppLWPolyline)

#define IIcadEntities_AddLine(This,StartPoint,EndPoint,ppLine)	\
    (This)->lpVtbl -> AddLine(This,StartPoint,EndPoint,ppLine)

#define IIcadEntities_AddMText(This,InsertionPoint,Width,Text,ppMText)	\
    (This)->lpVtbl -> AddMText(This,InsertionPoint,Width,Text,ppMText)

#define IIcadEntities_AddPointEntity(This,Point,ppPointEntity)	\
    (This)->lpVtbl -> AddPointEntity(This,Point,ppPointEntity)

#define IIcadEntities_AddPolyline(This,Vertices,ppPolyline)	\
    (This)->lpVtbl -> AddPolyline(This,Vertices,ppPolyline)

#define IIcadEntities_AddPolyfaceMesh(This,Vertices,ListOfFaceIndices,ppMesh)	\
    (This)->lpVtbl -> AddPolyfaceMesh(This,Vertices,ListOfFaceIndices,ppMesh)

#define IIcadEntities_AddRay(This,Point1,Point2,ppRay)	\
    (This)->lpVtbl -> AddRay(This,Point1,Point2,ppRay)

#define IIcadEntities_AddSolid(This,Point1,Point2,Point3,Point4,ppSolid)	\
    (This)->lpVtbl -> AddSolid(This,Point1,Point2,Point3,Point4,ppSolid)

#define IIcadEntities_AddSphere(This,Center,Radius,ppSphere)	\
    (This)->lpVtbl -> AddSphere(This,Center,Radius,ppSphere)

#define IIcadEntities_AddSpline(This,Points,StartTangent,EndTangent,ppSpline)	\
    (This)->lpVtbl -> AddSpline(This,Points,StartTangent,EndTangent,ppSpline)

#define IIcadEntities_AddText(This,TextString,InsertionPoint,Height,ppText)	\
    (This)->lpVtbl -> AddText(This,TextString,InsertionPoint,Height,ppText)

#define IIcadEntities_AddTolerance(This,Text,InsertionPoint,Direction,ppTolerance)	\
    (This)->lpVtbl -> AddTolerance(This,Text,InsertionPoint,Direction,ppTolerance)

#define IIcadEntities_AddTorus(This,Center,TorusRadius,TubeRadius,pTorus)	\
    (This)->lpVtbl -> AddTorus(This,Center,TorusRadius,TubeRadius,pTorus)

#define IIcadEntities_AddTrace(This,Points,ppTrace)	\
    (This)->lpVtbl -> AddTrace(This,Points,ppTrace)

#define IIcadEntities_AddWedge(This,Origin,Length,Width,Height,ppWedge)	\
    (This)->lpVtbl -> AddWedge(This,Origin,Length,Width,Height,ppWedge)

#define IIcadEntities_AttachExternalReference(This,PathName,Name,InsertionPoint,XScale,YScale,ZScale,Rotation,bOverlay,ppXRef)	\
    (This)->lpVtbl -> AttachExternalReference(This,PathName,Name,InsertionPoint,XScale,YScale,ZScale,Rotation,bOverlay,ppXRef)

#define IIcadEntities_InsertBlock(This,InsertionPoint,BlockName,XScale,YScale,ZScale,Rotation,ppBlockInsert)	\
    (This)->lpVtbl -> InsertBlock(This,InsertionPoint,BlockName,XScale,YScale,ZScale,Rotation,ppBlockInsert)

#define IIcadEntities_AddShape(This,Name,InsertionPoint,Height,Rotation,ppShape)	\
    (This)->lpVtbl -> AddShape(This,Name,InsertionPoint,Height,Rotation,ppShape)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEntities_get_Application_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadEntities_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEntities_get_Count_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pCount);


void __RPC_STUB IIcadEntities_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEntities_get_Parent_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadEntities_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE IIcadEntities_get__NewEnum_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);


void __RPC_STUB IIcadEntities_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadEntities_Item_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ long Index,
    /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadEntities_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_Add3DFace_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point1,
    /* [in] */ IIcadPoint __RPC_FAR *Point2,
    /* [in] */ IIcadPoint __RPC_FAR *Point3,
    /* [optional][in] */ IIcadPoint __RPC_FAR *Point4,
    /* [retval][out] */ IIcad3DFace __RPC_FAR *__RPC_FAR *pp3DFace);


void __RPC_STUB IIcadEntities_Add3DFace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_Add3DMesh_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ long M,
    /* [in] */ long N,
    /* [in] */ IIcadPoints __RPC_FAR *Vertices,
    /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppMesh);


void __RPC_STUB IIcadEntities_Add3DMesh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_Add3DPoly_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoints __RPC_FAR *Vertices,
    /* [retval][out] */ IIcad3DPoly __RPC_FAR *__RPC_FAR *pp3DPoly);


void __RPC_STUB IIcadEntities_Add3DPoly_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddArc_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Center,
    /* [in] */ double Radius,
    /* [in] */ double StartAngle,
    /* [in] */ double EndAngle,
    /* [retval][out] */ IIcadArc __RPC_FAR *__RPC_FAR *ppArc);


void __RPC_STUB IIcadEntities_AddArc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddAttributeDef_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ double Height,
    /* [in] */ AttributeMode Mode,
    /* [in] */ BSTR Prompt,
    /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
    /* [in] */ BSTR Tag,
    /* [in] */ BSTR Value,
    /* [retval][out] */ IIcadAttributeDef __RPC_FAR *__RPC_FAR *ppAttribute);


void __RPC_STUB IIcadEntities_AddAttributeDef_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddBox_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Origin,
    /* [in] */ double Length,
    /* [in] */ double Width,
    /* [in] */ double Height,
    /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppBox);


void __RPC_STUB IIcadEntities_AddBox_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddCircle_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Center,
    /* [in] */ double Radius,
    /* [retval][out] */ IIcadCircle __RPC_FAR *__RPC_FAR *ppCircle);


void __RPC_STUB IIcadEntities_AddCircle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddCone_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Center,
    /* [in] */ double BaseRadius,
    /* [in] */ double Height,
    /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppCone);


void __RPC_STUB IIcadEntities_AddCone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddCylinder_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Center,
    /* [in] */ double Radius,
    /* [in] */ double Height,
    /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppCylinder);


void __RPC_STUB IIcadEntities_AddCylinder_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddDim3PointAngular_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *AngleVertex,
    /* [in] */ IIcadPoint __RPC_FAR *FirstEndPoint,
    /* [in] */ IIcadPoint __RPC_FAR *SecondEndPoint,
    /* [in] */ IIcadPoint __RPC_FAR *TextLocation,
    /* [retval][out] */ IIcadDim3PointAngular __RPC_FAR *__RPC_FAR *ppDimension);


void __RPC_STUB IIcadEntities_AddDim3PointAngular_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddDimAligned_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *ExtPoint1,
    /* [in] */ IIcadPoint __RPC_FAR *ExtPoint2,
    /* [in] */ IIcadPoint __RPC_FAR *TextLocation,
    /* [retval][out] */ IIcadDimAligned __RPC_FAR *__RPC_FAR *ppDimension);


void __RPC_STUB IIcadEntities_AddDimAligned_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddDimAngular_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *AngleVertex,
    /* [in] */ IIcadPoint __RPC_FAR *FirstEndPoint,
    /* [in] */ IIcadPoint __RPC_FAR *SecondEndPoint,
    /* [in] */ IIcadPoint __RPC_FAR *TextLocation,
    /* [retval][out] */ IIcadDimAngular __RPC_FAR *__RPC_FAR *ppDimension);


void __RPC_STUB IIcadEntities_AddDimAngular_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddDimDiametric_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *ChordPoint,
    /* [in] */ IIcadPoint __RPC_FAR *FarChordPoint,
    /* [in] */ double LeaderLength,
    /* [retval][out] */ IIcadDimDiametric __RPC_FAR *__RPC_FAR *ppDimension);


void __RPC_STUB IIcadEntities_AddDimDiametric_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddDimOrdinate_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *DefintionPoint,
    /* [in] */ IIcadPoint __RPC_FAR *LeaderEndPoint,
    /* [in] */ VARIANT_BOOL UseXAxis,
    /* [retval][out] */ IIcadDimOrdinate __RPC_FAR *__RPC_FAR *ppDimension);


void __RPC_STUB IIcadEntities_AddDimOrdinate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddDimRadial_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Center,
    /* [in] */ IIcadPoint __RPC_FAR *ChordPoint,
    /* [in] */ double LeaderLength,
    /* [retval][out] */ IIcadDimRadial __RPC_FAR *__RPC_FAR *ppDimension);


void __RPC_STUB IIcadEntities_AddDimRadial_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddDimRotated_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *ExtPoint1,
    /* [in] */ IIcadPoint __RPC_FAR *ExtPoint2,
    /* [in] */ IIcadPoint __RPC_FAR *DimLineLocation,
    /* [in] */ double Rotation,
    /* [retval][out] */ IIcadDimRotated __RPC_FAR *__RPC_FAR *ppDimension);


void __RPC_STUB IIcadEntities_AddDimRotated_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddEllipse_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Center,
    /* [in] */ IIcadVector __RPC_FAR *MajorAxis,
    /* [in] */ double RadiusRatio,
    /* [retval][out] */ IIcadEllipse __RPC_FAR *__RPC_FAR *ppEllipse);


void __RPC_STUB IIcadEntities_AddEllipse_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddHatch_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ HatchType PatternType,
    /* [in] */ BSTR PatternName,
    /* [in] */ VARIANT_BOOL Associativity,
    /* [retval][out] */ IIcadHatch __RPC_FAR *__RPC_FAR *ppHatch);


void __RPC_STUB IIcadEntities_AddHatch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddImage_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ BSTR ImageFile,
    /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
    /* [defaultvalue][optional][in] */ double ScaleFactor,
    /* [defaultvalue][optional][in] */ double RotationAngle,
    /* [retval][out] */ IIcadImage __RPC_FAR *__RPC_FAR *ppImage);


void __RPC_STUB IIcadEntities_AddImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddInfiniteLine_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point1,
    /* [in] */ IIcadPoint __RPC_FAR *Point2,
    /* [retval][out] */ IIcadInfiniteLine __RPC_FAR *__RPC_FAR *ppInfiniteLine);


void __RPC_STUB IIcadEntities_AddInfiniteLine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddLeader_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoints __RPC_FAR *Points,
    /* [optional][in] */ BSTR Annotation,
    /* [defaultvalue][optional][in] */ LeaderType Type,
    /* [retval][out] */ IIcadLeader __RPC_FAR *__RPC_FAR *ppLeader);


void __RPC_STUB IIcadEntities_AddLeader_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddLightWeightPolyline_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoints __RPC_FAR *Vertices,
    /* [retval][out] */ IIcadLightWeightPolyline __RPC_FAR *__RPC_FAR *ppLWPolyline);


void __RPC_STUB IIcadEntities_AddLightWeightPolyline_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddLine_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *StartPoint,
    /* [in] */ IIcadPoint __RPC_FAR *EndPoint,
    /* [retval][out] */ IIcadLine __RPC_FAR *__RPC_FAR *ppLine);


void __RPC_STUB IIcadEntities_AddLine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddMText_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
    /* [in] */ double Width,
    /* [in] */ BSTR Text,
    /* [retval][out] */ IIcadMText __RPC_FAR *__RPC_FAR *ppMText);


void __RPC_STUB IIcadEntities_AddMText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddPointEntity_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point,
    /* [retval][out] */ IIcadPointEntity __RPC_FAR *__RPC_FAR *ppPointEntity);


void __RPC_STUB IIcadEntities_AddPointEntity_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddPolyline_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoints __RPC_FAR *Vertices,
    /* [retval][out] */ IIcadPolyline __RPC_FAR *__RPC_FAR *ppPolyline);


void __RPC_STUB IIcadEntities_AddPolyline_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddPolyfaceMesh_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoints __RPC_FAR *Vertices,
    /* [in] */ VARIANT ListOfFaceIndices,
    /* [retval][out] */ IIcadPolyfaceMesh __RPC_FAR *__RPC_FAR *ppMesh);


void __RPC_STUB IIcadEntities_AddPolyfaceMesh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddRay_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point1,
    /* [in] */ IIcadPoint __RPC_FAR *Point2,
    /* [retval][out] */ IIcadRay __RPC_FAR *__RPC_FAR *ppRay);


void __RPC_STUB IIcadEntities_AddRay_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddSolid_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point1,
    /* [in] */ IIcadPoint __RPC_FAR *Point2,
    /* [in] */ IIcadPoint __RPC_FAR *Point3,
    /* [optional][in] */ IIcadPoint __RPC_FAR *Point4,
    /* [retval][out] */ IIcadSolid __RPC_FAR *__RPC_FAR *ppSolid);


void __RPC_STUB IIcadEntities_AddSolid_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddSphere_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Center,
    /* [in] */ double Radius,
    /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppSphere);


void __RPC_STUB IIcadEntities_AddSphere_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddSpline_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoints __RPC_FAR *__RPC_FAR *Points,
    /* [in] */ IIcadVector __RPC_FAR *StartTangent,
    /* [in] */ IIcadVector __RPC_FAR *EndTangent,
    /* [retval][out] */ IIcadSpline __RPC_FAR *__RPC_FAR *ppSpline);


void __RPC_STUB IIcadEntities_AddSpline_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddText_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ BSTR TextString,
    /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
    /* [in] */ double Height,
    /* [retval][out] */ IIcadText __RPC_FAR *__RPC_FAR *ppText);


void __RPC_STUB IIcadEntities_AddText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddTolerance_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ BSTR Text,
    /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
    /* [in] */ IIcadVector __RPC_FAR *Direction,
    /* [retval][out] */ IIcadTolerance __RPC_FAR *__RPC_FAR *ppTolerance);


void __RPC_STUB IIcadEntities_AddTolerance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddTorus_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Center,
    /* [in] */ double TorusRadius,
    /* [in] */ double TubeRadius,
    /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *pTorus);


void __RPC_STUB IIcadEntities_AddTorus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddTrace_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoints __RPC_FAR *Points,
    /* [retval][out] */ IIcadTrace __RPC_FAR *__RPC_FAR *ppTrace);


void __RPC_STUB IIcadEntities_AddTrace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddWedge_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Origin,
    /* [in] */ double Length,
    /* [in] */ double Width,
    /* [in] */ double Height,
    /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppWedge);


void __RPC_STUB IIcadEntities_AddWedge_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AttachExternalReference_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ BSTR PathName,
    /* [in] */ BSTR Name,
    /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
    /* [in] */ double XScale,
    /* [in] */ double YScale,
    /* [in] */ double ZScale,
    /* [in] */ double Rotation,
    /* [in] */ VARIANT_BOOL bOverlay,
    /* [retval][out] */ IIcadExternalReference __RPC_FAR *__RPC_FAR *ppXRef);


void __RPC_STUB IIcadEntities_AttachExternalReference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_InsertBlock_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
    /* [in] */ BSTR BlockName,
    /* [defaultvalue][optional][in] */ double XScale,
    /* [defaultvalue][optional][in] */ double YScale,
    /* [defaultvalue][optional][in] */ double ZScale,
    /* [defaultvalue][optional][in] */ double Rotation,
    /* [retval][out] */ IIcadBlockInsert __RPC_FAR *__RPC_FAR *ppBlockInsert);


void __RPC_STUB IIcadEntities_InsertBlock_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntities_AddShape_Proxy( 
    IIcadEntities __RPC_FAR * This,
    /* [in] */ BSTR Name,
    /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
    /* [defaultvalue][optional][in] */ double Height,
    /* [defaultvalue][optional][in] */ double Rotation,
    /* [retval][out] */ IIcadShape __RPC_FAR *__RPC_FAR *ppShape);


void __RPC_STUB IIcadEntities_AddShape_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadEntities_INTERFACE_DEFINED__ */


#ifndef __IIcadBlock_INTERFACE_DEFINED__
#define __IIcadBlock_INTERFACE_DEFINED__

/* interface IIcadBlock */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadBlock;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c125-7e36-11d1-bc5a-0060089608a4")
    IIcadBlock : public IIcadEntities
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Origin( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppOrigin) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Origin( 
            /* [in] */ IIcadPoint __RPC_FAR *Origin) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR __RPC_FAR *pstrName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR Name) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsXRef( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *IsXRef) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddItems( 
            /* [in] */ IIcadSelectionSet __RPC_FAR *Entities,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL DeleteOriginals = TRUE) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetXData( 
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetXData( 
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Bind( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Detach( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Unload( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reload( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WBlock( 
            /* [in] */ BSTR FileName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadBlockVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadBlock __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadBlock __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadBlock __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadBlock __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
            IIcadBlock __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadBlock __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
            IIcadBlock __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ long Index,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add3DFace )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [optional][in] */ IIcadPoint __RPC_FAR *Point4,
            /* [retval][out] */ IIcad3DFace __RPC_FAR *__RPC_FAR *pp3DFace);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add3DMesh )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ long M,
            /* [in] */ long N,
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppMesh);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add3DPoly )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [retval][out] */ IIcad3DPoly __RPC_FAR *__RPC_FAR *pp3DPoly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddArc )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double Radius,
            /* [in] */ double StartAngle,
            /* [in] */ double EndAngle,
            /* [retval][out] */ IIcadArc __RPC_FAR *__RPC_FAR *ppArc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddAttributeDef )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ double Height,
            /* [in] */ AttributeMode Mode,
            /* [in] */ BSTR Prompt,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ BSTR Tag,
            /* [in] */ BSTR Value,
            /* [retval][out] */ IIcadAttributeDef __RPC_FAR *__RPC_FAR *ppAttribute);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddBox )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Origin,
            /* [in] */ double Length,
            /* [in] */ double Width,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppBox);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddCircle )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double Radius,
            /* [retval][out] */ IIcadCircle __RPC_FAR *__RPC_FAR *ppCircle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddCone )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double BaseRadius,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppCone);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddCylinder )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double Radius,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppCylinder);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDim3PointAngular )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *AngleVertex,
            /* [in] */ IIcadPoint __RPC_FAR *FirstEndPoint,
            /* [in] */ IIcadPoint __RPC_FAR *SecondEndPoint,
            /* [in] */ IIcadPoint __RPC_FAR *TextLocation,
            /* [retval][out] */ IIcadDim3PointAngular __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimAligned )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *ExtPoint1,
            /* [in] */ IIcadPoint __RPC_FAR *ExtPoint2,
            /* [in] */ IIcadPoint __RPC_FAR *TextLocation,
            /* [retval][out] */ IIcadDimAligned __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimAngular )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *AngleVertex,
            /* [in] */ IIcadPoint __RPC_FAR *FirstEndPoint,
            /* [in] */ IIcadPoint __RPC_FAR *SecondEndPoint,
            /* [in] */ IIcadPoint __RPC_FAR *TextLocation,
            /* [retval][out] */ IIcadDimAngular __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimDiametric )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *ChordPoint,
            /* [in] */ IIcadPoint __RPC_FAR *FarChordPoint,
            /* [in] */ double LeaderLength,
            /* [retval][out] */ IIcadDimDiametric __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimOrdinate )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *DefintionPoint,
            /* [in] */ IIcadPoint __RPC_FAR *LeaderEndPoint,
            /* [in] */ VARIANT_BOOL UseXAxis,
            /* [retval][out] */ IIcadDimOrdinate __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimRadial )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ IIcadPoint __RPC_FAR *ChordPoint,
            /* [in] */ double LeaderLength,
            /* [retval][out] */ IIcadDimRadial __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimRotated )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *ExtPoint1,
            /* [in] */ IIcadPoint __RPC_FAR *ExtPoint2,
            /* [in] */ IIcadPoint __RPC_FAR *DimLineLocation,
            /* [in] */ double Rotation,
            /* [retval][out] */ IIcadDimRotated __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddEllipse )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ IIcadVector __RPC_FAR *MajorAxis,
            /* [in] */ double RadiusRatio,
            /* [retval][out] */ IIcadEllipse __RPC_FAR *__RPC_FAR *ppEllipse);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddHatch )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ HatchType PatternType,
            /* [in] */ BSTR PatternName,
            /* [in] */ VARIANT_BOOL Associativity,
            /* [retval][out] */ IIcadHatch __RPC_FAR *__RPC_FAR *ppHatch);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddImage )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ BSTR ImageFile,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [defaultvalue][optional][in] */ double ScaleFactor,
            /* [defaultvalue][optional][in] */ double RotationAngle,
            /* [retval][out] */ IIcadImage __RPC_FAR *__RPC_FAR *ppImage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddInfiniteLine )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [retval][out] */ IIcadInfiniteLine __RPC_FAR *__RPC_FAR *ppInfiniteLine);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddLeader )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Points,
            /* [optional][in] */ BSTR Annotation,
            /* [defaultvalue][optional][in] */ LeaderType Type,
            /* [retval][out] */ IIcadLeader __RPC_FAR *__RPC_FAR *ppLeader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddLightWeightPolyline )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [retval][out] */ IIcadLightWeightPolyline __RPC_FAR *__RPC_FAR *ppLWPolyline);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddLine )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *StartPoint,
            /* [in] */ IIcadPoint __RPC_FAR *EndPoint,
            /* [retval][out] */ IIcadLine __RPC_FAR *__RPC_FAR *ppLine);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddMText )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ double Width,
            /* [in] */ BSTR Text,
            /* [retval][out] */ IIcadMText __RPC_FAR *__RPC_FAR *ppMText);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddPointEntity )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point,
            /* [retval][out] */ IIcadPointEntity __RPC_FAR *__RPC_FAR *ppPointEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddPolyline )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [retval][out] */ IIcadPolyline __RPC_FAR *__RPC_FAR *ppPolyline);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddPolyfaceMesh )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [in] */ VARIANT ListOfFaceIndices,
            /* [retval][out] */ IIcadPolyfaceMesh __RPC_FAR *__RPC_FAR *ppMesh);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddRay )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [retval][out] */ IIcadRay __RPC_FAR *__RPC_FAR *ppRay);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSolid )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [optional][in] */ IIcadPoint __RPC_FAR *Point4,
            /* [retval][out] */ IIcadSolid __RPC_FAR *__RPC_FAR *ppSolid);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSphere )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double Radius,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppSphere);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSpline )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *__RPC_FAR *Points,
            /* [in] */ IIcadVector __RPC_FAR *StartTangent,
            /* [in] */ IIcadVector __RPC_FAR *EndTangent,
            /* [retval][out] */ IIcadSpline __RPC_FAR *__RPC_FAR *ppSpline);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddText )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ BSTR TextString,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadText __RPC_FAR *__RPC_FAR *ppText);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddTolerance )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ BSTR Text,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ IIcadVector __RPC_FAR *Direction,
            /* [retval][out] */ IIcadTolerance __RPC_FAR *__RPC_FAR *ppTolerance);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddTorus )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double TorusRadius,
            /* [in] */ double TubeRadius,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *pTorus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddTrace )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Points,
            /* [retval][out] */ IIcadTrace __RPC_FAR *__RPC_FAR *ppTrace);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddWedge )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Origin,
            /* [in] */ double Length,
            /* [in] */ double Width,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppWedge);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AttachExternalReference )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ BSTR PathName,
            /* [in] */ BSTR Name,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ double XScale,
            /* [in] */ double YScale,
            /* [in] */ double ZScale,
            /* [in] */ double Rotation,
            /* [in] */ VARIANT_BOOL bOverlay,
            /* [retval][out] */ IIcadExternalReference __RPC_FAR *__RPC_FAR *ppXRef);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InsertBlock )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ BSTR BlockName,
            /* [defaultvalue][optional][in] */ double XScale,
            /* [defaultvalue][optional][in] */ double YScale,
            /* [defaultvalue][optional][in] */ double ZScale,
            /* [defaultvalue][optional][in] */ double Rotation,
            /* [retval][out] */ IIcadBlockInsert __RPC_FAR *__RPC_FAR *ppBlockInsert);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddShape )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ BSTR Name,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [defaultvalue][optional][in] */ double Height,
            /* [defaultvalue][optional][in] */ double Rotation,
            /* [retval][out] */ IIcadShape __RPC_FAR *__RPC_FAR *ppShape);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Origin )( 
            IIcadBlock __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppOrigin);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Origin )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Origin);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            IIcadBlock __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ BSTR Name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_IsXRef )( 
            IIcadBlock __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *IsXRef);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddItems )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ IIcadSelectionSet __RPC_FAR *Entities,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL DeleteOriginals);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadBlock __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Bind )( 
            IIcadBlock __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Detach )( 
            IIcadBlock __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Unload )( 
            IIcadBlock __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reload )( 
            IIcadBlock __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WBlock )( 
            IIcadBlock __RPC_FAR * This,
            /* [in] */ BSTR FileName);
        
        END_INTERFACE
    } IIcadBlockVtbl;

    interface IIcadBlock
    {
        CONST_VTBL struct IIcadBlockVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadBlock_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadBlock_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadBlock_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadBlock_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadBlock_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadBlock_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadBlock_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadBlock_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadBlock_get_Count(This,pCount)	\
    (This)->lpVtbl -> get_Count(This,pCount)

#define IIcadBlock_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadBlock_get__NewEnum(This,ppUnk)	\
    (This)->lpVtbl -> get__NewEnum(This,ppUnk)

#define IIcadBlock_Item(This,Index,ppItem)	\
    (This)->lpVtbl -> Item(This,Index,ppItem)

#define IIcadBlock_Add3DFace(This,Point1,Point2,Point3,Point4,pp3DFace)	\
    (This)->lpVtbl -> Add3DFace(This,Point1,Point2,Point3,Point4,pp3DFace)

#define IIcadBlock_Add3DMesh(This,M,N,Vertices,ppMesh)	\
    (This)->lpVtbl -> Add3DMesh(This,M,N,Vertices,ppMesh)

#define IIcadBlock_Add3DPoly(This,Vertices,pp3DPoly)	\
    (This)->lpVtbl -> Add3DPoly(This,Vertices,pp3DPoly)

#define IIcadBlock_AddArc(This,Center,Radius,StartAngle,EndAngle,ppArc)	\
    (This)->lpVtbl -> AddArc(This,Center,Radius,StartAngle,EndAngle,ppArc)

#define IIcadBlock_AddAttributeDef(This,Height,Mode,Prompt,InsertionPoint,Tag,Value,ppAttribute)	\
    (This)->lpVtbl -> AddAttributeDef(This,Height,Mode,Prompt,InsertionPoint,Tag,Value,ppAttribute)

#define IIcadBlock_AddBox(This,Origin,Length,Width,Height,ppBox)	\
    (This)->lpVtbl -> AddBox(This,Origin,Length,Width,Height,ppBox)

#define IIcadBlock_AddCircle(This,Center,Radius,ppCircle)	\
    (This)->lpVtbl -> AddCircle(This,Center,Radius,ppCircle)

#define IIcadBlock_AddCone(This,Center,BaseRadius,Height,ppCone)	\
    (This)->lpVtbl -> AddCone(This,Center,BaseRadius,Height,ppCone)

#define IIcadBlock_AddCylinder(This,Center,Radius,Height,ppCylinder)	\
    (This)->lpVtbl -> AddCylinder(This,Center,Radius,Height,ppCylinder)

#define IIcadBlock_AddDim3PointAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextLocation,ppDimension)	\
    (This)->lpVtbl -> AddDim3PointAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextLocation,ppDimension)

#define IIcadBlock_AddDimAligned(This,ExtPoint1,ExtPoint2,TextLocation,ppDimension)	\
    (This)->lpVtbl -> AddDimAligned(This,ExtPoint1,ExtPoint2,TextLocation,ppDimension)

#define IIcadBlock_AddDimAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextLocation,ppDimension)	\
    (This)->lpVtbl -> AddDimAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextLocation,ppDimension)

#define IIcadBlock_AddDimDiametric(This,ChordPoint,FarChordPoint,LeaderLength,ppDimension)	\
    (This)->lpVtbl -> AddDimDiametric(This,ChordPoint,FarChordPoint,LeaderLength,ppDimension)

#define IIcadBlock_AddDimOrdinate(This,DefintionPoint,LeaderEndPoint,UseXAxis,ppDimension)	\
    (This)->lpVtbl -> AddDimOrdinate(This,DefintionPoint,LeaderEndPoint,UseXAxis,ppDimension)

#define IIcadBlock_AddDimRadial(This,Center,ChordPoint,LeaderLength,ppDimension)	\
    (This)->lpVtbl -> AddDimRadial(This,Center,ChordPoint,LeaderLength,ppDimension)

#define IIcadBlock_AddDimRotated(This,ExtPoint1,ExtPoint2,DimLineLocation,Rotation,ppDimension)	\
    (This)->lpVtbl -> AddDimRotated(This,ExtPoint1,ExtPoint2,DimLineLocation,Rotation,ppDimension)

#define IIcadBlock_AddEllipse(This,Center,MajorAxis,RadiusRatio,ppEllipse)	\
    (This)->lpVtbl -> AddEllipse(This,Center,MajorAxis,RadiusRatio,ppEllipse)

#define IIcadBlock_AddHatch(This,PatternType,PatternName,Associativity,ppHatch)	\
    (This)->lpVtbl -> AddHatch(This,PatternType,PatternName,Associativity,ppHatch)

#define IIcadBlock_AddImage(This,ImageFile,InsertionPoint,ScaleFactor,RotationAngle,ppImage)	\
    (This)->lpVtbl -> AddImage(This,ImageFile,InsertionPoint,ScaleFactor,RotationAngle,ppImage)

#define IIcadBlock_AddInfiniteLine(This,Point1,Point2,ppInfiniteLine)	\
    (This)->lpVtbl -> AddInfiniteLine(This,Point1,Point2,ppInfiniteLine)

#define IIcadBlock_AddLeader(This,Points,Annotation,Type,ppLeader)	\
    (This)->lpVtbl -> AddLeader(This,Points,Annotation,Type,ppLeader)

#define IIcadBlock_AddLightWeightPolyline(This,Vertices,ppLWPolyline)	\
    (This)->lpVtbl -> AddLightWeightPolyline(This,Vertices,ppLWPolyline)

#define IIcadBlock_AddLine(This,StartPoint,EndPoint,ppLine)	\
    (This)->lpVtbl -> AddLine(This,StartPoint,EndPoint,ppLine)

#define IIcadBlock_AddMText(This,InsertionPoint,Width,Text,ppMText)	\
    (This)->lpVtbl -> AddMText(This,InsertionPoint,Width,Text,ppMText)

#define IIcadBlock_AddPointEntity(This,Point,ppPointEntity)	\
    (This)->lpVtbl -> AddPointEntity(This,Point,ppPointEntity)

#define IIcadBlock_AddPolyline(This,Vertices,ppPolyline)	\
    (This)->lpVtbl -> AddPolyline(This,Vertices,ppPolyline)

#define IIcadBlock_AddPolyfaceMesh(This,Vertices,ListOfFaceIndices,ppMesh)	\
    (This)->lpVtbl -> AddPolyfaceMesh(This,Vertices,ListOfFaceIndices,ppMesh)

#define IIcadBlock_AddRay(This,Point1,Point2,ppRay)	\
    (This)->lpVtbl -> AddRay(This,Point1,Point2,ppRay)

#define IIcadBlock_AddSolid(This,Point1,Point2,Point3,Point4,ppSolid)	\
    (This)->lpVtbl -> AddSolid(This,Point1,Point2,Point3,Point4,ppSolid)

#define IIcadBlock_AddSphere(This,Center,Radius,ppSphere)	\
    (This)->lpVtbl -> AddSphere(This,Center,Radius,ppSphere)

#define IIcadBlock_AddSpline(This,Points,StartTangent,EndTangent,ppSpline)	\
    (This)->lpVtbl -> AddSpline(This,Points,StartTangent,EndTangent,ppSpline)

#define IIcadBlock_AddText(This,TextString,InsertionPoint,Height,ppText)	\
    (This)->lpVtbl -> AddText(This,TextString,InsertionPoint,Height,ppText)

#define IIcadBlock_AddTolerance(This,Text,InsertionPoint,Direction,ppTolerance)	\
    (This)->lpVtbl -> AddTolerance(This,Text,InsertionPoint,Direction,ppTolerance)

#define IIcadBlock_AddTorus(This,Center,TorusRadius,TubeRadius,pTorus)	\
    (This)->lpVtbl -> AddTorus(This,Center,TorusRadius,TubeRadius,pTorus)

#define IIcadBlock_AddTrace(This,Points,ppTrace)	\
    (This)->lpVtbl -> AddTrace(This,Points,ppTrace)

#define IIcadBlock_AddWedge(This,Origin,Length,Width,Height,ppWedge)	\
    (This)->lpVtbl -> AddWedge(This,Origin,Length,Width,Height,ppWedge)

#define IIcadBlock_AttachExternalReference(This,PathName,Name,InsertionPoint,XScale,YScale,ZScale,Rotation,bOverlay,ppXRef)	\
    (This)->lpVtbl -> AttachExternalReference(This,PathName,Name,InsertionPoint,XScale,YScale,ZScale,Rotation,bOverlay,ppXRef)

#define IIcadBlock_InsertBlock(This,InsertionPoint,BlockName,XScale,YScale,ZScale,Rotation,ppBlockInsert)	\
    (This)->lpVtbl -> InsertBlock(This,InsertionPoint,BlockName,XScale,YScale,ZScale,Rotation,ppBlockInsert)

#define IIcadBlock_AddShape(This,Name,InsertionPoint,Height,Rotation,ppShape)	\
    (This)->lpVtbl -> AddShape(This,Name,InsertionPoint,Height,Rotation,ppShape)


#define IIcadBlock_get_Origin(This,ppOrigin)	\
    (This)->lpVtbl -> get_Origin(This,ppOrigin)

#define IIcadBlock_put_Origin(This,Origin)	\
    (This)->lpVtbl -> put_Origin(This,Origin)

#define IIcadBlock_get_Name(This,pstrName)	\
    (This)->lpVtbl -> get_Name(This,pstrName)

#define IIcadBlock_put_Name(This,Name)	\
    (This)->lpVtbl -> put_Name(This,Name)

#define IIcadBlock_get_IsXRef(This,IsXRef)	\
    (This)->lpVtbl -> get_IsXRef(This,IsXRef)

#define IIcadBlock_AddItems(This,Entities,DeleteOriginals)	\
    (This)->lpVtbl -> AddItems(This,Entities,DeleteOriginals)

#define IIcadBlock_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadBlock_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadBlock_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IIcadBlock_Bind(This)	\
    (This)->lpVtbl -> Bind(This)

#define IIcadBlock_Detach(This)	\
    (This)->lpVtbl -> Detach(This)

#define IIcadBlock_Unload(This)	\
    (This)->lpVtbl -> Unload(This)

#define IIcadBlock_Reload(This)	\
    (This)->lpVtbl -> Reload(This)

#define IIcadBlock_WBlock(This,FileName)	\
    (This)->lpVtbl -> WBlock(This,FileName)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadBlock_get_Origin_Proxy( 
    IIcadBlock __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppOrigin);


void __RPC_STUB IIcadBlock_get_Origin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadBlock_put_Origin_Proxy( 
    IIcadBlock __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Origin);


void __RPC_STUB IIcadBlock_put_Origin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadBlock_get_Name_Proxy( 
    IIcadBlock __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pstrName);


void __RPC_STUB IIcadBlock_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadBlock_put_Name_Proxy( 
    IIcadBlock __RPC_FAR * This,
    /* [in] */ BSTR Name);


void __RPC_STUB IIcadBlock_put_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadBlock_get_IsXRef_Proxy( 
    IIcadBlock __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *IsXRef);


void __RPC_STUB IIcadBlock_get_IsXRef_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadBlock_AddItems_Proxy( 
    IIcadBlock __RPC_FAR * This,
    /* [in] */ IIcadSelectionSet __RPC_FAR *Entities,
    /* [defaultvalue][optional][in] */ VARIANT_BOOL DeleteOriginals);


void __RPC_STUB IIcadBlock_AddItems_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadBlock_GetXData_Proxy( 
    IIcadBlock __RPC_FAR * This,
    /* [in] */ BSTR AppName,
    /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
    /* [out][in] */ VARIANT __RPC_FAR *DataArray);


void __RPC_STUB IIcadBlock_GetXData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadBlock_SetXData_Proxy( 
    IIcadBlock __RPC_FAR * This,
    /* [in] */ VARIANT TypeArray,
    /* [in] */ VARIANT DataArray);


void __RPC_STUB IIcadBlock_SetXData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadBlock_Delete_Proxy( 
    IIcadBlock __RPC_FAR * This);


void __RPC_STUB IIcadBlock_Delete_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadBlock_Bind_Proxy( 
    IIcadBlock __RPC_FAR * This);


void __RPC_STUB IIcadBlock_Bind_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadBlock_Detach_Proxy( 
    IIcadBlock __RPC_FAR * This);


void __RPC_STUB IIcadBlock_Detach_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadBlock_Unload_Proxy( 
    IIcadBlock __RPC_FAR * This);


void __RPC_STUB IIcadBlock_Unload_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadBlock_Reload_Proxy( 
    IIcadBlock __RPC_FAR * This);


void __RPC_STUB IIcadBlock_Reload_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadBlock_WBlock_Proxy( 
    IIcadBlock __RPC_FAR * This,
    /* [in] */ BSTR FileName);


void __RPC_STUB IIcadBlock_WBlock_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadBlock_INTERFACE_DEFINED__ */


#ifndef __IIcadBlocks_INTERFACE_DEFINED__
#define __IIcadBlocks_INTERFACE_DEFINED__

/* interface IIcadBlocks */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadBlocks;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c126-7e36-11d1-bc5a-0060089608a4")
    IIcadBlocks : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long __RPC_FAR *pCount) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IIcadBlock __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadBlock __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadBlocksVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadBlocks __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadBlocks __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadBlocks __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadBlocks __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadBlocks __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadBlocks __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadBlocks __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadBlocks __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
            IIcadBlocks __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadBlocks __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
            IIcadBlocks __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            IIcadBlocks __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IIcadBlock __RPC_FAR *__RPC_FAR *ppItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
            IIcadBlocks __RPC_FAR * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadBlock __RPC_FAR *__RPC_FAR *ppItem);
        
        END_INTERFACE
    } IIcadBlocksVtbl;

    interface IIcadBlocks
    {
        CONST_VTBL struct IIcadBlocksVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadBlocks_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadBlocks_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadBlocks_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadBlocks_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadBlocks_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadBlocks_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadBlocks_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadBlocks_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadBlocks_get_Count(This,pCount)	\
    (This)->lpVtbl -> get_Count(This,pCount)

#define IIcadBlocks_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadBlocks_get__NewEnum(This,ppUnk)	\
    (This)->lpVtbl -> get__NewEnum(This,ppUnk)

#define IIcadBlocks_Add(This,InsertionPoint,Name,ppItem)	\
    (This)->lpVtbl -> Add(This,InsertionPoint,Name,ppItem)

#define IIcadBlocks_Item(This,Index,ppItem)	\
    (This)->lpVtbl -> Item(This,Index,ppItem)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadBlocks_get_Application_Proxy( 
    IIcadBlocks __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadBlocks_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadBlocks_get_Count_Proxy( 
    IIcadBlocks __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pCount);


void __RPC_STUB IIcadBlocks_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadBlocks_get_Parent_Proxy( 
    IIcadBlocks __RPC_FAR * This,
    /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadBlocks_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE IIcadBlocks_get__NewEnum_Proxy( 
    IIcadBlocks __RPC_FAR * This,
    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);


void __RPC_STUB IIcadBlocks_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadBlocks_Add_Proxy( 
    IIcadBlocks __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
    /* [in] */ BSTR Name,
    /* [retval][out] */ IIcadBlock __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadBlocks_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadBlocks_Item_Proxy( 
    IIcadBlocks __RPC_FAR * This,
    /* [in] */ VARIANT Index,
    /* [retval][out] */ IIcadBlock __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadBlocks_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadBlocks_INTERFACE_DEFINED__ */


#ifndef __IIcadDimensionStyle_INTERFACE_DEFINED__
#define __IIcadDimensionStyle_INTERFACE_DEFINED__

/* interface IIcadDimensionStyle */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadDimensionStyle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c127-7e36-11d1-bc5a-0060089608a4")
    IIcadDimensionStyle : public IIcadTableItem
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimPost( 
            /* [retval][out] */ BSTR __RPC_FAR *pDimPost) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimPost( 
            /* [in] */ BSTR DimPost) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimApost( 
            /* [retval][out] */ BSTR __RPC_FAR *pDimApost) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimApost( 
            /* [in] */ BSTR DimApost) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimBlk( 
            /* [retval][out] */ BSTR __RPC_FAR *pDimBlk) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimBlk( 
            /* [in] */ BSTR DimBlk) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimBlk1( 
            /* [retval][out] */ BSTR __RPC_FAR *pDimBlk1) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimBlk1( 
            /* [in] */ BSTR DimBlk1) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimBlk2( 
            /* [retval][out] */ BSTR __RPC_FAR *pDimBlk2) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimBlk2( 
            /* [in] */ BSTR DimBlk2) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimScale( 
            /* [retval][out] */ double __RPC_FAR *pDimScale) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimScale( 
            /* [in] */ double DimScale) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimAsz( 
            /* [retval][out] */ double __RPC_FAR *pDimAsz) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimAsz( 
            /* [in] */ double DimAsz) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimExo( 
            /* [retval][out] */ double __RPC_FAR *pDimExo) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimExo( 
            /* [in] */ double DimExo) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimDli( 
            /* [retval][out] */ double __RPC_FAR *pDimDli) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimDli( 
            /* [in] */ double DimDli) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimExe( 
            /* [retval][out] */ double __RPC_FAR *pDimExe) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimExe( 
            /* [in] */ double DimExe) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimRnd( 
            /* [retval][out] */ double __RPC_FAR *pDimRnd) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimRnd( 
            /* [in] */ double DimRnd) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimDle( 
            /* [retval][out] */ double __RPC_FAR *pDimDle) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimDle( 
            /* [in] */ double DimDle) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimTp( 
            /* [retval][out] */ double __RPC_FAR *pDimTp) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimTp( 
            /* [in] */ double DimTp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimTm( 
            /* [retval][out] */ double __RPC_FAR *pDimTm) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimTm( 
            /* [in] */ double DimTm) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimTol( 
            /* [retval][out] */ int __RPC_FAR *pDimTol) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimTol( 
            /* [in] */ int DimTol) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimLim( 
            /* [retval][out] */ int __RPC_FAR *pDimLim) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimLim( 
            /* [in] */ int DimLim) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimTih( 
            /* [retval][out] */ int __RPC_FAR *pDimTih) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimTih( 
            /* [in] */ int DimTih) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimToh( 
            /* [retval][out] */ int __RPC_FAR *pDimToh) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimToh( 
            /* [in] */ int DimToh) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimSe1( 
            /* [retval][out] */ int __RPC_FAR *pDimSe1) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimSe1( 
            /* [in] */ int DimSe1) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimSe2( 
            /* [retval][out] */ int __RPC_FAR *pDimSe2) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimSe2( 
            /* [in] */ int DimSe2) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimTad( 
            /* [retval][out] */ int __RPC_FAR *pDimTad) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimTad( 
            /* [in] */ int DimTad) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimZin( 
            /* [retval][out] */ int __RPC_FAR *pDimZin) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimZin( 
            /* [in] */ int DimZin) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimTxt( 
            /* [retval][out] */ double __RPC_FAR *pDimTxt) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimTxt( 
            /* [in] */ double DimTxt) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimCen( 
            /* [retval][out] */ double __RPC_FAR *pDimCen) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimCen( 
            /* [in] */ double DimCen) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimTsz( 
            /* [retval][out] */ double __RPC_FAR *pDimTsz) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimTsz( 
            /* [in] */ double DimTsz) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimAltf( 
            /* [retval][out] */ double __RPC_FAR *pDimAltf) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimAltf( 
            /* [in] */ double DimAltf) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimLfac( 
            /* [retval][out] */ double __RPC_FAR *pDimLfac) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimLfac( 
            /* [in] */ double DimLfac) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimTvp( 
            /* [retval][out] */ double __RPC_FAR *pDimTvp) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimTvp( 
            /* [in] */ double DimTvp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimTfac( 
            /* [retval][out] */ double __RPC_FAR *pDimTfac) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimTfac( 
            /* [in] */ double DimTfac) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimGap( 
            /* [retval][out] */ double __RPC_FAR *pDimGap) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimGap( 
            /* [in] */ double DimGap) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimAlt( 
            /* [retval][out] */ int __RPC_FAR *pDimAlt) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimAlt( 
            /* [in] */ int DimAlt) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimAltd( 
            /* [retval][out] */ int __RPC_FAR *pDimAltd) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimAltd( 
            /* [in] */ int DimAltd) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimTofl( 
            /* [retval][out] */ int __RPC_FAR *pDimTofl) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimTofl( 
            /* [in] */ int DimTofl) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimSah( 
            /* [retval][out] */ int __RPC_FAR *pDimSah) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimSah( 
            /* [in] */ int DimSah) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimTix( 
            /* [retval][out] */ int __RPC_FAR *pDimTix) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimTix( 
            /* [in] */ int DimTix) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimSohd( 
            /* [retval][out] */ int __RPC_FAR *pDimSohd) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimSohd( 
            /* [in] */ int DimSohd) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimClrd( 
            /* [retval][out] */ int __RPC_FAR *pDimClrd) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimClrd( 
            /* [in] */ int DimClrd) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimClre( 
            /* [retval][out] */ int __RPC_FAR *pDimClre) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimClre( 
            /* [in] */ int DimClre) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimClrt( 
            /* [retval][out] */ int __RPC_FAR *pDimClrt) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimClrt( 
            /* [in] */ int DimClrt) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimUnit( 
            /* [retval][out] */ int __RPC_FAR *pDimUnit) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimUnit( 
            /* [in] */ int DimUnit) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimDec( 
            /* [retval][out] */ int __RPC_FAR *pDimDec) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimDec( 
            /* [in] */ int DimDec) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimTdec( 
            /* [retval][out] */ int __RPC_FAR *pDimTdec) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimTdec( 
            /* [in] */ int DimTdec) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimAltu( 
            /* [retval][out] */ int __RPC_FAR *pDimAltu) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimAltu( 
            /* [in] */ int DimAltu) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimAlttd( 
            /* [retval][out] */ int __RPC_FAR *pDimAlttd) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimAlttd( 
            /* [in] */ int DimAlttd) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimAunit( 
            /* [retval][out] */ int __RPC_FAR *pDimAunit) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimAunit( 
            /* [in] */ int DimAunit) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimJust( 
            /* [retval][out] */ int __RPC_FAR *pDimJust) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimJust( 
            /* [in] */ int DimJust) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimSd1( 
            /* [retval][out] */ int __RPC_FAR *pDimSd1) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimSd1( 
            /* [in] */ int DimSd1) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimSd2( 
            /* [retval][out] */ int __RPC_FAR *pDimSd2) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimSd2( 
            /* [in] */ int DimSd2) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimTolj( 
            /* [retval][out] */ int __RPC_FAR *pDimTolj) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimTolj( 
            /* [in] */ int DimTolj) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimTzin( 
            /* [retval][out] */ int __RPC_FAR *pDimTzin) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimTzin( 
            /* [in] */ int DimTzin) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimAltz( 
            /* [retval][out] */ int __RPC_FAR *pDimAltz) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimAltz( 
            /* [in] */ int DimAltz) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimAlttz( 
            /* [retval][out] */ int __RPC_FAR *pDimAlttz) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimAlttz( 
            /* [in] */ int DimAlttz) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimFit( 
            /* [retval][out] */ int __RPC_FAR *pDimFit) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimFit( 
            /* [in] */ int DimFit) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimUpt( 
            /* [retval][out] */ int __RPC_FAR *pDimUpt) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimUpt( 
            /* [in] */ int DimUpt) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimTxSty( 
            /* [retval][out] */ BSTR __RPC_FAR *pDimTxSty) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimTxSty( 
            /* [in] */ BSTR DimTxSty) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadDimensionStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadDimensionStyle __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadDimensionStyle __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadDimensionStyle __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ BSTR Name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimPost )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pDimPost);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimPost )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ BSTR DimPost);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimApost )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pDimApost);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimApost )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ BSTR DimApost);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimBlk )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pDimBlk);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimBlk )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ BSTR DimBlk);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimBlk1 )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pDimBlk1);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimBlk1 )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ BSTR DimBlk1);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimBlk2 )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pDimBlk2);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimBlk2 )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ BSTR DimBlk2);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimScale )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pDimScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimScale )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ double DimScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimAsz )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pDimAsz);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimAsz )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ double DimAsz);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimExo )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pDimExo);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimExo )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ double DimExo);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimDli )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pDimDli);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimDli )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ double DimDli);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimExe )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pDimExe);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimExe )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ double DimExe);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimRnd )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pDimRnd);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimRnd )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ double DimRnd);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimDle )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pDimDle);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimDle )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ double DimDle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimTp )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pDimTp);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimTp )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ double DimTp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimTm )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pDimTm);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimTm )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ double DimTm);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimTol )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimTol);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimTol )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimTol);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimLim )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimLim);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimLim )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimLim);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimTih )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimTih);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimTih )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimTih);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimToh )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimToh);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimToh )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimToh);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimSe1 )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimSe1);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimSe1 )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimSe1);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimSe2 )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimSe2);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimSe2 )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimSe2);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimTad )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimTad);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimTad )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimTad);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimZin )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimZin);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimZin )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimZin);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimTxt )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pDimTxt);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimTxt )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ double DimTxt);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimCen )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pDimCen);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimCen )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ double DimCen);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimTsz )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pDimTsz);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimTsz )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ double DimTsz);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimAltf )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pDimAltf);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimAltf )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ double DimAltf);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimLfac )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pDimLfac);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimLfac )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ double DimLfac);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimTvp )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pDimTvp);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimTvp )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ double DimTvp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimTfac )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pDimTfac);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimTfac )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ double DimTfac);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimGap )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pDimGap);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimGap )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ double DimGap);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimAlt )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimAlt);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimAlt )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimAlt);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimAltd )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimAltd);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimAltd )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimAltd);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimTofl )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimTofl);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimTofl )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimTofl);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimSah )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimSah);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimSah )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimSah);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimTix )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimTix);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimTix )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimTix);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimSohd )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimSohd);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimSohd )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimSohd);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimClrd )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimClrd);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimClrd )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimClrd);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimClre )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimClre);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimClre )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimClre);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimClrt )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimClrt);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimClrt )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimClrt);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimUnit )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimUnit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimUnit )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimUnit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimDec )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimDec);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimDec )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimDec);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimTdec )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimTdec);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimTdec )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimTdec);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimAltu )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimAltu);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimAltu )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimAltu);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimAlttd )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimAlttd);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimAlttd )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimAlttd);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimAunit )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimAunit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimAunit )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimAunit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimJust )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimJust);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimJust )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimJust);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimSd1 )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimSd1);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimSd1 )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimSd1);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimSd2 )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimSd2);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimSd2 )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimSd2);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimTolj )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimTolj);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimTolj )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimTolj);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimTzin )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimTzin);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimTzin )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimTzin);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimAltz )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimAltz);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimAltz )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimAltz);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimAlttz )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimAlttz);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimAlttz )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimAlttz);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimFit )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimFit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimFit )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimFit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimUpt )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDimUpt);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimUpt )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ int DimUpt);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimTxSty )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pDimTxSty);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimTxSty )( 
            IIcadDimensionStyle __RPC_FAR * This,
            /* [in] */ BSTR DimTxSty);
        
        END_INTERFACE
    } IIcadDimensionStyleVtbl;

    interface IIcadDimensionStyle
    {
        CONST_VTBL struct IIcadDimensionStyleVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadDimensionStyle_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadDimensionStyle_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadDimensionStyle_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadDimensionStyle_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadDimensionStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadDimensionStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadDimensionStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadDimensionStyle_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadDimensionStyle_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadDimensionStyle_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadDimensionStyle_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadDimensionStyle__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadDimensionStyle_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadDimensionStyle_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadDimensionStyle_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadDimensionStyle_get_Name(This,pstrName)	\
    (This)->lpVtbl -> get_Name(This,pstrName)

#define IIcadDimensionStyle_put_Name(This,Name)	\
    (This)->lpVtbl -> put_Name(This,Name)


#define IIcadDimensionStyle_get_DimPost(This,pDimPost)	\
    (This)->lpVtbl -> get_DimPost(This,pDimPost)

#define IIcadDimensionStyle_put_DimPost(This,DimPost)	\
    (This)->lpVtbl -> put_DimPost(This,DimPost)

#define IIcadDimensionStyle_get_DimApost(This,pDimApost)	\
    (This)->lpVtbl -> get_DimApost(This,pDimApost)

#define IIcadDimensionStyle_put_DimApost(This,DimApost)	\
    (This)->lpVtbl -> put_DimApost(This,DimApost)

#define IIcadDimensionStyle_get_DimBlk(This,pDimBlk)	\
    (This)->lpVtbl -> get_DimBlk(This,pDimBlk)

#define IIcadDimensionStyle_put_DimBlk(This,DimBlk)	\
    (This)->lpVtbl -> put_DimBlk(This,DimBlk)

#define IIcadDimensionStyle_get_DimBlk1(This,pDimBlk1)	\
    (This)->lpVtbl -> get_DimBlk1(This,pDimBlk1)

#define IIcadDimensionStyle_put_DimBlk1(This,DimBlk1)	\
    (This)->lpVtbl -> put_DimBlk1(This,DimBlk1)

#define IIcadDimensionStyle_get_DimBlk2(This,pDimBlk2)	\
    (This)->lpVtbl -> get_DimBlk2(This,pDimBlk2)

#define IIcadDimensionStyle_put_DimBlk2(This,DimBlk2)	\
    (This)->lpVtbl -> put_DimBlk2(This,DimBlk2)

#define IIcadDimensionStyle_get_DimScale(This,pDimScale)	\
    (This)->lpVtbl -> get_DimScale(This,pDimScale)

#define IIcadDimensionStyle_put_DimScale(This,DimScale)	\
    (This)->lpVtbl -> put_DimScale(This,DimScale)

#define IIcadDimensionStyle_get_DimAsz(This,pDimAsz)	\
    (This)->lpVtbl -> get_DimAsz(This,pDimAsz)

#define IIcadDimensionStyle_put_DimAsz(This,DimAsz)	\
    (This)->lpVtbl -> put_DimAsz(This,DimAsz)

#define IIcadDimensionStyle_get_DimExo(This,pDimExo)	\
    (This)->lpVtbl -> get_DimExo(This,pDimExo)

#define IIcadDimensionStyle_put_DimExo(This,DimExo)	\
    (This)->lpVtbl -> put_DimExo(This,DimExo)

#define IIcadDimensionStyle_get_DimDli(This,pDimDli)	\
    (This)->lpVtbl -> get_DimDli(This,pDimDli)

#define IIcadDimensionStyle_put_DimDli(This,DimDli)	\
    (This)->lpVtbl -> put_DimDli(This,DimDli)

#define IIcadDimensionStyle_get_DimExe(This,pDimExe)	\
    (This)->lpVtbl -> get_DimExe(This,pDimExe)

#define IIcadDimensionStyle_put_DimExe(This,DimExe)	\
    (This)->lpVtbl -> put_DimExe(This,DimExe)

#define IIcadDimensionStyle_get_DimRnd(This,pDimRnd)	\
    (This)->lpVtbl -> get_DimRnd(This,pDimRnd)

#define IIcadDimensionStyle_put_DimRnd(This,DimRnd)	\
    (This)->lpVtbl -> put_DimRnd(This,DimRnd)

#define IIcadDimensionStyle_get_DimDle(This,pDimDle)	\
    (This)->lpVtbl -> get_DimDle(This,pDimDle)

#define IIcadDimensionStyle_put_DimDle(This,DimDle)	\
    (This)->lpVtbl -> put_DimDle(This,DimDle)

#define IIcadDimensionStyle_get_DimTp(This,pDimTp)	\
    (This)->lpVtbl -> get_DimTp(This,pDimTp)

#define IIcadDimensionStyle_put_DimTp(This,DimTp)	\
    (This)->lpVtbl -> put_DimTp(This,DimTp)

#define IIcadDimensionStyle_get_DimTm(This,pDimTm)	\
    (This)->lpVtbl -> get_DimTm(This,pDimTm)

#define IIcadDimensionStyle_put_DimTm(This,DimTm)	\
    (This)->lpVtbl -> put_DimTm(This,DimTm)

#define IIcadDimensionStyle_get_DimTol(This,pDimTol)	\
    (This)->lpVtbl -> get_DimTol(This,pDimTol)

#define IIcadDimensionStyle_put_DimTol(This,DimTol)	\
    (This)->lpVtbl -> put_DimTol(This,DimTol)

#define IIcadDimensionStyle_get_DimLim(This,pDimLim)	\
    (This)->lpVtbl -> get_DimLim(This,pDimLim)

#define IIcadDimensionStyle_put_DimLim(This,DimLim)	\
    (This)->lpVtbl -> put_DimLim(This,DimLim)

#define IIcadDimensionStyle_get_DimTih(This,pDimTih)	\
    (This)->lpVtbl -> get_DimTih(This,pDimTih)

#define IIcadDimensionStyle_put_DimTih(This,DimTih)	\
    (This)->lpVtbl -> put_DimTih(This,DimTih)

#define IIcadDimensionStyle_get_DimToh(This,pDimToh)	\
    (This)->lpVtbl -> get_DimToh(This,pDimToh)

#define IIcadDimensionStyle_put_DimToh(This,DimToh)	\
    (This)->lpVtbl -> put_DimToh(This,DimToh)

#define IIcadDimensionStyle_get_DimSe1(This,pDimSe1)	\
    (This)->lpVtbl -> get_DimSe1(This,pDimSe1)

#define IIcadDimensionStyle_put_DimSe1(This,DimSe1)	\
    (This)->lpVtbl -> put_DimSe1(This,DimSe1)

#define IIcadDimensionStyle_get_DimSe2(This,pDimSe2)	\
    (This)->lpVtbl -> get_DimSe2(This,pDimSe2)

#define IIcadDimensionStyle_put_DimSe2(This,DimSe2)	\
    (This)->lpVtbl -> put_DimSe2(This,DimSe2)

#define IIcadDimensionStyle_get_DimTad(This,pDimTad)	\
    (This)->lpVtbl -> get_DimTad(This,pDimTad)

#define IIcadDimensionStyle_put_DimTad(This,DimTad)	\
    (This)->lpVtbl -> put_DimTad(This,DimTad)

#define IIcadDimensionStyle_get_DimZin(This,pDimZin)	\
    (This)->lpVtbl -> get_DimZin(This,pDimZin)

#define IIcadDimensionStyle_put_DimZin(This,DimZin)	\
    (This)->lpVtbl -> put_DimZin(This,DimZin)

#define IIcadDimensionStyle_get_DimTxt(This,pDimTxt)	\
    (This)->lpVtbl -> get_DimTxt(This,pDimTxt)

#define IIcadDimensionStyle_put_DimTxt(This,DimTxt)	\
    (This)->lpVtbl -> put_DimTxt(This,DimTxt)

#define IIcadDimensionStyle_get_DimCen(This,pDimCen)	\
    (This)->lpVtbl -> get_DimCen(This,pDimCen)

#define IIcadDimensionStyle_put_DimCen(This,DimCen)	\
    (This)->lpVtbl -> put_DimCen(This,DimCen)

#define IIcadDimensionStyle_get_DimTsz(This,pDimTsz)	\
    (This)->lpVtbl -> get_DimTsz(This,pDimTsz)

#define IIcadDimensionStyle_put_DimTsz(This,DimTsz)	\
    (This)->lpVtbl -> put_DimTsz(This,DimTsz)

#define IIcadDimensionStyle_get_DimAltf(This,pDimAltf)	\
    (This)->lpVtbl -> get_DimAltf(This,pDimAltf)

#define IIcadDimensionStyle_put_DimAltf(This,DimAltf)	\
    (This)->lpVtbl -> put_DimAltf(This,DimAltf)

#define IIcadDimensionStyle_get_DimLfac(This,pDimLfac)	\
    (This)->lpVtbl -> get_DimLfac(This,pDimLfac)

#define IIcadDimensionStyle_put_DimLfac(This,DimLfac)	\
    (This)->lpVtbl -> put_DimLfac(This,DimLfac)

#define IIcadDimensionStyle_get_DimTvp(This,pDimTvp)	\
    (This)->lpVtbl -> get_DimTvp(This,pDimTvp)

#define IIcadDimensionStyle_put_DimTvp(This,DimTvp)	\
    (This)->lpVtbl -> put_DimTvp(This,DimTvp)

#define IIcadDimensionStyle_get_DimTfac(This,pDimTfac)	\
    (This)->lpVtbl -> get_DimTfac(This,pDimTfac)

#define IIcadDimensionStyle_put_DimTfac(This,DimTfac)	\
    (This)->lpVtbl -> put_DimTfac(This,DimTfac)

#define IIcadDimensionStyle_get_DimGap(This,pDimGap)	\
    (This)->lpVtbl -> get_DimGap(This,pDimGap)

#define IIcadDimensionStyle_put_DimGap(This,DimGap)	\
    (This)->lpVtbl -> put_DimGap(This,DimGap)

#define IIcadDimensionStyle_get_DimAlt(This,pDimAlt)	\
    (This)->lpVtbl -> get_DimAlt(This,pDimAlt)

#define IIcadDimensionStyle_put_DimAlt(This,DimAlt)	\
    (This)->lpVtbl -> put_DimAlt(This,DimAlt)

#define IIcadDimensionStyle_get_DimAltd(This,pDimAltd)	\
    (This)->lpVtbl -> get_DimAltd(This,pDimAltd)

#define IIcadDimensionStyle_put_DimAltd(This,DimAltd)	\
    (This)->lpVtbl -> put_DimAltd(This,DimAltd)

#define IIcadDimensionStyle_get_DimTofl(This,pDimTofl)	\
    (This)->lpVtbl -> get_DimTofl(This,pDimTofl)

#define IIcadDimensionStyle_put_DimTofl(This,DimTofl)	\
    (This)->lpVtbl -> put_DimTofl(This,DimTofl)

#define IIcadDimensionStyle_get_DimSah(This,pDimSah)	\
    (This)->lpVtbl -> get_DimSah(This,pDimSah)

#define IIcadDimensionStyle_put_DimSah(This,DimSah)	\
    (This)->lpVtbl -> put_DimSah(This,DimSah)

#define IIcadDimensionStyle_get_DimTix(This,pDimTix)	\
    (This)->lpVtbl -> get_DimTix(This,pDimTix)

#define IIcadDimensionStyle_put_DimTix(This,DimTix)	\
    (This)->lpVtbl -> put_DimTix(This,DimTix)

#define IIcadDimensionStyle_get_DimSohd(This,pDimSohd)	\
    (This)->lpVtbl -> get_DimSohd(This,pDimSohd)

#define IIcadDimensionStyle_put_DimSohd(This,DimSohd)	\
    (This)->lpVtbl -> put_DimSohd(This,DimSohd)

#define IIcadDimensionStyle_get_DimClrd(This,pDimClrd)	\
    (This)->lpVtbl -> get_DimClrd(This,pDimClrd)

#define IIcadDimensionStyle_put_DimClrd(This,DimClrd)	\
    (This)->lpVtbl -> put_DimClrd(This,DimClrd)

#define IIcadDimensionStyle_get_DimClre(This,pDimClre)	\
    (This)->lpVtbl -> get_DimClre(This,pDimClre)

#define IIcadDimensionStyle_put_DimClre(This,DimClre)	\
    (This)->lpVtbl -> put_DimClre(This,DimClre)

#define IIcadDimensionStyle_get_DimClrt(This,pDimClrt)	\
    (This)->lpVtbl -> get_DimClrt(This,pDimClrt)

#define IIcadDimensionStyle_put_DimClrt(This,DimClrt)	\
    (This)->lpVtbl -> put_DimClrt(This,DimClrt)

#define IIcadDimensionStyle_get_DimUnit(This,pDimUnit)	\
    (This)->lpVtbl -> get_DimUnit(This,pDimUnit)

#define IIcadDimensionStyle_put_DimUnit(This,DimUnit)	\
    (This)->lpVtbl -> put_DimUnit(This,DimUnit)

#define IIcadDimensionStyle_get_DimDec(This,pDimDec)	\
    (This)->lpVtbl -> get_DimDec(This,pDimDec)

#define IIcadDimensionStyle_put_DimDec(This,DimDec)	\
    (This)->lpVtbl -> put_DimDec(This,DimDec)

#define IIcadDimensionStyle_get_DimTdec(This,pDimTdec)	\
    (This)->lpVtbl -> get_DimTdec(This,pDimTdec)

#define IIcadDimensionStyle_put_DimTdec(This,DimTdec)	\
    (This)->lpVtbl -> put_DimTdec(This,DimTdec)

#define IIcadDimensionStyle_get_DimAltu(This,pDimAltu)	\
    (This)->lpVtbl -> get_DimAltu(This,pDimAltu)

#define IIcadDimensionStyle_put_DimAltu(This,DimAltu)	\
    (This)->lpVtbl -> put_DimAltu(This,DimAltu)

#define IIcadDimensionStyle_get_DimAlttd(This,pDimAlttd)	\
    (This)->lpVtbl -> get_DimAlttd(This,pDimAlttd)

#define IIcadDimensionStyle_put_DimAlttd(This,DimAlttd)	\
    (This)->lpVtbl -> put_DimAlttd(This,DimAlttd)

#define IIcadDimensionStyle_get_DimAunit(This,pDimAunit)	\
    (This)->lpVtbl -> get_DimAunit(This,pDimAunit)

#define IIcadDimensionStyle_put_DimAunit(This,DimAunit)	\
    (This)->lpVtbl -> put_DimAunit(This,DimAunit)

#define IIcadDimensionStyle_get_DimJust(This,pDimJust)	\
    (This)->lpVtbl -> get_DimJust(This,pDimJust)

#define IIcadDimensionStyle_put_DimJust(This,DimJust)	\
    (This)->lpVtbl -> put_DimJust(This,DimJust)

#define IIcadDimensionStyle_get_DimSd1(This,pDimSd1)	\
    (This)->lpVtbl -> get_DimSd1(This,pDimSd1)

#define IIcadDimensionStyle_put_DimSd1(This,DimSd1)	\
    (This)->lpVtbl -> put_DimSd1(This,DimSd1)

#define IIcadDimensionStyle_get_DimSd2(This,pDimSd2)	\
    (This)->lpVtbl -> get_DimSd2(This,pDimSd2)

#define IIcadDimensionStyle_put_DimSd2(This,DimSd2)	\
    (This)->lpVtbl -> put_DimSd2(This,DimSd2)

#define IIcadDimensionStyle_get_DimTolj(This,pDimTolj)	\
    (This)->lpVtbl -> get_DimTolj(This,pDimTolj)

#define IIcadDimensionStyle_put_DimTolj(This,DimTolj)	\
    (This)->lpVtbl -> put_DimTolj(This,DimTolj)

#define IIcadDimensionStyle_get_DimTzin(This,pDimTzin)	\
    (This)->lpVtbl -> get_DimTzin(This,pDimTzin)

#define IIcadDimensionStyle_put_DimTzin(This,DimTzin)	\
    (This)->lpVtbl -> put_DimTzin(This,DimTzin)

#define IIcadDimensionStyle_get_DimAltz(This,pDimAltz)	\
    (This)->lpVtbl -> get_DimAltz(This,pDimAltz)

#define IIcadDimensionStyle_put_DimAltz(This,DimAltz)	\
    (This)->lpVtbl -> put_DimAltz(This,DimAltz)

#define IIcadDimensionStyle_get_DimAlttz(This,pDimAlttz)	\
    (This)->lpVtbl -> get_DimAlttz(This,pDimAlttz)

#define IIcadDimensionStyle_put_DimAlttz(This,DimAlttz)	\
    (This)->lpVtbl -> put_DimAlttz(This,DimAlttz)

#define IIcadDimensionStyle_get_DimFit(This,pDimFit)	\
    (This)->lpVtbl -> get_DimFit(This,pDimFit)

#define IIcadDimensionStyle_put_DimFit(This,DimFit)	\
    (This)->lpVtbl -> put_DimFit(This,DimFit)

#define IIcadDimensionStyle_get_DimUpt(This,pDimUpt)	\
    (This)->lpVtbl -> get_DimUpt(This,pDimUpt)

#define IIcadDimensionStyle_put_DimUpt(This,DimUpt)	\
    (This)->lpVtbl -> put_DimUpt(This,DimUpt)

#define IIcadDimensionStyle_get_DimTxSty(This,pDimTxSty)	\
    (This)->lpVtbl -> get_DimTxSty(This,pDimTxSty)

#define IIcadDimensionStyle_put_DimTxSty(This,DimTxSty)	\
    (This)->lpVtbl -> put_DimTxSty(This,DimTxSty)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimPost_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pDimPost);


void __RPC_STUB IIcadDimensionStyle_get_DimPost_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimPost_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ BSTR DimPost);


void __RPC_STUB IIcadDimensionStyle_put_DimPost_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimApost_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pDimApost);


void __RPC_STUB IIcadDimensionStyle_get_DimApost_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimApost_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ BSTR DimApost);


void __RPC_STUB IIcadDimensionStyle_put_DimApost_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimBlk_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pDimBlk);


void __RPC_STUB IIcadDimensionStyle_get_DimBlk_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimBlk_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ BSTR DimBlk);


void __RPC_STUB IIcadDimensionStyle_put_DimBlk_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimBlk1_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pDimBlk1);


void __RPC_STUB IIcadDimensionStyle_get_DimBlk1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimBlk1_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ BSTR DimBlk1);


void __RPC_STUB IIcadDimensionStyle_put_DimBlk1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimBlk2_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pDimBlk2);


void __RPC_STUB IIcadDimensionStyle_get_DimBlk2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimBlk2_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ BSTR DimBlk2);


void __RPC_STUB IIcadDimensionStyle_put_DimBlk2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimScale_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pDimScale);


void __RPC_STUB IIcadDimensionStyle_get_DimScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimScale_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ double DimScale);


void __RPC_STUB IIcadDimensionStyle_put_DimScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimAsz_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pDimAsz);


void __RPC_STUB IIcadDimensionStyle_get_DimAsz_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimAsz_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ double DimAsz);


void __RPC_STUB IIcadDimensionStyle_put_DimAsz_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimExo_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pDimExo);


void __RPC_STUB IIcadDimensionStyle_get_DimExo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimExo_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ double DimExo);


void __RPC_STUB IIcadDimensionStyle_put_DimExo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimDli_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pDimDli);


void __RPC_STUB IIcadDimensionStyle_get_DimDli_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimDli_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ double DimDli);


void __RPC_STUB IIcadDimensionStyle_put_DimDli_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimExe_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pDimExe);


void __RPC_STUB IIcadDimensionStyle_get_DimExe_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimExe_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ double DimExe);


void __RPC_STUB IIcadDimensionStyle_put_DimExe_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimRnd_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pDimRnd);


void __RPC_STUB IIcadDimensionStyle_get_DimRnd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimRnd_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ double DimRnd);


void __RPC_STUB IIcadDimensionStyle_put_DimRnd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimDle_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pDimDle);


void __RPC_STUB IIcadDimensionStyle_get_DimDle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimDle_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ double DimDle);


void __RPC_STUB IIcadDimensionStyle_put_DimDle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimTp_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pDimTp);


void __RPC_STUB IIcadDimensionStyle_get_DimTp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimTp_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ double DimTp);


void __RPC_STUB IIcadDimensionStyle_put_DimTp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimTm_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pDimTm);


void __RPC_STUB IIcadDimensionStyle_get_DimTm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimTm_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ double DimTm);


void __RPC_STUB IIcadDimensionStyle_put_DimTm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimTol_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimTol);


void __RPC_STUB IIcadDimensionStyle_get_DimTol_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimTol_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimTol);


void __RPC_STUB IIcadDimensionStyle_put_DimTol_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimLim_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimLim);


void __RPC_STUB IIcadDimensionStyle_get_DimLim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimLim_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimLim);


void __RPC_STUB IIcadDimensionStyle_put_DimLim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimTih_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimTih);


void __RPC_STUB IIcadDimensionStyle_get_DimTih_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimTih_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimTih);


void __RPC_STUB IIcadDimensionStyle_put_DimTih_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimToh_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimToh);


void __RPC_STUB IIcadDimensionStyle_get_DimToh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimToh_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimToh);


void __RPC_STUB IIcadDimensionStyle_put_DimToh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimSe1_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimSe1);


void __RPC_STUB IIcadDimensionStyle_get_DimSe1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimSe1_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimSe1);


void __RPC_STUB IIcadDimensionStyle_put_DimSe1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimSe2_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimSe2);


void __RPC_STUB IIcadDimensionStyle_get_DimSe2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimSe2_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimSe2);


void __RPC_STUB IIcadDimensionStyle_put_DimSe2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimTad_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimTad);


void __RPC_STUB IIcadDimensionStyle_get_DimTad_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimTad_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimTad);


void __RPC_STUB IIcadDimensionStyle_put_DimTad_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimZin_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimZin);


void __RPC_STUB IIcadDimensionStyle_get_DimZin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimZin_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimZin);


void __RPC_STUB IIcadDimensionStyle_put_DimZin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimTxt_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pDimTxt);


void __RPC_STUB IIcadDimensionStyle_get_DimTxt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimTxt_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ double DimTxt);


void __RPC_STUB IIcadDimensionStyle_put_DimTxt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimCen_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pDimCen);


void __RPC_STUB IIcadDimensionStyle_get_DimCen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimCen_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ double DimCen);


void __RPC_STUB IIcadDimensionStyle_put_DimCen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimTsz_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pDimTsz);


void __RPC_STUB IIcadDimensionStyle_get_DimTsz_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimTsz_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ double DimTsz);


void __RPC_STUB IIcadDimensionStyle_put_DimTsz_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimAltf_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pDimAltf);


void __RPC_STUB IIcadDimensionStyle_get_DimAltf_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimAltf_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ double DimAltf);


void __RPC_STUB IIcadDimensionStyle_put_DimAltf_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimLfac_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pDimLfac);


void __RPC_STUB IIcadDimensionStyle_get_DimLfac_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimLfac_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ double DimLfac);


void __RPC_STUB IIcadDimensionStyle_put_DimLfac_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimTvp_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pDimTvp);


void __RPC_STUB IIcadDimensionStyle_get_DimTvp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimTvp_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ double DimTvp);


void __RPC_STUB IIcadDimensionStyle_put_DimTvp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimTfac_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pDimTfac);


void __RPC_STUB IIcadDimensionStyle_get_DimTfac_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimTfac_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ double DimTfac);


void __RPC_STUB IIcadDimensionStyle_put_DimTfac_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimGap_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pDimGap);


void __RPC_STUB IIcadDimensionStyle_get_DimGap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimGap_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ double DimGap);


void __RPC_STUB IIcadDimensionStyle_put_DimGap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimAlt_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimAlt);


void __RPC_STUB IIcadDimensionStyle_get_DimAlt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimAlt_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimAlt);


void __RPC_STUB IIcadDimensionStyle_put_DimAlt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimAltd_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimAltd);


void __RPC_STUB IIcadDimensionStyle_get_DimAltd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimAltd_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimAltd);


void __RPC_STUB IIcadDimensionStyle_put_DimAltd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimTofl_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimTofl);


void __RPC_STUB IIcadDimensionStyle_get_DimTofl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimTofl_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimTofl);


void __RPC_STUB IIcadDimensionStyle_put_DimTofl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimSah_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimSah);


void __RPC_STUB IIcadDimensionStyle_get_DimSah_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimSah_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimSah);


void __RPC_STUB IIcadDimensionStyle_put_DimSah_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimTix_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimTix);


void __RPC_STUB IIcadDimensionStyle_get_DimTix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimTix_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimTix);


void __RPC_STUB IIcadDimensionStyle_put_DimTix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimSohd_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimSohd);


void __RPC_STUB IIcadDimensionStyle_get_DimSohd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimSohd_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimSohd);


void __RPC_STUB IIcadDimensionStyle_put_DimSohd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimClrd_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimClrd);


void __RPC_STUB IIcadDimensionStyle_get_DimClrd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimClrd_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimClrd);


void __RPC_STUB IIcadDimensionStyle_put_DimClrd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimClre_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimClre);


void __RPC_STUB IIcadDimensionStyle_get_DimClre_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimClre_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimClre);


void __RPC_STUB IIcadDimensionStyle_put_DimClre_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimClrt_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimClrt);


void __RPC_STUB IIcadDimensionStyle_get_DimClrt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimClrt_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimClrt);


void __RPC_STUB IIcadDimensionStyle_put_DimClrt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimUnit_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimUnit);


void __RPC_STUB IIcadDimensionStyle_get_DimUnit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimUnit_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimUnit);


void __RPC_STUB IIcadDimensionStyle_put_DimUnit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimDec_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimDec);


void __RPC_STUB IIcadDimensionStyle_get_DimDec_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimDec_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimDec);


void __RPC_STUB IIcadDimensionStyle_put_DimDec_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimTdec_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimTdec);


void __RPC_STUB IIcadDimensionStyle_get_DimTdec_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimTdec_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimTdec);


void __RPC_STUB IIcadDimensionStyle_put_DimTdec_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimAltu_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimAltu);


void __RPC_STUB IIcadDimensionStyle_get_DimAltu_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimAltu_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimAltu);


void __RPC_STUB IIcadDimensionStyle_put_DimAltu_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimAlttd_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimAlttd);


void __RPC_STUB IIcadDimensionStyle_get_DimAlttd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimAlttd_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimAlttd);


void __RPC_STUB IIcadDimensionStyle_put_DimAlttd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimAunit_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimAunit);


void __RPC_STUB IIcadDimensionStyle_get_DimAunit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimAunit_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimAunit);


void __RPC_STUB IIcadDimensionStyle_put_DimAunit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimJust_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimJust);


void __RPC_STUB IIcadDimensionStyle_get_DimJust_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimJust_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimJust);


void __RPC_STUB IIcadDimensionStyle_put_DimJust_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimSd1_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimSd1);


void __RPC_STUB IIcadDimensionStyle_get_DimSd1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimSd1_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimSd1);


void __RPC_STUB IIcadDimensionStyle_put_DimSd1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimSd2_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimSd2);


void __RPC_STUB IIcadDimensionStyle_get_DimSd2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimSd2_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimSd2);


void __RPC_STUB IIcadDimensionStyle_put_DimSd2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimTolj_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimTolj);


void __RPC_STUB IIcadDimensionStyle_get_DimTolj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimTolj_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimTolj);


void __RPC_STUB IIcadDimensionStyle_put_DimTolj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimTzin_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimTzin);


void __RPC_STUB IIcadDimensionStyle_get_DimTzin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimTzin_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimTzin);


void __RPC_STUB IIcadDimensionStyle_put_DimTzin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimAltz_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimAltz);


void __RPC_STUB IIcadDimensionStyle_get_DimAltz_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimAltz_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimAltz);


void __RPC_STUB IIcadDimensionStyle_put_DimAltz_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimAlttz_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimAlttz);


void __RPC_STUB IIcadDimensionStyle_get_DimAlttz_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimAlttz_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimAlttz);


void __RPC_STUB IIcadDimensionStyle_put_DimAlttz_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimFit_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimFit);


void __RPC_STUB IIcadDimensionStyle_get_DimFit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimFit_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimFit);


void __RPC_STUB IIcadDimensionStyle_put_DimFit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimUpt_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDimUpt);


void __RPC_STUB IIcadDimensionStyle_get_DimUpt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimUpt_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ int DimUpt);


void __RPC_STUB IIcadDimensionStyle_put_DimUpt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_get_DimTxSty_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pDimTxSty);


void __RPC_STUB IIcadDimensionStyle_get_DimTxSty_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyle_put_DimTxSty_Proxy( 
    IIcadDimensionStyle __RPC_FAR * This,
    /* [in] */ BSTR DimTxSty);


void __RPC_STUB IIcadDimensionStyle_put_DimTxSty_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadDimensionStyle_INTERFACE_DEFINED__ */


#ifndef __IIcadDimensionStyles_INTERFACE_DEFINED__
#define __IIcadDimensionStyles_INTERFACE_DEFINED__

/* interface IIcadDimensionStyles */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadDimensionStyles;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c128-7e36-11d1-bc5a-0060089608a4")
    IIcadDimensionStyles : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long __RPC_FAR *pCount) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ IIcadDimensionStyle __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadDimensionStyle __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadDimensionStylesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadDimensionStyles __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadDimensionStyles __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadDimensionStyles __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadDimensionStyles __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadDimensionStyles __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadDimensionStyles __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadDimensionStyles __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadDimensionStyles __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
            IIcadDimensionStyles __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadDimensionStyles __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
            IIcadDimensionStyles __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            IIcadDimensionStyles __RPC_FAR * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IIcadDimensionStyle __RPC_FAR *__RPC_FAR *ppItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
            IIcadDimensionStyles __RPC_FAR * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadDimensionStyle __RPC_FAR *__RPC_FAR *ppItem);
        
        END_INTERFACE
    } IIcadDimensionStylesVtbl;

    interface IIcadDimensionStyles
    {
        CONST_VTBL struct IIcadDimensionStylesVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadDimensionStyles_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadDimensionStyles_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadDimensionStyles_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadDimensionStyles_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadDimensionStyles_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadDimensionStyles_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadDimensionStyles_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadDimensionStyles_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadDimensionStyles_get_Count(This,pCount)	\
    (This)->lpVtbl -> get_Count(This,pCount)

#define IIcadDimensionStyles_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadDimensionStyles_get__NewEnum(This,ppUnk)	\
    (This)->lpVtbl -> get__NewEnum(This,ppUnk)

#define IIcadDimensionStyles_Add(This,Name,ppItem)	\
    (This)->lpVtbl -> Add(This,Name,ppItem)

#define IIcadDimensionStyles_Item(This,Index,ppItem)	\
    (This)->lpVtbl -> Item(This,Index,ppItem)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyles_get_Application_Proxy( 
    IIcadDimensionStyles __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadDimensionStyles_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyles_get_Count_Proxy( 
    IIcadDimensionStyles __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pCount);


void __RPC_STUB IIcadDimensionStyles_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyles_get_Parent_Proxy( 
    IIcadDimensionStyles __RPC_FAR * This,
    /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadDimensionStyles_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyles_get__NewEnum_Proxy( 
    IIcadDimensionStyles __RPC_FAR * This,
    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);


void __RPC_STUB IIcadDimensionStyles_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyles_Add_Proxy( 
    IIcadDimensionStyles __RPC_FAR * This,
    /* [in] */ BSTR Name,
    /* [retval][out] */ IIcadDimensionStyle __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadDimensionStyles_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadDimensionStyles_Item_Proxy( 
    IIcadDimensionStyles __RPC_FAR * This,
    /* [in] */ VARIANT Index,
    /* [retval][out] */ IIcadDimensionStyle __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadDimensionStyles_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadDimensionStyles_INTERFACE_DEFINED__ */


#ifndef __IIcadLayer_INTERFACE_DEFINED__
#define __IIcadLayer_INTERFACE_DEFINED__

/* interface IIcadLayer */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadLayer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c129-7e36-11d1-bc5a-0060089608a4")
    IIcadLayer : public IIcadTableItem
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Color( 
            /* [retval][out] */ Colors __RPC_FAR *pColor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Color( 
            /* [in] */ Colors Color) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Freeze( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pFreeze) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Freeze( 
            /* [in] */ VARIANT_BOOL Freeze) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LayerOn( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pOn) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LayerOn( 
            /* [in] */ VARIANT_BOOL On) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Linetype( 
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Linetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Lock( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pLock) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Lock( 
            /* [in] */ VARIANT_BOOL Lock) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadLayerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadLayer __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadLayer __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadLayer __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadLayer __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadLayer __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadLayer __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadLayer __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadLayer __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadLayer __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadLayer __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadLayer __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadLayer __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadLayer __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadLayer __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadLayer __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            IIcadLayer __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
            IIcadLayer __RPC_FAR * This,
            /* [in] */ BSTR Name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadLayer __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadLayer __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Freeze )( 
            IIcadLayer __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pFreeze);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Freeze )( 
            IIcadLayer __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Freeze);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LayerOn )( 
            IIcadLayer __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pOn);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LayerOn )( 
            IIcadLayer __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL On);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadLayer __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadLayer __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Lock )( 
            IIcadLayer __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pLock);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Lock )( 
            IIcadLayer __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Lock);
        
        END_INTERFACE
    } IIcadLayerVtbl;

    interface IIcadLayer
    {
        CONST_VTBL struct IIcadLayerVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadLayer_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadLayer_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadLayer_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadLayer_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadLayer_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadLayer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadLayer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadLayer_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadLayer_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadLayer_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadLayer_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadLayer__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadLayer_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadLayer_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadLayer_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadLayer_get_Name(This,pstrName)	\
    (This)->lpVtbl -> get_Name(This,pstrName)

#define IIcadLayer_put_Name(This,Name)	\
    (This)->lpVtbl -> put_Name(This,Name)


#define IIcadLayer_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadLayer_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadLayer_get_Freeze(This,pFreeze)	\
    (This)->lpVtbl -> get_Freeze(This,pFreeze)

#define IIcadLayer_put_Freeze(This,Freeze)	\
    (This)->lpVtbl -> put_Freeze(This,Freeze)

#define IIcadLayer_get_LayerOn(This,pOn)	\
    (This)->lpVtbl -> get_LayerOn(This,pOn)

#define IIcadLayer_put_LayerOn(This,On)	\
    (This)->lpVtbl -> put_LayerOn(This,On)

#define IIcadLayer_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadLayer_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadLayer_get_Lock(This,pLock)	\
    (This)->lpVtbl -> get_Lock(This,pLock)

#define IIcadLayer_put_Lock(This,Lock)	\
    (This)->lpVtbl -> put_Lock(This,Lock)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLayer_get_Color_Proxy( 
    IIcadLayer __RPC_FAR * This,
    /* [retval][out] */ Colors __RPC_FAR *pColor);


void __RPC_STUB IIcadLayer_get_Color_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadLayer_put_Color_Proxy( 
    IIcadLayer __RPC_FAR * This,
    /* [in] */ Colors Color);


void __RPC_STUB IIcadLayer_put_Color_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLayer_get_Freeze_Proxy( 
    IIcadLayer __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pFreeze);


void __RPC_STUB IIcadLayer_get_Freeze_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadLayer_put_Freeze_Proxy( 
    IIcadLayer __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Freeze);


void __RPC_STUB IIcadLayer_put_Freeze_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLayer_get_LayerOn_Proxy( 
    IIcadLayer __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pOn);


void __RPC_STUB IIcadLayer_get_LayerOn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadLayer_put_LayerOn_Proxy( 
    IIcadLayer __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL On);


void __RPC_STUB IIcadLayer_put_LayerOn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLayer_get_Linetype_Proxy( 
    IIcadLayer __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pLinetype);


void __RPC_STUB IIcadLayer_get_Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadLayer_put_Linetype_Proxy( 
    IIcadLayer __RPC_FAR * This,
    /* [in] */ BSTR Linetype);


void __RPC_STUB IIcadLayer_put_Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLayer_get_Lock_Proxy( 
    IIcadLayer __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pLock);


void __RPC_STUB IIcadLayer_get_Lock_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadLayer_put_Lock_Proxy( 
    IIcadLayer __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Lock);


void __RPC_STUB IIcadLayer_put_Lock_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadLayer_INTERFACE_DEFINED__ */


#ifndef __IIcadLayers_INTERFACE_DEFINED__
#define __IIcadLayers_INTERFACE_DEFINED__

/* interface IIcadLayers */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadLayers;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c12a-7e36-11d1-bc5a-0060089608a4")
    IIcadLayers : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long __RPC_FAR *pCount) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ IIcadLayer __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadLayer __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadLayersVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadLayers __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadLayers __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadLayers __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadLayers __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadLayers __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadLayers __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadLayers __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadLayers __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
            IIcadLayers __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadLayers __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
            IIcadLayers __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            IIcadLayers __RPC_FAR * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IIcadLayer __RPC_FAR *__RPC_FAR *ppItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
            IIcadLayers __RPC_FAR * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadLayer __RPC_FAR *__RPC_FAR *ppItem);
        
        END_INTERFACE
    } IIcadLayersVtbl;

    interface IIcadLayers
    {
        CONST_VTBL struct IIcadLayersVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadLayers_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadLayers_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadLayers_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadLayers_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadLayers_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadLayers_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadLayers_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadLayers_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadLayers_get_Count(This,pCount)	\
    (This)->lpVtbl -> get_Count(This,pCount)

#define IIcadLayers_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadLayers_get__NewEnum(This,ppUnk)	\
    (This)->lpVtbl -> get__NewEnum(This,ppUnk)

#define IIcadLayers_Add(This,Name,ppItem)	\
    (This)->lpVtbl -> Add(This,Name,ppItem)

#define IIcadLayers_Item(This,Index,ppItem)	\
    (This)->lpVtbl -> Item(This,Index,ppItem)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLayers_get_Application_Proxy( 
    IIcadLayers __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadLayers_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLayers_get_Count_Proxy( 
    IIcadLayers __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pCount);


void __RPC_STUB IIcadLayers_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLayers_get_Parent_Proxy( 
    IIcadLayers __RPC_FAR * This,
    /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadLayers_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE IIcadLayers_get__NewEnum_Proxy( 
    IIcadLayers __RPC_FAR * This,
    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);


void __RPC_STUB IIcadLayers_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLayers_Add_Proxy( 
    IIcadLayers __RPC_FAR * This,
    /* [in] */ BSTR Name,
    /* [retval][out] */ IIcadLayer __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadLayers_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadLayers_Item_Proxy( 
    IIcadLayers __RPC_FAR * This,
    /* [in] */ VARIANT Index,
    /* [retval][out] */ IIcadLayer __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadLayers_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadLayers_INTERFACE_DEFINED__ */


#ifndef __IIcadLinetype_INTERFACE_DEFINED__
#define __IIcadLinetype_INTERFACE_DEFINED__

/* interface IIcadLinetype */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadLinetype;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c12b-7e36-11d1-bc5a-0060089608a4")
    IIcadLinetype : public IIcadTableItem
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR __RPC_FAR *pDescription) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Description( 
            /* [in] */ BSTR Description) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadLinetypeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadLinetype __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadLinetype __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadLinetype __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadLinetype __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadLinetype __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadLinetype __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadLinetype __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadLinetype __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadLinetype __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadLinetype __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadLinetype __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadLinetype __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadLinetype __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadLinetype __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadLinetype __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            IIcadLinetype __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
            IIcadLinetype __RPC_FAR * This,
            /* [in] */ BSTR Name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Description )( 
            IIcadLinetype __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pDescription);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Description )( 
            IIcadLinetype __RPC_FAR * This,
            /* [in] */ BSTR Description);
        
        END_INTERFACE
    } IIcadLinetypeVtbl;

    interface IIcadLinetype
    {
        CONST_VTBL struct IIcadLinetypeVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadLinetype_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadLinetype_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadLinetype_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadLinetype_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadLinetype_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadLinetype_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadLinetype_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadLinetype_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadLinetype_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadLinetype_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadLinetype_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadLinetype__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadLinetype_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadLinetype_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadLinetype_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadLinetype_get_Name(This,pstrName)	\
    (This)->lpVtbl -> get_Name(This,pstrName)

#define IIcadLinetype_put_Name(This,Name)	\
    (This)->lpVtbl -> put_Name(This,Name)


#define IIcadLinetype_get_Description(This,pDescription)	\
    (This)->lpVtbl -> get_Description(This,pDescription)

#define IIcadLinetype_put_Description(This,Description)	\
    (This)->lpVtbl -> put_Description(This,Description)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLinetype_get_Description_Proxy( 
    IIcadLinetype __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pDescription);


void __RPC_STUB IIcadLinetype_get_Description_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadLinetype_put_Description_Proxy( 
    IIcadLinetype __RPC_FAR * This,
    /* [in] */ BSTR Description);


void __RPC_STUB IIcadLinetype_put_Description_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadLinetype_INTERFACE_DEFINED__ */


#ifndef __IIcadLinetypes_INTERFACE_DEFINED__
#define __IIcadLinetypes_INTERFACE_DEFINED__

/* interface IIcadLinetypes */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadLinetypes;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c12c-7e36-11d1-bc5a-0060089608a4")
    IIcadLinetypes : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long __RPC_FAR *pCount) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ IIcadLinetype __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadLinetype __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Load( 
            /* [in] */ BSTR LinetypeName,
            /* [in] */ BSTR FileName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadLinetypesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadLinetypes __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadLinetypes __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadLinetypes __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadLinetypes __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadLinetypes __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadLinetypes __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadLinetypes __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadLinetypes __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
            IIcadLinetypes __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadLinetypes __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
            IIcadLinetypes __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            IIcadLinetypes __RPC_FAR * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IIcadLinetype __RPC_FAR *__RPC_FAR *ppItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
            IIcadLinetypes __RPC_FAR * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadLinetype __RPC_FAR *__RPC_FAR *ppItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Load )( 
            IIcadLinetypes __RPC_FAR * This,
            /* [in] */ BSTR LinetypeName,
            /* [in] */ BSTR FileName);
        
        END_INTERFACE
    } IIcadLinetypesVtbl;

    interface IIcadLinetypes
    {
        CONST_VTBL struct IIcadLinetypesVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadLinetypes_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadLinetypes_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadLinetypes_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadLinetypes_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadLinetypes_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadLinetypes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadLinetypes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadLinetypes_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadLinetypes_get_Count(This,pCount)	\
    (This)->lpVtbl -> get_Count(This,pCount)

#define IIcadLinetypes_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadLinetypes_get__NewEnum(This,ppUnk)	\
    (This)->lpVtbl -> get__NewEnum(This,ppUnk)

#define IIcadLinetypes_Add(This,Name,ppItem)	\
    (This)->lpVtbl -> Add(This,Name,ppItem)

#define IIcadLinetypes_Item(This,Index,ppItem)	\
    (This)->lpVtbl -> Item(This,Index,ppItem)

#define IIcadLinetypes_Load(This,LinetypeName,FileName)	\
    (This)->lpVtbl -> Load(This,LinetypeName,FileName)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLinetypes_get_Application_Proxy( 
    IIcadLinetypes __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadLinetypes_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLinetypes_get_Count_Proxy( 
    IIcadLinetypes __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pCount);


void __RPC_STUB IIcadLinetypes_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLinetypes_get_Parent_Proxy( 
    IIcadLinetypes __RPC_FAR * This,
    /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadLinetypes_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE IIcadLinetypes_get__NewEnum_Proxy( 
    IIcadLinetypes __RPC_FAR * This,
    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);


void __RPC_STUB IIcadLinetypes_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLinetypes_Add_Proxy( 
    IIcadLinetypes __RPC_FAR * This,
    /* [in] */ BSTR Name,
    /* [retval][out] */ IIcadLinetype __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadLinetypes_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadLinetypes_Item_Proxy( 
    IIcadLinetypes __RPC_FAR * This,
    /* [in] */ VARIANT Index,
    /* [retval][out] */ IIcadLinetype __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadLinetypes_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLinetypes_Load_Proxy( 
    IIcadLinetypes __RPC_FAR * This,
    /* [in] */ BSTR LinetypeName,
    /* [in] */ BSTR FileName);


void __RPC_STUB IIcadLinetypes_Load_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadLinetypes_INTERFACE_DEFINED__ */


#ifndef __IIcadTextStyle_INTERFACE_DEFINED__
#define __IIcadTextStyle_INTERFACE_DEFINED__

/* interface IIcadTextStyle */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadTextStyle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c12d-7e36-11d1-bc5a-0060089608a4")
    IIcadTextStyle : public IIcadTableItem
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BigFontFile( 
            /* [retval][out] */ BSTR __RPC_FAR *pFontFile) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BigFontFile( 
            /* [in] */ BSTR FontFile) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FontFile( 
            /* [retval][out] */ BSTR __RPC_FAR *pFontFile) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FontFile( 
            /* [in] */ BSTR FontFile) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double __RPC_FAR *pHeight) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double Height) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LastHeight( 
            /* [retval][out] */ double __RPC_FAR *pHeight) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LastHeight( 
            /* [in] */ double Height) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ObliqueAngle( 
            /* [retval][out] */ double __RPC_FAR *pAngle) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ObliqueAngle( 
            /* [in] */ double Angle) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ double __RPC_FAR *pWidth) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ double Width) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextGenerationFlag( 
            /* [retval][out] */ TextFlag __RPC_FAR *pTextFlags) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextGenerationFlag( 
            /* [in] */ TextFlag TextFlags) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Shape( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pShape) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Shape( 
            /* [in] */ VARIANT_BOOL Shape) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetXData( 
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadTextStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadTextStyle __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadTextStyle __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadTextStyle __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [in] */ BSTR Name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_BigFontFile )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pFontFile);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_BigFontFile )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [in] */ BSTR FontFile);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FontFile )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pFontFile);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_FontFile )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [in] */ BSTR FontFile);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Height )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pHeight);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Height )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [in] */ double Height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LastHeight )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pHeight);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LastHeight )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [in] */ double Height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ObliqueAngle )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pAngle);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ObliqueAngle )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [in] */ double Angle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Width )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pWidth);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Width )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [in] */ double Width);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextGenerationFlag )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [retval][out] */ TextFlag __RPC_FAR *pTextFlags);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextGenerationFlag )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [in] */ TextFlag TextFlags);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Shape )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pShape);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Shape )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Shape);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadTextStyle __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        END_INTERFACE
    } IIcadTextStyleVtbl;

    interface IIcadTextStyle
    {
        CONST_VTBL struct IIcadTextStyleVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadTextStyle_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadTextStyle_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadTextStyle_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadTextStyle_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadTextStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadTextStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadTextStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadTextStyle_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadTextStyle_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadTextStyle_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadTextStyle_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadTextStyle__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadTextStyle_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadTextStyle_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadTextStyle_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadTextStyle_get_Name(This,pstrName)	\
    (This)->lpVtbl -> get_Name(This,pstrName)

#define IIcadTextStyle_put_Name(This,Name)	\
    (This)->lpVtbl -> put_Name(This,Name)


#define IIcadTextStyle_get_BigFontFile(This,pFontFile)	\
    (This)->lpVtbl -> get_BigFontFile(This,pFontFile)

#define IIcadTextStyle_put_BigFontFile(This,FontFile)	\
    (This)->lpVtbl -> put_BigFontFile(This,FontFile)

#define IIcadTextStyle_get_FontFile(This,pFontFile)	\
    (This)->lpVtbl -> get_FontFile(This,pFontFile)

#define IIcadTextStyle_put_FontFile(This,FontFile)	\
    (This)->lpVtbl -> put_FontFile(This,FontFile)

#define IIcadTextStyle_get_Height(This,pHeight)	\
    (This)->lpVtbl -> get_Height(This,pHeight)

#define IIcadTextStyle_put_Height(This,Height)	\
    (This)->lpVtbl -> put_Height(This,Height)

#define IIcadTextStyle_get_LastHeight(This,pHeight)	\
    (This)->lpVtbl -> get_LastHeight(This,pHeight)

#define IIcadTextStyle_put_LastHeight(This,Height)	\
    (This)->lpVtbl -> put_LastHeight(This,Height)

#define IIcadTextStyle_get_ObliqueAngle(This,pAngle)	\
    (This)->lpVtbl -> get_ObliqueAngle(This,pAngle)

#define IIcadTextStyle_put_ObliqueAngle(This,Angle)	\
    (This)->lpVtbl -> put_ObliqueAngle(This,Angle)

#define IIcadTextStyle_get_Width(This,pWidth)	\
    (This)->lpVtbl -> get_Width(This,pWidth)

#define IIcadTextStyle_put_Width(This,Width)	\
    (This)->lpVtbl -> put_Width(This,Width)

#define IIcadTextStyle_get_TextGenerationFlag(This,pTextFlags)	\
    (This)->lpVtbl -> get_TextGenerationFlag(This,pTextFlags)

#define IIcadTextStyle_put_TextGenerationFlag(This,TextFlags)	\
    (This)->lpVtbl -> put_TextGenerationFlag(This,TextFlags)

#define IIcadTextStyle_get_Shape(This,pShape)	\
    (This)->lpVtbl -> get_Shape(This,pShape)

#define IIcadTextStyle_put_Shape(This,Shape)	\
    (This)->lpVtbl -> put_Shape(This,Shape)

#define IIcadTextStyle_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadTextStyle_get_BigFontFile_Proxy( 
    IIcadTextStyle __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pFontFile);


void __RPC_STUB IIcadTextStyle_get_BigFontFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadTextStyle_put_BigFontFile_Proxy( 
    IIcadTextStyle __RPC_FAR * This,
    /* [in] */ BSTR FontFile);


void __RPC_STUB IIcadTextStyle_put_BigFontFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadTextStyle_get_FontFile_Proxy( 
    IIcadTextStyle __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pFontFile);


void __RPC_STUB IIcadTextStyle_get_FontFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadTextStyle_put_FontFile_Proxy( 
    IIcadTextStyle __RPC_FAR * This,
    /* [in] */ BSTR FontFile);


void __RPC_STUB IIcadTextStyle_put_FontFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadTextStyle_get_Height_Proxy( 
    IIcadTextStyle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pHeight);


void __RPC_STUB IIcadTextStyle_get_Height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadTextStyle_put_Height_Proxy( 
    IIcadTextStyle __RPC_FAR * This,
    /* [in] */ double Height);


void __RPC_STUB IIcadTextStyle_put_Height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadTextStyle_get_LastHeight_Proxy( 
    IIcadTextStyle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pHeight);


void __RPC_STUB IIcadTextStyle_get_LastHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadTextStyle_put_LastHeight_Proxy( 
    IIcadTextStyle __RPC_FAR * This,
    /* [in] */ double Height);


void __RPC_STUB IIcadTextStyle_put_LastHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadTextStyle_get_ObliqueAngle_Proxy( 
    IIcadTextStyle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pAngle);


void __RPC_STUB IIcadTextStyle_get_ObliqueAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadTextStyle_put_ObliqueAngle_Proxy( 
    IIcadTextStyle __RPC_FAR * This,
    /* [in] */ double Angle);


void __RPC_STUB IIcadTextStyle_put_ObliqueAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadTextStyle_get_Width_Proxy( 
    IIcadTextStyle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pWidth);


void __RPC_STUB IIcadTextStyle_get_Width_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadTextStyle_put_Width_Proxy( 
    IIcadTextStyle __RPC_FAR * This,
    /* [in] */ double Width);


void __RPC_STUB IIcadTextStyle_put_Width_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadTextStyle_get_TextGenerationFlag_Proxy( 
    IIcadTextStyle __RPC_FAR * This,
    /* [retval][out] */ TextFlag __RPC_FAR *pTextFlags);


void __RPC_STUB IIcadTextStyle_get_TextGenerationFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadTextStyle_put_TextGenerationFlag_Proxy( 
    IIcadTextStyle __RPC_FAR * This,
    /* [in] */ TextFlag TextFlags);


void __RPC_STUB IIcadTextStyle_put_TextGenerationFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadTextStyle_get_Shape_Proxy( 
    IIcadTextStyle __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pShape);


void __RPC_STUB IIcadTextStyle_get_Shape_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadTextStyle_put_Shape_Proxy( 
    IIcadTextStyle __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Shape);


void __RPC_STUB IIcadTextStyle_put_Shape_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadTextStyle_SetXData_Proxy( 
    IIcadTextStyle __RPC_FAR * This,
    /* [in] */ VARIANT TypeArray,
    /* [in] */ VARIANT DataArray);


void __RPC_STUB IIcadTextStyle_SetXData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadTextStyle_INTERFACE_DEFINED__ */


#ifndef __IIcadTextStyles_INTERFACE_DEFINED__
#define __IIcadTextStyles_INTERFACE_DEFINED__

/* interface IIcadTextStyles */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadTextStyles;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c12e-7e36-11d1-bc5a-0060089608a4")
    IIcadTextStyles : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long __RPC_FAR *pCount) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ IIcadTextStyle __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadTextStyle __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadTextStylesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadTextStyles __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadTextStyles __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadTextStyles __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadTextStyles __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadTextStyles __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadTextStyles __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadTextStyles __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadTextStyles __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
            IIcadTextStyles __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadTextStyles __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
            IIcadTextStyles __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            IIcadTextStyles __RPC_FAR * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IIcadTextStyle __RPC_FAR *__RPC_FAR *ppItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
            IIcadTextStyles __RPC_FAR * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadTextStyle __RPC_FAR *__RPC_FAR *ppItem);
        
        END_INTERFACE
    } IIcadTextStylesVtbl;

    interface IIcadTextStyles
    {
        CONST_VTBL struct IIcadTextStylesVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadTextStyles_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadTextStyles_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadTextStyles_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadTextStyles_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadTextStyles_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadTextStyles_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadTextStyles_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadTextStyles_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadTextStyles_get_Count(This,pCount)	\
    (This)->lpVtbl -> get_Count(This,pCount)

#define IIcadTextStyles_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadTextStyles_get__NewEnum(This,ppUnk)	\
    (This)->lpVtbl -> get__NewEnum(This,ppUnk)

#define IIcadTextStyles_Add(This,Name,ppItem)	\
    (This)->lpVtbl -> Add(This,Name,ppItem)

#define IIcadTextStyles_Item(This,Index,ppItem)	\
    (This)->lpVtbl -> Item(This,Index,ppItem)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadTextStyles_get_Application_Proxy( 
    IIcadTextStyles __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadTextStyles_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadTextStyles_get_Count_Proxy( 
    IIcadTextStyles __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pCount);


void __RPC_STUB IIcadTextStyles_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadTextStyles_get_Parent_Proxy( 
    IIcadTextStyles __RPC_FAR * This,
    /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadTextStyles_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE IIcadTextStyles_get__NewEnum_Proxy( 
    IIcadTextStyles __RPC_FAR * This,
    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);


void __RPC_STUB IIcadTextStyles_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadTextStyles_Add_Proxy( 
    IIcadTextStyles __RPC_FAR * This,
    /* [in] */ BSTR Name,
    /* [retval][out] */ IIcadTextStyle __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadTextStyles_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadTextStyles_Item_Proxy( 
    IIcadTextStyles __RPC_FAR * This,
    /* [in] */ VARIANT Index,
    /* [retval][out] */ IIcadTextStyle __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadTextStyles_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadTextStyles_INTERFACE_DEFINED__ */


#ifndef __IIcadUserCoordSystem_INTERFACE_DEFINED__
#define __IIcadUserCoordSystem_INTERFACE_DEFINED__

/* interface IIcadUserCoordSystem */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadUserCoordSystem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c12f-7e36-11d1-bc5a-0060089608a4")
    IIcadUserCoordSystem : public IIcadTableItem
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Origin( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppOrigin) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Origin( 
            /* [in] */ IIcadPoint __RPC_FAR *Origin) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Xvector( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Xvector( 
            /* [in] */ IIcadVector __RPC_FAR *XVector) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Yvector( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Yvector( 
            /* [in] */ IIcadVector __RPC_FAR *YVector) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Zvector( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetUCSMatrix( 
            /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadUserCoordSystemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadUserCoordSystem __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadUserCoordSystem __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadUserCoordSystem __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadUserCoordSystem __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadUserCoordSystem __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadUserCoordSystem __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadUserCoordSystem __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadUserCoordSystem __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadUserCoordSystem __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadUserCoordSystem __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadUserCoordSystem __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadUserCoordSystem __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadUserCoordSystem __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadUserCoordSystem __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadUserCoordSystem __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            IIcadUserCoordSystem __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
            IIcadUserCoordSystem __RPC_FAR * This,
            /* [in] */ BSTR Name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Origin )( 
            IIcadUserCoordSystem __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppOrigin);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Origin )( 
            IIcadUserCoordSystem __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Origin);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Xvector )( 
            IIcadUserCoordSystem __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Xvector )( 
            IIcadUserCoordSystem __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *XVector);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Yvector )( 
            IIcadUserCoordSystem __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Yvector )( 
            IIcadUserCoordSystem __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *YVector);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Zvector )( 
            IIcadUserCoordSystem __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetUCSMatrix )( 
            IIcadUserCoordSystem __RPC_FAR * This,
            /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix);
        
        END_INTERFACE
    } IIcadUserCoordSystemVtbl;

    interface IIcadUserCoordSystem
    {
        CONST_VTBL struct IIcadUserCoordSystemVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadUserCoordSystem_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadUserCoordSystem_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadUserCoordSystem_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadUserCoordSystem_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadUserCoordSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadUserCoordSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadUserCoordSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadUserCoordSystem_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadUserCoordSystem_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadUserCoordSystem_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadUserCoordSystem_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadUserCoordSystem__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadUserCoordSystem_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadUserCoordSystem_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadUserCoordSystem_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadUserCoordSystem_get_Name(This,pstrName)	\
    (This)->lpVtbl -> get_Name(This,pstrName)

#define IIcadUserCoordSystem_put_Name(This,Name)	\
    (This)->lpVtbl -> put_Name(This,Name)


#define IIcadUserCoordSystem_get_Origin(This,ppOrigin)	\
    (This)->lpVtbl -> get_Origin(This,ppOrigin)

#define IIcadUserCoordSystem_put_Origin(This,Origin)	\
    (This)->lpVtbl -> put_Origin(This,Origin)

#define IIcadUserCoordSystem_get_Xvector(This,ppVector)	\
    (This)->lpVtbl -> get_Xvector(This,ppVector)

#define IIcadUserCoordSystem_put_Xvector(This,XVector)	\
    (This)->lpVtbl -> put_Xvector(This,XVector)

#define IIcadUserCoordSystem_get_Yvector(This,ppVector)	\
    (This)->lpVtbl -> get_Yvector(This,ppVector)

#define IIcadUserCoordSystem_put_Yvector(This,YVector)	\
    (This)->lpVtbl -> put_Yvector(This,YVector)

#define IIcadUserCoordSystem_get_Zvector(This,ppVector)	\
    (This)->lpVtbl -> get_Zvector(This,ppVector)

#define IIcadUserCoordSystem_GetUCSMatrix(This,ppMatrix)	\
    (This)->lpVtbl -> GetUCSMatrix(This,ppMatrix)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadUserCoordSystem_get_Origin_Proxy( 
    IIcadUserCoordSystem __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppOrigin);


void __RPC_STUB IIcadUserCoordSystem_get_Origin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIcadUserCoordSystem_put_Origin_Proxy( 
    IIcadUserCoordSystem __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Origin);


void __RPC_STUB IIcadUserCoordSystem_put_Origin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadUserCoordSystem_get_Xvector_Proxy( 
    IIcadUserCoordSystem __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector);


void __RPC_STUB IIcadUserCoordSystem_get_Xvector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIcadUserCoordSystem_put_Xvector_Proxy( 
    IIcadUserCoordSystem __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *XVector);


void __RPC_STUB IIcadUserCoordSystem_put_Xvector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadUserCoordSystem_get_Yvector_Proxy( 
    IIcadUserCoordSystem __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector);


void __RPC_STUB IIcadUserCoordSystem_get_Yvector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIcadUserCoordSystem_put_Yvector_Proxy( 
    IIcadUserCoordSystem __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *YVector);


void __RPC_STUB IIcadUserCoordSystem_put_Yvector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadUserCoordSystem_get_Zvector_Proxy( 
    IIcadUserCoordSystem __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppVector);


void __RPC_STUB IIcadUserCoordSystem_get_Zvector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUserCoordSystem_GetUCSMatrix_Proxy( 
    IIcadUserCoordSystem __RPC_FAR * This,
    /* [retval][out] */ IIcadMatrix __RPC_FAR *__RPC_FAR *ppMatrix);


void __RPC_STUB IIcadUserCoordSystem_GetUCSMatrix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadUserCoordSystem_INTERFACE_DEFINED__ */


#ifndef __IIcadUserCoordSystems_INTERFACE_DEFINED__
#define __IIcadUserCoordSystems_INTERFACE_DEFINED__

/* interface IIcadUserCoordSystems */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadUserCoordSystems;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c130-7e36-11d1-bc5a-0060089608a4")
    IIcadUserCoordSystems : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long __RPC_FAR *pCount) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ IIcadPoint __RPC_FAR *Origin,
            /* [in] */ IIcadVector __RPC_FAR *XAxis,
            /* [in] */ IIcadVector __RPC_FAR *YAxis,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IIcadUserCoordSystem __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadUserCoordSystem __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadUserCoordSystemsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadUserCoordSystems __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadUserCoordSystems __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadUserCoordSystems __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadUserCoordSystems __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadUserCoordSystems __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadUserCoordSystems __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadUserCoordSystems __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadUserCoordSystems __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
            IIcadUserCoordSystems __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadUserCoordSystems __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
            IIcadUserCoordSystems __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            IIcadUserCoordSystems __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Origin,
            /* [in] */ IIcadVector __RPC_FAR *XAxis,
            /* [in] */ IIcadVector __RPC_FAR *YAxis,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IIcadUserCoordSystem __RPC_FAR *__RPC_FAR *ppItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
            IIcadUserCoordSystems __RPC_FAR * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadUserCoordSystem __RPC_FAR *__RPC_FAR *ppItem);
        
        END_INTERFACE
    } IIcadUserCoordSystemsVtbl;

    interface IIcadUserCoordSystems
    {
        CONST_VTBL struct IIcadUserCoordSystemsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadUserCoordSystems_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadUserCoordSystems_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadUserCoordSystems_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadUserCoordSystems_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadUserCoordSystems_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadUserCoordSystems_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadUserCoordSystems_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadUserCoordSystems_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadUserCoordSystems_get_Count(This,pCount)	\
    (This)->lpVtbl -> get_Count(This,pCount)

#define IIcadUserCoordSystems_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadUserCoordSystems_get__NewEnum(This,ppUnk)	\
    (This)->lpVtbl -> get__NewEnum(This,ppUnk)

#define IIcadUserCoordSystems_Add(This,Origin,XAxis,YAxis,Name,ppItem)	\
    (This)->lpVtbl -> Add(This,Origin,XAxis,YAxis,Name,ppItem)

#define IIcadUserCoordSystems_Item(This,Index,ppItem)	\
    (This)->lpVtbl -> Item(This,Index,ppItem)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadUserCoordSystems_get_Application_Proxy( 
    IIcadUserCoordSystems __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadUserCoordSystems_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadUserCoordSystems_get_Count_Proxy( 
    IIcadUserCoordSystems __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pCount);


void __RPC_STUB IIcadUserCoordSystems_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadUserCoordSystems_get_Parent_Proxy( 
    IIcadUserCoordSystems __RPC_FAR * This,
    /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadUserCoordSystems_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE IIcadUserCoordSystems_get__NewEnum_Proxy( 
    IIcadUserCoordSystems __RPC_FAR * This,
    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);


void __RPC_STUB IIcadUserCoordSystems_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadUserCoordSystems_Add_Proxy( 
    IIcadUserCoordSystems __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Origin,
    /* [in] */ IIcadVector __RPC_FAR *XAxis,
    /* [in] */ IIcadVector __RPC_FAR *YAxis,
    /* [in] */ BSTR Name,
    /* [retval][out] */ IIcadUserCoordSystem __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadUserCoordSystems_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadUserCoordSystems_Item_Proxy( 
    IIcadUserCoordSystems __RPC_FAR * This,
    /* [in] */ VARIANT Index,
    /* [retval][out] */ IIcadUserCoordSystem __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadUserCoordSystems_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadUserCoordSystems_INTERFACE_DEFINED__ */


#ifndef __IIcadView_INTERFACE_DEFINED__
#define __IIcadView_INTERFACE_DEFINED__

/* interface IIcadView */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c131-7e36-11d1-bc5a-0060089608a4")
    IIcadView : public IIcadTableItem
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Center( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppCenter) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Center( 
            /* [in] */ IIcadPoint __RPC_FAR *Center) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Direction( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppNormal) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Direction( 
            /* [in] */ IIcadVector __RPC_FAR *Normal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double __RPC_FAR *pHeight) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double Height) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LensLength( 
            /* [retval][out] */ double __RPC_FAR *pLensLength) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Target( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppTarget) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Target( 
            /* [in] */ IIcadPoint __RPC_FAR *Target) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ double __RPC_FAR *pWidth) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ double Width) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadView __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadView __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadView __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadView __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadView __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadView __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadView __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadView __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadView __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadView __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadView __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadView __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadView __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadView __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadView __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            IIcadView __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
            IIcadView __RPC_FAR * This,
            /* [in] */ BSTR Name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Center )( 
            IIcadView __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppCenter);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Center )( 
            IIcadView __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Direction )( 
            IIcadView __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppNormal);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Direction )( 
            IIcadView __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *Normal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Height )( 
            IIcadView __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pHeight);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Height )( 
            IIcadView __RPC_FAR * This,
            /* [in] */ double Height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LensLength )( 
            IIcadView __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pLensLength);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Target )( 
            IIcadView __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppTarget);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Target )( 
            IIcadView __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Target);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Width )( 
            IIcadView __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pWidth);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Width )( 
            IIcadView __RPC_FAR * This,
            /* [in] */ double Width);
        
        END_INTERFACE
    } IIcadViewVtbl;

    interface IIcadView
    {
        CONST_VTBL struct IIcadViewVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadView_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadView_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadView_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadView_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadView_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadView_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadView_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadView_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadView_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadView_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadView_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadView__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadView_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadView_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadView_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadView_get_Name(This,pstrName)	\
    (This)->lpVtbl -> get_Name(This,pstrName)

#define IIcadView_put_Name(This,Name)	\
    (This)->lpVtbl -> put_Name(This,Name)


#define IIcadView_get_Center(This,ppCenter)	\
    (This)->lpVtbl -> get_Center(This,ppCenter)

#define IIcadView_put_Center(This,Center)	\
    (This)->lpVtbl -> put_Center(This,Center)

#define IIcadView_get_Direction(This,ppNormal)	\
    (This)->lpVtbl -> get_Direction(This,ppNormal)

#define IIcadView_put_Direction(This,Normal)	\
    (This)->lpVtbl -> put_Direction(This,Normal)

#define IIcadView_get_Height(This,pHeight)	\
    (This)->lpVtbl -> get_Height(This,pHeight)

#define IIcadView_put_Height(This,Height)	\
    (This)->lpVtbl -> put_Height(This,Height)

#define IIcadView_get_LensLength(This,pLensLength)	\
    (This)->lpVtbl -> get_LensLength(This,pLensLength)

#define IIcadView_get_Target(This,ppTarget)	\
    (This)->lpVtbl -> get_Target(This,ppTarget)

#define IIcadView_put_Target(This,Target)	\
    (This)->lpVtbl -> put_Target(This,Target)

#define IIcadView_get_Width(This,pWidth)	\
    (This)->lpVtbl -> get_Width(This,pWidth)

#define IIcadView_put_Width(This,Width)	\
    (This)->lpVtbl -> put_Width(This,Width)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadView_get_Center_Proxy( 
    IIcadView __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppCenter);


void __RPC_STUB IIcadView_get_Center_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadView_put_Center_Proxy( 
    IIcadView __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Center);


void __RPC_STUB IIcadView_put_Center_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadView_get_Direction_Proxy( 
    IIcadView __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppNormal);


void __RPC_STUB IIcadView_get_Direction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadView_put_Direction_Proxy( 
    IIcadView __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *Normal);


void __RPC_STUB IIcadView_put_Direction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadView_get_Height_Proxy( 
    IIcadView __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pHeight);


void __RPC_STUB IIcadView_get_Height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadView_put_Height_Proxy( 
    IIcadView __RPC_FAR * This,
    /* [in] */ double Height);


void __RPC_STUB IIcadView_put_Height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadView_get_LensLength_Proxy( 
    IIcadView __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pLensLength);


void __RPC_STUB IIcadView_get_LensLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadView_get_Target_Proxy( 
    IIcadView __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppTarget);


void __RPC_STUB IIcadView_get_Target_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadView_put_Target_Proxy( 
    IIcadView __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Target);


void __RPC_STUB IIcadView_put_Target_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadView_get_Width_Proxy( 
    IIcadView __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pWidth);


void __RPC_STUB IIcadView_get_Width_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadView_put_Width_Proxy( 
    IIcadView __RPC_FAR * This,
    /* [in] */ double Width);


void __RPC_STUB IIcadView_put_Width_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadView_INTERFACE_DEFINED__ */


#ifndef __IIcadViews_INTERFACE_DEFINED__
#define __IIcadViews_INTERFACE_DEFINED__

/* interface IIcadViews */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadViews;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c132-7e36-11d1-bc5a-0060089608a4")
    IIcadViews : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long __RPC_FAR *pCount) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ IIcadView __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadView __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadViewsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadViews __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadViews __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadViews __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadViews __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadViews __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadViews __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadViews __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadViews __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
            IIcadViews __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadViews __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
            IIcadViews __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            IIcadViews __RPC_FAR * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IIcadView __RPC_FAR *__RPC_FAR *ppItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
            IIcadViews __RPC_FAR * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadView __RPC_FAR *__RPC_FAR *ppItem);
        
        END_INTERFACE
    } IIcadViewsVtbl;

    interface IIcadViews
    {
        CONST_VTBL struct IIcadViewsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadViews_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadViews_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadViews_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadViews_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadViews_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadViews_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadViews_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadViews_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadViews_get_Count(This,pCount)	\
    (This)->lpVtbl -> get_Count(This,pCount)

#define IIcadViews_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadViews_get__NewEnum(This,ppUnk)	\
    (This)->lpVtbl -> get__NewEnum(This,ppUnk)

#define IIcadViews_Add(This,Name,ppItem)	\
    (This)->lpVtbl -> Add(This,Name,ppItem)

#define IIcadViews_Item(This,Index,ppItem)	\
    (This)->lpVtbl -> Item(This,Index,ppItem)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadViews_get_Application_Proxy( 
    IIcadViews __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadViews_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadViews_get_Count_Proxy( 
    IIcadViews __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pCount);


void __RPC_STUB IIcadViews_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadViews_get_Parent_Proxy( 
    IIcadViews __RPC_FAR * This,
    /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadViews_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE IIcadViews_get__NewEnum_Proxy( 
    IIcadViews __RPC_FAR * This,
    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);


void __RPC_STUB IIcadViews_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadViews_Add_Proxy( 
    IIcadViews __RPC_FAR * This,
    /* [in] */ BSTR Name,
    /* [retval][out] */ IIcadView __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadViews_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadViews_Item_Proxy( 
    IIcadViews __RPC_FAR * This,
    /* [in] */ VARIANT Index,
    /* [retval][out] */ IIcadView __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadViews_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadViews_INTERFACE_DEFINED__ */


#ifndef __IIcadViewport_INTERFACE_DEFINED__
#define __IIcadViewport_INTERFACE_DEFINED__

/* interface IIcadViewport */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadViewport;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c133-7e36-11d1-bc5a-0060089608a4")
    IIcadViewport : public IIcadTableItem
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Center( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppCenter) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Center( 
            /* [in] */ IIcadPoint __RPC_FAR *Center) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Direction( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppNormal) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Direction( 
            /* [in] */ IIcadVector __RPC_FAR *Normal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_GridOn( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pGridOn) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_GridOn( 
            /* [in] */ VARIANT_BOOL GridOn) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double __RPC_FAR *pHeight) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double Height) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LowerLeftCorner( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppLowerLeftCorner) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LowerLeftCorner( 
            /* [in] */ IIcadPoint __RPC_FAR *LowerLeftCorner) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_OrthoOn( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pOrthoOn) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_OrthoOn( 
            /* [in] */ VARIANT_BOOL OrthoOn) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SnapBasePoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppSnapBasePoint) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SnapBasePoint( 
            /* [in] */ IIcadPoint __RPC_FAR *SnapBasePoint) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SnapOn( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pSnapOn) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SnapOn( 
            /* [in] */ VARIANT_BOOL SnapOn) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SnapRotationAngle( 
            /* [retval][out] */ double __RPC_FAR *pAngle) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SnapRotationAngle( 
            /* [in] */ double Angle) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Target( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppTarget) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Target( 
            /* [in] */ IIcadPoint __RPC_FAR *Target) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_UCSIconAtOrigin( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pIcon) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UCSIconAtOrigin( 
            /* [in] */ VARIANT_BOOL Icon) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_UCSIconOn( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pIcon) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UCSIconOn( 
            /* [in] */ VARIANT_BOOL Icon) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_UpperRightCorner( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppUpperRightCorner) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UpperRightCorner( 
            /* [in] */ IIcadPoint __RPC_FAR *UpperRightCorner) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ double __RPC_FAR *pWidth) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ double Width) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetGridSpacing( 
            /* [out][in] */ double __RPC_FAR *Xspacing,
            /* [out][in] */ double __RPC_FAR *Yspacing) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSnapSpacing( 
            /* [out][in] */ double __RPC_FAR *Xspacing,
            /* [out][in] */ double __RPC_FAR *Yspacing) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetGridSpacing( 
            /* [in] */ double Xspacing,
            /* [in] */ double Yspacing) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetSnapSpacing( 
            /* [in] */ double Xspacing,
            /* [in] */ double Yspacing) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetView( 
            /* [in] */ IIcadView __RPC_FAR *View) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Split( 
            /* [in] */ ViewportSplitType NumberOfWindows) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ZoomAll( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ZoomCenter( 
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double ZoomFactor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ZoomExtents( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ZoomPickWindow( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ZoomScaled( 
            /* [in] */ double Scale,
            /* [in] */ ZoomScale ScaleType) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ZoomWindow( 
            /* [in] */ IIcadPoint __RPC_FAR *Lowerleft,
            /* [in] */ IIcadPoint __RPC_FAR *UpperRight) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadViewportVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadViewport __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadViewport __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadViewport __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadViewport __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadViewport __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadViewport __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadViewport __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadViewport __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadViewport __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            IIcadViewport __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ BSTR Name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Center )( 
            IIcadViewport __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppCenter);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Center )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Direction )( 
            IIcadViewport __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppNormal);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Direction )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *Normal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_GridOn )( 
            IIcadViewport __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pGridOn);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_GridOn )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL GridOn);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Height )( 
            IIcadViewport __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pHeight);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Height )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ double Height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LowerLeftCorner )( 
            IIcadViewport __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppLowerLeftCorner);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LowerLeftCorner )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *LowerLeftCorner);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_OrthoOn )( 
            IIcadViewport __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pOrthoOn);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_OrthoOn )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL OrthoOn);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SnapBasePoint )( 
            IIcadViewport __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppSnapBasePoint);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SnapBasePoint )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *SnapBasePoint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SnapOn )( 
            IIcadViewport __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pSnapOn);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SnapOn )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL SnapOn);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SnapRotationAngle )( 
            IIcadViewport __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pAngle);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SnapRotationAngle )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ double Angle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Target )( 
            IIcadViewport __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppTarget);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Target )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Target);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UCSIconAtOrigin )( 
            IIcadViewport __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pIcon);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_UCSIconAtOrigin )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Icon);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UCSIconOn )( 
            IIcadViewport __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pIcon);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_UCSIconOn )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Icon);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UpperRightCorner )( 
            IIcadViewport __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppUpperRightCorner);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_UpperRightCorner )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *UpperRightCorner);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Width )( 
            IIcadViewport __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pWidth);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Width )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ double Width);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetGridSpacing )( 
            IIcadViewport __RPC_FAR * This,
            /* [out][in] */ double __RPC_FAR *Xspacing,
            /* [out][in] */ double __RPC_FAR *Yspacing);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSnapSpacing )( 
            IIcadViewport __RPC_FAR * This,
            /* [out][in] */ double __RPC_FAR *Xspacing,
            /* [out][in] */ double __RPC_FAR *Yspacing);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetGridSpacing )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ double Xspacing,
            /* [in] */ double Yspacing);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSnapSpacing )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ double Xspacing,
            /* [in] */ double Yspacing);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetView )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ IIcadView __RPC_FAR *View);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Split )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ ViewportSplitType NumberOfWindows);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ZoomAll )( 
            IIcadViewport __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ZoomCenter )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double ZoomFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ZoomExtents )( 
            IIcadViewport __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ZoomPickWindow )( 
            IIcadViewport __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ZoomScaled )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ double Scale,
            /* [in] */ ZoomScale ScaleType);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ZoomWindow )( 
            IIcadViewport __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Lowerleft,
            /* [in] */ IIcadPoint __RPC_FAR *UpperRight);
        
        END_INTERFACE
    } IIcadViewportVtbl;

    interface IIcadViewport
    {
        CONST_VTBL struct IIcadViewportVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadViewport_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadViewport_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadViewport_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadViewport_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadViewport_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadViewport_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadViewport_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadViewport_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadViewport_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadViewport_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadViewport_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadViewport__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadViewport_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadViewport_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadViewport_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadViewport_get_Name(This,pstrName)	\
    (This)->lpVtbl -> get_Name(This,pstrName)

#define IIcadViewport_put_Name(This,Name)	\
    (This)->lpVtbl -> put_Name(This,Name)


#define IIcadViewport_get_Center(This,ppCenter)	\
    (This)->lpVtbl -> get_Center(This,ppCenter)

#define IIcadViewport_put_Center(This,Center)	\
    (This)->lpVtbl -> put_Center(This,Center)

#define IIcadViewport_get_Direction(This,ppNormal)	\
    (This)->lpVtbl -> get_Direction(This,ppNormal)

#define IIcadViewport_put_Direction(This,Normal)	\
    (This)->lpVtbl -> put_Direction(This,Normal)

#define IIcadViewport_get_GridOn(This,pGridOn)	\
    (This)->lpVtbl -> get_GridOn(This,pGridOn)

#define IIcadViewport_put_GridOn(This,GridOn)	\
    (This)->lpVtbl -> put_GridOn(This,GridOn)

#define IIcadViewport_get_Height(This,pHeight)	\
    (This)->lpVtbl -> get_Height(This,pHeight)

#define IIcadViewport_put_Height(This,Height)	\
    (This)->lpVtbl -> put_Height(This,Height)

#define IIcadViewport_get_LowerLeftCorner(This,ppLowerLeftCorner)	\
    (This)->lpVtbl -> get_LowerLeftCorner(This,ppLowerLeftCorner)

#define IIcadViewport_put_LowerLeftCorner(This,LowerLeftCorner)	\
    (This)->lpVtbl -> put_LowerLeftCorner(This,LowerLeftCorner)

#define IIcadViewport_get_OrthoOn(This,pOrthoOn)	\
    (This)->lpVtbl -> get_OrthoOn(This,pOrthoOn)

#define IIcadViewport_put_OrthoOn(This,OrthoOn)	\
    (This)->lpVtbl -> put_OrthoOn(This,OrthoOn)

#define IIcadViewport_get_SnapBasePoint(This,ppSnapBasePoint)	\
    (This)->lpVtbl -> get_SnapBasePoint(This,ppSnapBasePoint)

#define IIcadViewport_put_SnapBasePoint(This,SnapBasePoint)	\
    (This)->lpVtbl -> put_SnapBasePoint(This,SnapBasePoint)

#define IIcadViewport_get_SnapOn(This,pSnapOn)	\
    (This)->lpVtbl -> get_SnapOn(This,pSnapOn)

#define IIcadViewport_put_SnapOn(This,SnapOn)	\
    (This)->lpVtbl -> put_SnapOn(This,SnapOn)

#define IIcadViewport_get_SnapRotationAngle(This,pAngle)	\
    (This)->lpVtbl -> get_SnapRotationAngle(This,pAngle)

#define IIcadViewport_put_SnapRotationAngle(This,Angle)	\
    (This)->lpVtbl -> put_SnapRotationAngle(This,Angle)

#define IIcadViewport_get_Target(This,ppTarget)	\
    (This)->lpVtbl -> get_Target(This,ppTarget)

#define IIcadViewport_put_Target(This,Target)	\
    (This)->lpVtbl -> put_Target(This,Target)

#define IIcadViewport_get_UCSIconAtOrigin(This,pIcon)	\
    (This)->lpVtbl -> get_UCSIconAtOrigin(This,pIcon)

#define IIcadViewport_put_UCSIconAtOrigin(This,Icon)	\
    (This)->lpVtbl -> put_UCSIconAtOrigin(This,Icon)

#define IIcadViewport_get_UCSIconOn(This,pIcon)	\
    (This)->lpVtbl -> get_UCSIconOn(This,pIcon)

#define IIcadViewport_put_UCSIconOn(This,Icon)	\
    (This)->lpVtbl -> put_UCSIconOn(This,Icon)

#define IIcadViewport_get_UpperRightCorner(This,ppUpperRightCorner)	\
    (This)->lpVtbl -> get_UpperRightCorner(This,ppUpperRightCorner)

#define IIcadViewport_put_UpperRightCorner(This,UpperRightCorner)	\
    (This)->lpVtbl -> put_UpperRightCorner(This,UpperRightCorner)

#define IIcadViewport_get_Width(This,pWidth)	\
    (This)->lpVtbl -> get_Width(This,pWidth)

#define IIcadViewport_put_Width(This,Width)	\
    (This)->lpVtbl -> put_Width(This,Width)

#define IIcadViewport_GetGridSpacing(This,Xspacing,Yspacing)	\
    (This)->lpVtbl -> GetGridSpacing(This,Xspacing,Yspacing)

#define IIcadViewport_GetSnapSpacing(This,Xspacing,Yspacing)	\
    (This)->lpVtbl -> GetSnapSpacing(This,Xspacing,Yspacing)

#define IIcadViewport_SetGridSpacing(This,Xspacing,Yspacing)	\
    (This)->lpVtbl -> SetGridSpacing(This,Xspacing,Yspacing)

#define IIcadViewport_SetSnapSpacing(This,Xspacing,Yspacing)	\
    (This)->lpVtbl -> SetSnapSpacing(This,Xspacing,Yspacing)

#define IIcadViewport_SetView(This,View)	\
    (This)->lpVtbl -> SetView(This,View)

#define IIcadViewport_Split(This,NumberOfWindows)	\
    (This)->lpVtbl -> Split(This,NumberOfWindows)

#define IIcadViewport_ZoomAll(This)	\
    (This)->lpVtbl -> ZoomAll(This)

#define IIcadViewport_ZoomCenter(This,Center,ZoomFactor)	\
    (This)->lpVtbl -> ZoomCenter(This,Center,ZoomFactor)

#define IIcadViewport_ZoomExtents(This)	\
    (This)->lpVtbl -> ZoomExtents(This)

#define IIcadViewport_ZoomPickWindow(This)	\
    (This)->lpVtbl -> ZoomPickWindow(This)

#define IIcadViewport_ZoomScaled(This,Scale,ScaleType)	\
    (This)->lpVtbl -> ZoomScaled(This,Scale,ScaleType)

#define IIcadViewport_ZoomWindow(This,Lowerleft,UpperRight)	\
    (This)->lpVtbl -> ZoomWindow(This,Lowerleft,UpperRight)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadViewport_get_Center_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppCenter);


void __RPC_STUB IIcadViewport_get_Center_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadViewport_put_Center_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Center);


void __RPC_STUB IIcadViewport_put_Center_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadViewport_get_Direction_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppNormal);


void __RPC_STUB IIcadViewport_get_Direction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadViewport_put_Direction_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *Normal);


void __RPC_STUB IIcadViewport_put_Direction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadViewport_get_GridOn_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pGridOn);


void __RPC_STUB IIcadViewport_get_GridOn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadViewport_put_GridOn_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL GridOn);


void __RPC_STUB IIcadViewport_put_GridOn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadViewport_get_Height_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pHeight);


void __RPC_STUB IIcadViewport_get_Height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadViewport_put_Height_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [in] */ double Height);


void __RPC_STUB IIcadViewport_put_Height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadViewport_get_LowerLeftCorner_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppLowerLeftCorner);


void __RPC_STUB IIcadViewport_get_LowerLeftCorner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadViewport_put_LowerLeftCorner_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *LowerLeftCorner);


void __RPC_STUB IIcadViewport_put_LowerLeftCorner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadViewport_get_OrthoOn_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pOrthoOn);


void __RPC_STUB IIcadViewport_get_OrthoOn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadViewport_put_OrthoOn_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL OrthoOn);


void __RPC_STUB IIcadViewport_put_OrthoOn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadViewport_get_SnapBasePoint_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppSnapBasePoint);


void __RPC_STUB IIcadViewport_get_SnapBasePoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadViewport_put_SnapBasePoint_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *SnapBasePoint);


void __RPC_STUB IIcadViewport_put_SnapBasePoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadViewport_get_SnapOn_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pSnapOn);


void __RPC_STUB IIcadViewport_get_SnapOn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadViewport_put_SnapOn_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL SnapOn);


void __RPC_STUB IIcadViewport_put_SnapOn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadViewport_get_SnapRotationAngle_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pAngle);


void __RPC_STUB IIcadViewport_get_SnapRotationAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadViewport_put_SnapRotationAngle_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [in] */ double Angle);


void __RPC_STUB IIcadViewport_put_SnapRotationAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadViewport_get_Target_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppTarget);


void __RPC_STUB IIcadViewport_get_Target_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadViewport_put_Target_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Target);


void __RPC_STUB IIcadViewport_put_Target_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadViewport_get_UCSIconAtOrigin_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pIcon);


void __RPC_STUB IIcadViewport_get_UCSIconAtOrigin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadViewport_put_UCSIconAtOrigin_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Icon);


void __RPC_STUB IIcadViewport_put_UCSIconAtOrigin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadViewport_get_UCSIconOn_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pIcon);


void __RPC_STUB IIcadViewport_get_UCSIconOn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadViewport_put_UCSIconOn_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Icon);


void __RPC_STUB IIcadViewport_put_UCSIconOn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadViewport_get_UpperRightCorner_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppUpperRightCorner);


void __RPC_STUB IIcadViewport_get_UpperRightCorner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadViewport_put_UpperRightCorner_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *UpperRightCorner);


void __RPC_STUB IIcadViewport_put_UpperRightCorner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadViewport_get_Width_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pWidth);


void __RPC_STUB IIcadViewport_get_Width_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadViewport_put_Width_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [in] */ double Width);


void __RPC_STUB IIcadViewport_put_Width_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadViewport_GetGridSpacing_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [out][in] */ double __RPC_FAR *Xspacing,
    /* [out][in] */ double __RPC_FAR *Yspacing);


void __RPC_STUB IIcadViewport_GetGridSpacing_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadViewport_GetSnapSpacing_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [out][in] */ double __RPC_FAR *Xspacing,
    /* [out][in] */ double __RPC_FAR *Yspacing);


void __RPC_STUB IIcadViewport_GetSnapSpacing_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadViewport_SetGridSpacing_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [in] */ double Xspacing,
    /* [in] */ double Yspacing);


void __RPC_STUB IIcadViewport_SetGridSpacing_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadViewport_SetSnapSpacing_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [in] */ double Xspacing,
    /* [in] */ double Yspacing);


void __RPC_STUB IIcadViewport_SetSnapSpacing_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadViewport_SetView_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [in] */ IIcadView __RPC_FAR *View);


void __RPC_STUB IIcadViewport_SetView_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadViewport_Split_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [in] */ ViewportSplitType NumberOfWindows);


void __RPC_STUB IIcadViewport_Split_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadViewport_ZoomAll_Proxy( 
    IIcadViewport __RPC_FAR * This);


void __RPC_STUB IIcadViewport_ZoomAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadViewport_ZoomCenter_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Center,
    /* [in] */ double ZoomFactor);


void __RPC_STUB IIcadViewport_ZoomCenter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadViewport_ZoomExtents_Proxy( 
    IIcadViewport __RPC_FAR * This);


void __RPC_STUB IIcadViewport_ZoomExtents_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadViewport_ZoomPickWindow_Proxy( 
    IIcadViewport __RPC_FAR * This);


void __RPC_STUB IIcadViewport_ZoomPickWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadViewport_ZoomScaled_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [in] */ double Scale,
    /* [in] */ ZoomScale ScaleType);


void __RPC_STUB IIcadViewport_ZoomScaled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadViewport_ZoomWindow_Proxy( 
    IIcadViewport __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Lowerleft,
    /* [in] */ IIcadPoint __RPC_FAR *UpperRight);


void __RPC_STUB IIcadViewport_ZoomWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadViewport_INTERFACE_DEFINED__ */


#ifndef __IIcadViewports_INTERFACE_DEFINED__
#define __IIcadViewports_INTERFACE_DEFINED__

/* interface IIcadViewports */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadViewports;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c134-7e36-11d1-bc5a-0060089608a4")
    IIcadViewports : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long __RPC_FAR *pCount) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ IIcadViewport __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadViewport __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadViewportsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadViewports __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadViewports __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadViewports __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadViewports __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadViewports __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadViewports __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadViewports __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadViewports __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
            IIcadViewports __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadViewports __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
            IIcadViewports __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            IIcadViewports __RPC_FAR * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IIcadViewport __RPC_FAR *__RPC_FAR *ppItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
            IIcadViewports __RPC_FAR * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadViewport __RPC_FAR *__RPC_FAR *ppItem);
        
        END_INTERFACE
    } IIcadViewportsVtbl;

    interface IIcadViewports
    {
        CONST_VTBL struct IIcadViewportsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadViewports_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadViewports_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadViewports_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadViewports_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadViewports_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadViewports_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadViewports_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadViewports_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadViewports_get_Count(This,pCount)	\
    (This)->lpVtbl -> get_Count(This,pCount)

#define IIcadViewports_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadViewports_get__NewEnum(This,ppUnk)	\
    (This)->lpVtbl -> get__NewEnum(This,ppUnk)

#define IIcadViewports_Add(This,Name,ppItem)	\
    (This)->lpVtbl -> Add(This,Name,ppItem)

#define IIcadViewports_Item(This,Index,ppItem)	\
    (This)->lpVtbl -> Item(This,Index,ppItem)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadViewports_get_Application_Proxy( 
    IIcadViewports __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadViewports_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadViewports_get_Count_Proxy( 
    IIcadViewports __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pCount);


void __RPC_STUB IIcadViewports_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadViewports_get_Parent_Proxy( 
    IIcadViewports __RPC_FAR * This,
    /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadViewports_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE IIcadViewports_get__NewEnum_Proxy( 
    IIcadViewports __RPC_FAR * This,
    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);


void __RPC_STUB IIcadViewports_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadViewports_Add_Proxy( 
    IIcadViewports __RPC_FAR * This,
    /* [in] */ BSTR Name,
    /* [retval][out] */ IIcadViewport __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadViewports_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadViewports_Item_Proxy( 
    IIcadViewports __RPC_FAR * This,
    /* [in] */ VARIANT Index,
    /* [retval][out] */ IIcadViewport __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadViewports_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadViewports_INTERFACE_DEFINED__ */


#ifndef __IIcadSelectionSet_INTERFACE_DEFINED__
#define __IIcadSelectionSet_INTERFACE_DEFINED__

/* interface IIcadSelectionSet */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadSelectionSet;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c10a-7e36-11d1-bc5a-0060089608a4")
    IIcadSelectionSet : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long __RPC_FAR *pCount) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Document( 
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR __RPC_FAR *pstrName) = 0;
        
        virtual /* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadSelectionSets __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Color( 
            /* [retval][out] */ Colors __RPC_FAR *pColor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Color( 
            /* [in] */ Colors Color) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Layer( 
            /* [retval][out] */ BSTR __RPC_FAR *pLayer) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Layer( 
            /* [in] */ BSTR Layer) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Linetype( 
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Linetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ VARIANT_BOOL Visible) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddItems( 
            /* [in] */ VARIANT ArrayOfEntities) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Erase( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Highlight( 
            /* [in] */ VARIANT_BOOL HighlightFlag) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ long Index,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveItems( 
            /* [in] */ VARIANT Entities) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Select( 
            /* [in] */ SelectionSetType Type,
            /* [optional][in] */ IIcadPoint __RPC_FAR *Point1,
            /* [optional][in] */ IIcadPoint __RPC_FAR *Point2,
            /* [optional][in] */ VARIANT FilterType,
            /* [optional][in] */ VARIANT FilterData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SelectAtPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *Point,
            /* [optional][in] */ VARIANT FilterType,
            /* [optional][in] */ VARIANT FilterData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SelectByPolygon( 
            /* [in] */ SelectionSetType Type,
            /* [in] */ IIcadPoints __RPC_FAR *PolygonPoints,
            /* [optional][in] */ VARIANT FilterType,
            /* [optional][in] */ VARIANT FilterData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SelectOnScreen( 
            /* [optional][in] */ VARIANT FilterType,
            /* [optional][in] */ VARIANT FilterData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Update( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Copy( 
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppCopy) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Mirror( 
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *MirroredEntities) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Mirror3D( 
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *MirroredEntities) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Move( 
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Rotate( 
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Rotate3D( 
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ScaleEntity( 
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE TransformBy( 
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadSelectionSetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadSelectionSet __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadSelectionSet __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrName);
        
        /* [id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [retval][out] */ IIcadSelectionSets __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddItems )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [in] */ VARIANT ArrayOfEntities);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clear )( 
            IIcadSelectionSet __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadSelectionSet __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadSelectionSet __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [in] */ long Index,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveItems )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [in] */ VARIANT Entities);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Select )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [in] */ SelectionSetType Type,
            /* [optional][in] */ IIcadPoint __RPC_FAR *Point1,
            /* [optional][in] */ IIcadPoint __RPC_FAR *Point2,
            /* [optional][in] */ VARIANT FilterType,
            /* [optional][in] */ VARIANT FilterData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SelectAtPoint )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point,
            /* [optional][in] */ VARIANT FilterType,
            /* [optional][in] */ VARIANT FilterData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SelectByPolygon )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [in] */ SelectionSetType Type,
            /* [in] */ IIcadPoints __RPC_FAR *PolygonPoints,
            /* [optional][in] */ VARIANT FilterType,
            /* [optional][in] */ VARIANT FilterData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SelectOnScreen )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [optional][in] */ VARIANT FilterType,
            /* [optional][in] */ VARIANT FilterData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadSelectionSet __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *MirroredEntities);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *MirroredEntities);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadSelectionSet __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        END_INTERFACE
    } IIcadSelectionSetVtbl;

    interface IIcadSelectionSet
    {
        CONST_VTBL struct IIcadSelectionSetVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadSelectionSet_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadSelectionSet_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadSelectionSet_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadSelectionSet_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadSelectionSet_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadSelectionSet_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadSelectionSet_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadSelectionSet_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadSelectionSet_get_Count(This,pCount)	\
    (This)->lpVtbl -> get_Count(This,pCount)

#define IIcadSelectionSet_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadSelectionSet_get_Name(This,pstrName)	\
    (This)->lpVtbl -> get_Name(This,pstrName)

#define IIcadSelectionSet_get__NewEnum(This,ppUnk)	\
    (This)->lpVtbl -> get__NewEnum(This,ppUnk)

#define IIcadSelectionSet_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadSelectionSet_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadSelectionSet_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadSelectionSet_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadSelectionSet_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadSelectionSet_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadSelectionSet_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadSelectionSet_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadSelectionSet_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadSelectionSet_AddItems(This,ArrayOfEntities)	\
    (This)->lpVtbl -> AddItems(This,ArrayOfEntities)

#define IIcadSelectionSet_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IIcadSelectionSet_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IIcadSelectionSet_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadSelectionSet_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadSelectionSet_Item(This,Index,ppItem)	\
    (This)->lpVtbl -> Item(This,Index,ppItem)

#define IIcadSelectionSet_RemoveItems(This,Entities)	\
    (This)->lpVtbl -> RemoveItems(This,Entities)

#define IIcadSelectionSet_Select(This,Type,Point1,Point2,FilterType,FilterData)	\
    (This)->lpVtbl -> Select(This,Type,Point1,Point2,FilterType,FilterData)

#define IIcadSelectionSet_SelectAtPoint(This,Point,FilterType,FilterData)	\
    (This)->lpVtbl -> SelectAtPoint(This,Point,FilterType,FilterData)

#define IIcadSelectionSet_SelectByPolygon(This,Type,PolygonPoints,FilterType,FilterData)	\
    (This)->lpVtbl -> SelectByPolygon(This,Type,PolygonPoints,FilterType,FilterData)

#define IIcadSelectionSet_SelectOnScreen(This,FilterType,FilterData)	\
    (This)->lpVtbl -> SelectOnScreen(This,FilterType,FilterData)

#define IIcadSelectionSet_Update(This)	\
    (This)->lpVtbl -> Update(This)

#define IIcadSelectionSet_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadSelectionSet_Mirror(This,Point1,Point2,MakeCopy,MirroredEntities)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntities)

#define IIcadSelectionSet_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntities)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntities)

#define IIcadSelectionSet_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadSelectionSet_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadSelectionSet_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadSelectionSet_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadSelectionSet_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_get_Application_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadSelectionSet_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_get_Count_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pCount);


void __RPC_STUB IIcadSelectionSet_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_get_Document_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);


void __RPC_STUB IIcadSelectionSet_get_Document_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_get_Name_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pstrName);


void __RPC_STUB IIcadSelectionSet_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_get__NewEnum_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);


void __RPC_STUB IIcadSelectionSet_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_get_Parent_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [retval][out] */ IIcadSelectionSets __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadSelectionSet_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_get_Color_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [retval][out] */ Colors __RPC_FAR *pColor);


void __RPC_STUB IIcadSelectionSet_get_Color_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_put_Color_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [in] */ Colors Color);


void __RPC_STUB IIcadSelectionSet_put_Color_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_get_Layer_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pLayer);


void __RPC_STUB IIcadSelectionSet_get_Layer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_put_Layer_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [in] */ BSTR Layer);


void __RPC_STUB IIcadSelectionSet_put_Layer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_get_Linetype_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pLinetype);


void __RPC_STUB IIcadSelectionSet_get_Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_put_Linetype_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [in] */ BSTR Linetype);


void __RPC_STUB IIcadSelectionSet_put_Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_get_Visible_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);


void __RPC_STUB IIcadSelectionSet_get_Visible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_put_Visible_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Visible);


void __RPC_STUB IIcadSelectionSet_put_Visible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_AddItems_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [in] */ VARIANT ArrayOfEntities);


void __RPC_STUB IIcadSelectionSet_AddItems_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_Clear_Proxy( 
    IIcadSelectionSet __RPC_FAR * This);


void __RPC_STUB IIcadSelectionSet_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_Delete_Proxy( 
    IIcadSelectionSet __RPC_FAR * This);


void __RPC_STUB IIcadSelectionSet_Delete_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_Erase_Proxy( 
    IIcadSelectionSet __RPC_FAR * This);


void __RPC_STUB IIcadSelectionSet_Erase_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_Highlight_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL HighlightFlag);


void __RPC_STUB IIcadSelectionSet_Highlight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_Item_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [in] */ long Index,
    /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadSelectionSet_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_RemoveItems_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [in] */ VARIANT Entities);


void __RPC_STUB IIcadSelectionSet_RemoveItems_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_Select_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [in] */ SelectionSetType Type,
    /* [optional][in] */ IIcadPoint __RPC_FAR *Point1,
    /* [optional][in] */ IIcadPoint __RPC_FAR *Point2,
    /* [optional][in] */ VARIANT FilterType,
    /* [optional][in] */ VARIANT FilterData);


void __RPC_STUB IIcadSelectionSet_Select_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_SelectAtPoint_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point,
    /* [optional][in] */ VARIANT FilterType,
    /* [optional][in] */ VARIANT FilterData);


void __RPC_STUB IIcadSelectionSet_SelectAtPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_SelectByPolygon_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [in] */ SelectionSetType Type,
    /* [in] */ IIcadPoints __RPC_FAR *PolygonPoints,
    /* [optional][in] */ VARIANT FilterType,
    /* [optional][in] */ VARIANT FilterData);


void __RPC_STUB IIcadSelectionSet_SelectByPolygon_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_SelectOnScreen_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [optional][in] */ VARIANT FilterType,
    /* [optional][in] */ VARIANT FilterData);


void __RPC_STUB IIcadSelectionSet_SelectOnScreen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_Update_Proxy( 
    IIcadSelectionSet __RPC_FAR * This);


void __RPC_STUB IIcadSelectionSet_Update_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_Copy_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppCopy);


void __RPC_STUB IIcadSelectionSet_Copy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_Mirror_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point1,
    /* [in] */ IIcadPoint __RPC_FAR *Point2,
    /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *MirroredEntities);


void __RPC_STUB IIcadSelectionSet_Mirror_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_Mirror3D_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point1,
    /* [in] */ IIcadPoint __RPC_FAR *Point2,
    /* [in] */ IIcadPoint __RPC_FAR *Point3,
    /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *MirroredEntities);


void __RPC_STUB IIcadSelectionSet_Mirror3D_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_Move_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point1,
    /* [in] */ IIcadPoint __RPC_FAR *Point2);


void __RPC_STUB IIcadSelectionSet_Move_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_Rotate_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
    /* [in] */ double RotationAngle);


void __RPC_STUB IIcadSelectionSet_Rotate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_Rotate3D_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point1,
    /* [in] */ IIcadPoint __RPC_FAR *Point2,
    /* [in] */ double RotationAngle);


void __RPC_STUB IIcadSelectionSet_Rotate3D_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_ScaleEntity_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
    /* [in] */ double ScaleFactor);


void __RPC_STUB IIcadSelectionSet_ScaleEntity_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSet_TransformBy_Proxy( 
    IIcadSelectionSet __RPC_FAR * This,
    /* [in] */ IIcadMatrix __RPC_FAR *Matrix);


void __RPC_STUB IIcadSelectionSet_TransformBy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadSelectionSet_INTERFACE_DEFINED__ */


#ifndef __IIcadSelectionSets_INTERFACE_DEFINED__
#define __IIcadSelectionSets_INTERFACE_DEFINED__

/* interface IIcadSelectionSets */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadSelectionSets;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c10b-7e36-11d1-bc5a-0060089608a4")
    IIcadSelectionSets : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long __RPC_FAR *pCount) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadSelectionSetsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadSelectionSets __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadSelectionSets __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadSelectionSets __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadSelectionSets __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadSelectionSets __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadSelectionSets __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadSelectionSets __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadSelectionSets __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
            IIcadSelectionSets __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadSelectionSets __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
            IIcadSelectionSets __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            IIcadSelectionSets __RPC_FAR * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
            IIcadSelectionSets __RPC_FAR * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppItem);
        
        END_INTERFACE
    } IIcadSelectionSetsVtbl;

    interface IIcadSelectionSets
    {
        CONST_VTBL struct IIcadSelectionSetsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadSelectionSets_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadSelectionSets_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadSelectionSets_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadSelectionSets_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadSelectionSets_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadSelectionSets_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadSelectionSets_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadSelectionSets_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadSelectionSets_get_Count(This,pCount)	\
    (This)->lpVtbl -> get_Count(This,pCount)

#define IIcadSelectionSets_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadSelectionSets_get__NewEnum(This,ppUnk)	\
    (This)->lpVtbl -> get__NewEnum(This,ppUnk)

#define IIcadSelectionSets_Add(This,Name,ppItem)	\
    (This)->lpVtbl -> Add(This,Name,ppItem)

#define IIcadSelectionSets_Item(This,Index,ppItem)	\
    (This)->lpVtbl -> Item(This,Index,ppItem)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSets_get_Application_Proxy( 
    IIcadSelectionSets __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadSelectionSets_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSets_get_Count_Proxy( 
    IIcadSelectionSets __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pCount);


void __RPC_STUB IIcadSelectionSets_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSets_get_Parent_Proxy( 
    IIcadSelectionSets __RPC_FAR * This,
    /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadSelectionSets_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSets_get__NewEnum_Proxy( 
    IIcadSelectionSets __RPC_FAR * This,
    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);


void __RPC_STUB IIcadSelectionSets_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSets_Add_Proxy( 
    IIcadSelectionSets __RPC_FAR * This,
    /* [in] */ BSTR Name,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadSelectionSets_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadSelectionSets_Item_Proxy( 
    IIcadSelectionSets __RPC_FAR * This,
    /* [in] */ VARIANT Index,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadSelectionSets_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadSelectionSets_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_Icad_0249 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_Icad_0249_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_Icad_0249_v0_0_s_ifspec;

#ifndef __IIcadEntity_INTERFACE_DEFINED__
#define __IIcadEntity_INTERFACE_DEFINED__

/* interface IIcadEntity */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadEntity;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c18f-7e36-11d1-bc5a-0060089608a4")
    IIcadEntity : public IIcadDbItem
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Color( 
            /* [retval][out] */ Colors __RPC_FAR *pColor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Color( 
            /* [in] */ Colors Color) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EntityName( 
            /* [retval][out] */ BSTR __RPC_FAR *pEntName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EntityType( 
            /* [retval][out] */ EntityType __RPC_FAR *pType) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Layer( 
            /* [retval][out] */ BSTR __RPC_FAR *pLayer) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Layer( 
            /* [in] */ BSTR Layer) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Linetype( 
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Linetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LinetypeScale( 
            /* [retval][out] */ double __RPC_FAR *LinetypeScale) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LinetypeScale( 
            /* [in] */ double LinetypeScale) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ VARIANT_BOOL Visible) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ArrayPolar( 
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ArrayRectangular( 
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Copy( 
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Erase( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBoundingBox( 
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Highlight( 
            /* [in] */ VARIANT_BOOL HighlightFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IntersectWith( 
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Mirror( 
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Mirror3D( 
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Move( 
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Rotate( 
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Rotate3D( 
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ScaleEntity( 
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE TransformBy( 
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Update( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadEntityVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadEntity __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadEntity __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadEntity __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadEntity __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadEntity __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadEntity __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadEntity __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadEntity __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadEntity __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadEntity __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadEntity __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadEntity __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadEntity __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadEntity __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadEntity __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadEntity __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadEntity __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadEntity __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadEntity __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadEntity __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadEntity __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadEntity __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadEntity __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadEntity __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadEntity __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadEntity __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadEntity __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadEntity __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadEntity __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadEntity __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadEntity __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadEntity __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadEntity __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadEntity __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadEntity __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadEntity __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadEntity __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadEntity __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadEntity __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadEntity __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadEntity __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadEntity __RPC_FAR * This);
        
        END_INTERFACE
    } IIcadEntityVtbl;

    interface IIcadEntity
    {
        CONST_VTBL struct IIcadEntityVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadEntity_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadEntity_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadEntity_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadEntity_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadEntity_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadEntity_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadEntity_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadEntity_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadEntity_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadEntity_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadEntity_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadEntity__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadEntity_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadEntity_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadEntity_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadEntity_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadEntity_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadEntity_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadEntity_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadEntity_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadEntity_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadEntity_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadEntity_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadEntity_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadEntity_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadEntity_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadEntity_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadEntity_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadEntity_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadEntity_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadEntity_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadEntity_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadEntity_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadEntity_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadEntity_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadEntity_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadEntity_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadEntity_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadEntity_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadEntity_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadEntity_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadEntity_Update(This)	\
    (This)->lpVtbl -> Update(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEntity_get_Color_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [retval][out] */ Colors __RPC_FAR *pColor);


void __RPC_STUB IIcadEntity_get_Color_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadEntity_put_Color_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [in] */ Colors Color);


void __RPC_STUB IIcadEntity_put_Color_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEntity_get_EntityName_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pEntName);


void __RPC_STUB IIcadEntity_get_EntityName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEntity_get_EntityType_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [retval][out] */ EntityType __RPC_FAR *pType);


void __RPC_STUB IIcadEntity_get_EntityType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEntity_get_Layer_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pLayer);


void __RPC_STUB IIcadEntity_get_Layer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadEntity_put_Layer_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [in] */ BSTR Layer);


void __RPC_STUB IIcadEntity_put_Layer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEntity_get_Linetype_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pLinetype);


void __RPC_STUB IIcadEntity_get_Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadEntity_put_Linetype_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [in] */ BSTR Linetype);


void __RPC_STUB IIcadEntity_put_Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEntity_get_LinetypeScale_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *LinetypeScale);


void __RPC_STUB IIcadEntity_get_LinetypeScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadEntity_put_LinetypeScale_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [in] */ double LinetypeScale);


void __RPC_STUB IIcadEntity_put_LinetypeScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEntity_get_Visible_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);


void __RPC_STUB IIcadEntity_get_Visible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadEntity_put_Visible_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Visible);


void __RPC_STUB IIcadEntity_put_Visible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntity_ArrayPolar_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [in] */ int NumberOfObjects,
    /* [in] */ double IncludedAngle,
    /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
    /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
    /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);


void __RPC_STUB IIcadEntity_ArrayPolar_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntity_ArrayRectangular_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [in] */ int NumberOfRows,
    /* [in] */ int NumberOfColumns,
    /* [in] */ int NumberOfLevels,
    /* [in] */ double GapBetweenRows,
    /* [in] */ double GapBetweenColumns,
    /* [in] */ double GapBetweenLevels,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);


void __RPC_STUB IIcadEntity_ArrayRectangular_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntity_Copy_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);


void __RPC_STUB IIcadEntity_Copy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntity_Erase_Proxy( 
    IIcadEntity __RPC_FAR * This);


void __RPC_STUB IIcadEntity_Erase_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntity_GetBoundingBox_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
    /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);


void __RPC_STUB IIcadEntity_GetBoundingBox_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntity_Highlight_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL HighlightFlag);


void __RPC_STUB IIcadEntity_Highlight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntity_IntersectWith_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
    /* [in] */ IntersectOptions Option,
    /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);


void __RPC_STUB IIcadEntity_IntersectWith_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntity_Mirror_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point1,
    /* [in] */ IIcadPoint __RPC_FAR *Point2,
    /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
    /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);


void __RPC_STUB IIcadEntity_Mirror_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntity_Mirror3D_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point1,
    /* [in] */ IIcadPoint __RPC_FAR *Point2,
    /* [in] */ IIcadPoint __RPC_FAR *Point3,
    /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
    /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);


void __RPC_STUB IIcadEntity_Mirror3D_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntity_Move_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point1,
    /* [in] */ IIcadPoint __RPC_FAR *Point2);


void __RPC_STUB IIcadEntity_Move_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntity_Rotate_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
    /* [in] */ double RotationAngle);


void __RPC_STUB IIcadEntity_Rotate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntity_Rotate3D_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point1,
    /* [in] */ IIcadPoint __RPC_FAR *Point2,
    /* [in] */ double RotationAngle);


void __RPC_STUB IIcadEntity_Rotate3D_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntity_ScaleEntity_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
    /* [in] */ double ScaleFactor);


void __RPC_STUB IIcadEntity_ScaleEntity_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntity_TransformBy_Proxy( 
    IIcadEntity __RPC_FAR * This,
    /* [in] */ IIcadMatrix __RPC_FAR *Matrix);


void __RPC_STUB IIcadEntity_TransformBy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEntity_Update_Proxy( 
    IIcadEntity __RPC_FAR * This);


void __RPC_STUB IIcadEntity_Update_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadEntity_INTERFACE_DEFINED__ */


#ifndef __IIcad3DFace_INTERFACE_DEFINED__
#define __IIcad3DFace_INTERFACE_DEFINED__

/* interface IIcad3DFace */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcad3DFace;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c162-7e36-11d1-bc5a-0060089608a4")
    IIcad3DFace : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VisibilityEdge1( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *bVisible) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VisibilityEdge1( 
            /* [in] */ VARIANT_BOOL Visible) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VisibilityEdge2( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *bVisible) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VisibilityEdge2( 
            /* [in] */ VARIANT_BOOL Visible) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VisibilityEdge3( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *bVisible) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VisibilityEdge3( 
            /* [in] */ VARIANT_BOOL Visible) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VisibilityEdge4( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *bVisible) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VisibilityEdge4( 
            /* [in] */ VARIANT_BOOL Visible) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ IIcadPoints __RPC_FAR *Coords) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInvisibleEdge( 
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pState) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetInvisibleEdge( 
            /* [in] */ int Index,
            /* [in] */ VARIANT_BOOL State) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcad3DFaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcad3DFace __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcad3DFace __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcad3DFace __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcad3DFace __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcad3DFace __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcad3DFace __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcad3DFace __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcad3DFace __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcad3DFace __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcad3DFace __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcad3DFace __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcad3DFace __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcad3DFace __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcad3DFace __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcad3DFace __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcad3DFace __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcad3DFace __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcad3DFace __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcad3DFace __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcad3DFace __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VisibilityEdge1 )( 
            IIcad3DFace __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *bVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VisibilityEdge1 )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VisibilityEdge2 )( 
            IIcad3DFace __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *bVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VisibilityEdge2 )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VisibilityEdge3 )( 
            IIcad3DFace __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *bVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VisibilityEdge3 )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VisibilityEdge4 )( 
            IIcad3DFace __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *bVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VisibilityEdge4 )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Coordinates )( 
            IIcad3DFace __RPC_FAR * This,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Coordinates )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Coords);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInvisibleEdge )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pState);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetInvisibleEdge )( 
            IIcad3DFace __RPC_FAR * This,
            /* [in] */ int Index,
            /* [in] */ VARIANT_BOOL State);
        
        END_INTERFACE
    } IIcad3DFaceVtbl;

    interface IIcad3DFace
    {
        CONST_VTBL struct IIcad3DFaceVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcad3DFace_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcad3DFace_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcad3DFace_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcad3DFace_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcad3DFace_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcad3DFace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcad3DFace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcad3DFace_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcad3DFace_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcad3DFace_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcad3DFace_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcad3DFace__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcad3DFace_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcad3DFace_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcad3DFace_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcad3DFace_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcad3DFace_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcad3DFace_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcad3DFace_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcad3DFace_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcad3DFace_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcad3DFace_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcad3DFace_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcad3DFace_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcad3DFace_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcad3DFace_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcad3DFace_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcad3DFace_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcad3DFace_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcad3DFace_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcad3DFace_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcad3DFace_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcad3DFace_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcad3DFace_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcad3DFace_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcad3DFace_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcad3DFace_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcad3DFace_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcad3DFace_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcad3DFace_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcad3DFace_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcad3DFace_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcad3DFace_get_VisibilityEdge1(This,bVisible)	\
    (This)->lpVtbl -> get_VisibilityEdge1(This,bVisible)

#define IIcad3DFace_put_VisibilityEdge1(This,Visible)	\
    (This)->lpVtbl -> put_VisibilityEdge1(This,Visible)

#define IIcad3DFace_get_VisibilityEdge2(This,bVisible)	\
    (This)->lpVtbl -> get_VisibilityEdge2(This,bVisible)

#define IIcad3DFace_put_VisibilityEdge2(This,Visible)	\
    (This)->lpVtbl -> put_VisibilityEdge2(This,Visible)

#define IIcad3DFace_get_VisibilityEdge3(This,bVisible)	\
    (This)->lpVtbl -> get_VisibilityEdge3(This,bVisible)

#define IIcad3DFace_put_VisibilityEdge3(This,Visible)	\
    (This)->lpVtbl -> put_VisibilityEdge3(This,Visible)

#define IIcad3DFace_get_VisibilityEdge4(This,bVisible)	\
    (This)->lpVtbl -> get_VisibilityEdge4(This,bVisible)

#define IIcad3DFace_put_VisibilityEdge4(This,Visible)	\
    (This)->lpVtbl -> put_VisibilityEdge4(This,Visible)

#define IIcad3DFace_get_Coordinates(This,ppCoords)	\
    (This)->lpVtbl -> get_Coordinates(This,ppCoords)

#define IIcad3DFace_put_Coordinates(This,Coords)	\
    (This)->lpVtbl -> put_Coordinates(This,Coords)

#define IIcad3DFace_GetInvisibleEdge(This,Index,pState)	\
    (This)->lpVtbl -> GetInvisibleEdge(This,Index,pState)

#define IIcad3DFace_SetInvisibleEdge(This,Index,State)	\
    (This)->lpVtbl -> SetInvisibleEdge(This,Index,State)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcad3DFace_get_VisibilityEdge1_Proxy( 
    IIcad3DFace __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *bVisible);


void __RPC_STUB IIcad3DFace_get_VisibilityEdge1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcad3DFace_put_VisibilityEdge1_Proxy( 
    IIcad3DFace __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Visible);


void __RPC_STUB IIcad3DFace_put_VisibilityEdge1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcad3DFace_get_VisibilityEdge2_Proxy( 
    IIcad3DFace __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *bVisible);


void __RPC_STUB IIcad3DFace_get_VisibilityEdge2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcad3DFace_put_VisibilityEdge2_Proxy( 
    IIcad3DFace __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Visible);


void __RPC_STUB IIcad3DFace_put_VisibilityEdge2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcad3DFace_get_VisibilityEdge3_Proxy( 
    IIcad3DFace __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *bVisible);


void __RPC_STUB IIcad3DFace_get_VisibilityEdge3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcad3DFace_put_VisibilityEdge3_Proxy( 
    IIcad3DFace __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Visible);


void __RPC_STUB IIcad3DFace_put_VisibilityEdge3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcad3DFace_get_VisibilityEdge4_Proxy( 
    IIcad3DFace __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *bVisible);


void __RPC_STUB IIcad3DFace_get_VisibilityEdge4_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcad3DFace_put_VisibilityEdge4_Proxy( 
    IIcad3DFace __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Visible);


void __RPC_STUB IIcad3DFace_put_VisibilityEdge4_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcad3DFace_get_Coordinates_Proxy( 
    IIcad3DFace __RPC_FAR * This,
    /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords);


void __RPC_STUB IIcad3DFace_get_Coordinates_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcad3DFace_put_Coordinates_Proxy( 
    IIcad3DFace __RPC_FAR * This,
    /* [in] */ IIcadPoints __RPC_FAR *Coords);


void __RPC_STUB IIcad3DFace_put_Coordinates_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcad3DFace_GetInvisibleEdge_Proxy( 
    IIcad3DFace __RPC_FAR * This,
    /* [in] */ int Index,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pState);


void __RPC_STUB IIcad3DFace_GetInvisibleEdge_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcad3DFace_SetInvisibleEdge_Proxy( 
    IIcad3DFace __RPC_FAR * This,
    /* [in] */ int Index,
    /* [in] */ VARIANT_BOOL State);


void __RPC_STUB IIcad3DFace_SetInvisibleEdge_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcad3DFace_INTERFACE_DEFINED__ */


#ifndef __IIcad3DPoly_INTERFACE_DEFINED__
#define __IIcad3DPoly_INTERFACE_DEFINED__

/* interface IIcad3DPoly */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcad3DPoly;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c163-7e36-11d1-bc5a-0060089608a4")
    IIcad3DPoly : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Closed( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pClosed) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Closed( 
            /* [in] */ VARIANT_BOOL Closed) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ IIcadPoints __RPC_FAR *Coords) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Length( 
            /* [retval][out] */ double __RPC_FAR *pLength) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AppendVertex( 
            /* [in] */ IIcadPoint __RPC_FAR *Vertex) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Explode( 
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcad3DPolyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcad3DPoly __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcad3DPoly __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcad3DPoly __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcad3DPoly __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcad3DPoly __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Closed )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pClosed);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Closed )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Closed);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Coordinates )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Coordinates )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Coords);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Length )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pLength);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AppendVertex )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Vertex);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Explode )( 
            IIcad3DPoly __RPC_FAR * This,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);
        
        END_INTERFACE
    } IIcad3DPolyVtbl;

    interface IIcad3DPoly
    {
        CONST_VTBL struct IIcad3DPolyVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcad3DPoly_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcad3DPoly_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcad3DPoly_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcad3DPoly_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcad3DPoly_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcad3DPoly_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcad3DPoly_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcad3DPoly_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcad3DPoly_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcad3DPoly_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcad3DPoly_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcad3DPoly__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcad3DPoly_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcad3DPoly_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcad3DPoly_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcad3DPoly_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcad3DPoly_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcad3DPoly_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcad3DPoly_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcad3DPoly_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcad3DPoly_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcad3DPoly_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcad3DPoly_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcad3DPoly_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcad3DPoly_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcad3DPoly_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcad3DPoly_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcad3DPoly_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcad3DPoly_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcad3DPoly_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcad3DPoly_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcad3DPoly_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcad3DPoly_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcad3DPoly_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcad3DPoly_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcad3DPoly_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcad3DPoly_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcad3DPoly_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcad3DPoly_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcad3DPoly_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcad3DPoly_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcad3DPoly_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcad3DPoly_get_Closed(This,pClosed)	\
    (This)->lpVtbl -> get_Closed(This,pClosed)

#define IIcad3DPoly_put_Closed(This,Closed)	\
    (This)->lpVtbl -> put_Closed(This,Closed)

#define IIcad3DPoly_get_Coordinates(This,ppCoords)	\
    (This)->lpVtbl -> get_Coordinates(This,ppCoords)

#define IIcad3DPoly_put_Coordinates(This,Coords)	\
    (This)->lpVtbl -> put_Coordinates(This,Coords)

#define IIcad3DPoly_get_Length(This,pLength)	\
    (This)->lpVtbl -> get_Length(This,pLength)

#define IIcad3DPoly_AppendVertex(This,Vertex)	\
    (This)->lpVtbl -> AppendVertex(This,Vertex)

#define IIcad3DPoly_Explode(This,ppArrayOfEntities)	\
    (This)->lpVtbl -> Explode(This,ppArrayOfEntities)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcad3DPoly_get_Closed_Proxy( 
    IIcad3DPoly __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pClosed);


void __RPC_STUB IIcad3DPoly_get_Closed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcad3DPoly_put_Closed_Proxy( 
    IIcad3DPoly __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Closed);


void __RPC_STUB IIcad3DPoly_put_Closed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcad3DPoly_get_Coordinates_Proxy( 
    IIcad3DPoly __RPC_FAR * This,
    /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords);


void __RPC_STUB IIcad3DPoly_get_Coordinates_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcad3DPoly_put_Coordinates_Proxy( 
    IIcad3DPoly __RPC_FAR * This,
    /* [in] */ IIcadPoints __RPC_FAR *Coords);


void __RPC_STUB IIcad3DPoly_put_Coordinates_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcad3DPoly_get_Length_Proxy( 
    IIcad3DPoly __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pLength);


void __RPC_STUB IIcad3DPoly_get_Length_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcad3DPoly_AppendVertex_Proxy( 
    IIcad3DPoly __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Vertex);


void __RPC_STUB IIcad3DPoly_AppendVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcad3DPoly_Explode_Proxy( 
    IIcad3DPoly __RPC_FAR * This,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);


void __RPC_STUB IIcad3DPoly_Explode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcad3DPoly_INTERFACE_DEFINED__ */


#ifndef __IIcadArc_INTERFACE_DEFINED__
#define __IIcadArc_INTERFACE_DEFINED__

/* interface IIcadArc */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadArc;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c165-7e36-11d1-bc5a-0060089608a4")
    IIcadArc : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Area( 
            /* [retval][out] */ double __RPC_FAR *pArea) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Center( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppCenter) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Center( 
            /* [in] */ IIcadPoint __RPC_FAR *Center) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EndAngle( 
            /* [retval][out] */ double __RPC_FAR *pAngle) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_EndAngle( 
            /* [in] */ double Angle) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EndPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppEndPoint) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Length( 
            /* [retval][out] */ double __RPC_FAR *pLength) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Radius( 
            /* [retval][out] */ double __RPC_FAR *pRadius) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Radius( 
            /* [in] */ double Radius) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StartAngle( 
            /* [retval][out] */ double __RPC_FAR *pAngle) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_StartAngle( 
            /* [in] */ double Angle) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StartPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppStartPoint) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double __RPC_FAR *pThick) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double Thick) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Offset( 
            /* [in] */ double Offset,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadArcVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadArc __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadArc __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadArc __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadArc __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadArc __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadArc __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadArc __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Area )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pArea);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Center )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppCenter);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Center )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EndAngle )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pAngle);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_EndAngle )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ double Angle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EndPoint )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppEndPoint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Length )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pLength);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Radius )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pRadius);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Radius )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ double Radius);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StartAngle )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pAngle);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StartAngle )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ double Angle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StartPoint )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppStartPoint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Thickness )( 
            IIcadArc __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pThick);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Thickness )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ double Thick);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Offset )( 
            IIcadArc __RPC_FAR * This,
            /* [in] */ double Offset,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);
        
        END_INTERFACE
    } IIcadArcVtbl;

    interface IIcadArc
    {
        CONST_VTBL struct IIcadArcVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadArc_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadArc_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadArc_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadArc_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadArc_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadArc_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadArc_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadArc_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadArc_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadArc_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadArc_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadArc__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadArc_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadArc_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadArc_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadArc_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadArc_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadArc_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadArc_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadArc_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadArc_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadArc_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadArc_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadArc_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadArc_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadArc_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadArc_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadArc_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadArc_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadArc_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadArc_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadArc_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadArc_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadArc_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadArc_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadArc_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadArc_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadArc_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadArc_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadArc_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadArc_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadArc_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadArc_get_Area(This,pArea)	\
    (This)->lpVtbl -> get_Area(This,pArea)

#define IIcadArc_get_Center(This,ppCenter)	\
    (This)->lpVtbl -> get_Center(This,ppCenter)

#define IIcadArc_put_Center(This,Center)	\
    (This)->lpVtbl -> put_Center(This,Center)

#define IIcadArc_get_EndAngle(This,pAngle)	\
    (This)->lpVtbl -> get_EndAngle(This,pAngle)

#define IIcadArc_put_EndAngle(This,Angle)	\
    (This)->lpVtbl -> put_EndAngle(This,Angle)

#define IIcadArc_get_EndPoint(This,ppEndPoint)	\
    (This)->lpVtbl -> get_EndPoint(This,ppEndPoint)

#define IIcadArc_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadArc_put_Normal(This,ExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ExtrusionDirection)

#define IIcadArc_get_Length(This,pLength)	\
    (This)->lpVtbl -> get_Length(This,pLength)

#define IIcadArc_get_Radius(This,pRadius)	\
    (This)->lpVtbl -> get_Radius(This,pRadius)

#define IIcadArc_put_Radius(This,Radius)	\
    (This)->lpVtbl -> put_Radius(This,Radius)

#define IIcadArc_get_StartAngle(This,pAngle)	\
    (This)->lpVtbl -> get_StartAngle(This,pAngle)

#define IIcadArc_put_StartAngle(This,Angle)	\
    (This)->lpVtbl -> put_StartAngle(This,Angle)

#define IIcadArc_get_StartPoint(This,ppStartPoint)	\
    (This)->lpVtbl -> get_StartPoint(This,ppStartPoint)

#define IIcadArc_get_Thickness(This,pThick)	\
    (This)->lpVtbl -> get_Thickness(This,pThick)

#define IIcadArc_put_Thickness(This,Thick)	\
    (This)->lpVtbl -> put_Thickness(This,Thick)

#define IIcadArc_Offset(This,Offset,ppArrayOfEntities)	\
    (This)->lpVtbl -> Offset(This,Offset,ppArrayOfEntities)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadArc_get_Area_Proxy( 
    IIcadArc __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pArea);


void __RPC_STUB IIcadArc_get_Area_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadArc_get_Center_Proxy( 
    IIcadArc __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppCenter);


void __RPC_STUB IIcadArc_get_Center_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadArc_put_Center_Proxy( 
    IIcadArc __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Center);


void __RPC_STUB IIcadArc_put_Center_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadArc_get_EndAngle_Proxy( 
    IIcadArc __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pAngle);


void __RPC_STUB IIcadArc_get_EndAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadArc_put_EndAngle_Proxy( 
    IIcadArc __RPC_FAR * This,
    /* [in] */ double Angle);


void __RPC_STUB IIcadArc_put_EndAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadArc_get_EndPoint_Proxy( 
    IIcadArc __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppEndPoint);


void __RPC_STUB IIcadArc_get_EndPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadArc_get_Normal_Proxy( 
    IIcadArc __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);


void __RPC_STUB IIcadArc_get_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadArc_put_Normal_Proxy( 
    IIcadArc __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);


void __RPC_STUB IIcadArc_put_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadArc_get_Length_Proxy( 
    IIcadArc __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pLength);


void __RPC_STUB IIcadArc_get_Length_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadArc_get_Radius_Proxy( 
    IIcadArc __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pRadius);


void __RPC_STUB IIcadArc_get_Radius_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadArc_put_Radius_Proxy( 
    IIcadArc __RPC_FAR * This,
    /* [in] */ double Radius);


void __RPC_STUB IIcadArc_put_Radius_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadArc_get_StartAngle_Proxy( 
    IIcadArc __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pAngle);


void __RPC_STUB IIcadArc_get_StartAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadArc_put_StartAngle_Proxy( 
    IIcadArc __RPC_FAR * This,
    /* [in] */ double Angle);


void __RPC_STUB IIcadArc_put_StartAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadArc_get_StartPoint_Proxy( 
    IIcadArc __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppStartPoint);


void __RPC_STUB IIcadArc_get_StartPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadArc_get_Thickness_Proxy( 
    IIcadArc __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pThick);


void __RPC_STUB IIcadArc_get_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadArc_put_Thickness_Proxy( 
    IIcadArc __RPC_FAR * This,
    /* [in] */ double Thick);


void __RPC_STUB IIcadArc_put_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadArc_Offset_Proxy( 
    IIcadArc __RPC_FAR * This,
    /* [in] */ double Offset,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);


void __RPC_STUB IIcadArc_Offset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadArc_INTERFACE_DEFINED__ */


#ifndef __IIcadAttributeDef_INTERFACE_DEFINED__
#define __IIcadAttributeDef_INTERFACE_DEFINED__

/* interface IIcadAttributeDef */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadAttributeDef;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c166-7e36-11d1-bc5a-0060089608a4")
    IIcadAttributeDef : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FieldLength( 
            /* [retval][out] */ int __RPC_FAR *pFieldLength) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FieldLength( 
            /* [in] */ int FieldLength) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double __RPC_FAR *pHeight) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double Height) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_HorizontalAlignment( 
            /* [retval][out] */ HorizontalAlignment __RPC_FAR *pHorizAlign) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HorizontalAlignment( 
            /* [in] */ HorizontalAlignment HorizAlign) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InsertionPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsertPoint) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_InsertionPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *pInsertPoint) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Mode( 
            /* [retval][out] */ AttributeMode __RPC_FAR *pMode) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Mode( 
            /* [in] */ AttributeMode Mode) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Constant( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Constant( 
            /* [in] */ VARIANT_BOOL Mode) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Invisible( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Invisible( 
            /* [in] */ VARIANT_BOOL Mode) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Preset( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Preset( 
            /* [in] */ VARIANT_BOOL Mode) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Verify( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Verify( 
            /* [in] */ VARIANT_BOOL Mode) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ObliqueAngle( 
            /* [retval][out] */ double __RPC_FAR *pAngle) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ObliqueAngle( 
            /* [in] */ double Angle) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PromptString( 
            /* [retval][out] */ BSTR __RPC_FAR *pPrompt) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PromptString( 
            /* [in] */ BSTR Propmt) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ double __RPC_FAR *pRotation) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ double Rotation) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ScaleFactor( 
            /* [retval][out] */ double __RPC_FAR *pScaleFactor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ScaleFactor( 
            /* [in] */ double ScaleFactor) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StyleName( 
            /* [retval][out] */ BSTR __RPC_FAR *pStyleName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_StyleName( 
            /* [in] */ BSTR StyleName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TagString( 
            /* [retval][out] */ BSTR __RPC_FAR *pTag) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TagString( 
            /* [in] */ BSTR Tag) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double __RPC_FAR *pThick) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double Thick) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextAlignmentPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextAlignmentPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *Point) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextGenerationFlag( 
            /* [retval][out] */ TextFlag __RPC_FAR *pFlags) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextGenerationFlag( 
            /* [in] */ TextFlag Flags) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextString( 
            /* [retval][out] */ BSTR __RPC_FAR *pText) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextString( 
            /* [in] */ BSTR Text) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VerticalAlignment( 
            /* [retval][out] */ VerticalAlignment __RPC_FAR *pVertAlign) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VerticalAlignment( 
            /* [in] */ VerticalAlignment VertAlign) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadAttributeDefVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadAttributeDef __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadAttributeDef __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadAttributeDef __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadAttributeDef __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadAttributeDef __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FieldLength )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pFieldLength);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_FieldLength )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ int FieldLength);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Height )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pHeight);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Height )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ double Height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HorizontalAlignment )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ HorizontalAlignment __RPC_FAR *pHorizAlign);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_HorizontalAlignment )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ HorizontalAlignment HorizAlign);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InsertionPoint )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsertPoint);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_InsertionPoint )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *pInsertPoint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Mode )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ AttributeMode __RPC_FAR *pMode);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Mode )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ AttributeMode Mode);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Constant )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Constant )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Mode);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Invisible )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Invisible )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Mode);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Preset )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Preset )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Mode);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Verify )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Verify )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Mode);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ObliqueAngle )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pAngle);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ObliqueAngle )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ double Angle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PromptString )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pPrompt);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PromptString )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ BSTR Propmt);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rotation )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pRotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rotation )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ScaleFactor )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ScaleFactor )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StyleName )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pStyleName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StyleName )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ BSTR StyleName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TagString )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pTag);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TagString )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ BSTR Tag);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Thickness )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pThick);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Thickness )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ double Thick);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextAlignmentPoint )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextAlignmentPoint )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextGenerationFlag )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ TextFlag __RPC_FAR *pFlags);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextGenerationFlag )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ TextFlag Flags);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextString )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pText);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextString )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ BSTR Text);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VerticalAlignment )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [retval][out] */ VerticalAlignment __RPC_FAR *pVertAlign);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VerticalAlignment )( 
            IIcadAttributeDef __RPC_FAR * This,
            /* [in] */ VerticalAlignment VertAlign);
        
        END_INTERFACE
    } IIcadAttributeDefVtbl;

    interface IIcadAttributeDef
    {
        CONST_VTBL struct IIcadAttributeDefVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadAttributeDef_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadAttributeDef_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadAttributeDef_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadAttributeDef_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadAttributeDef_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadAttributeDef_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadAttributeDef_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadAttributeDef_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadAttributeDef_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadAttributeDef_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadAttributeDef_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadAttributeDef__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadAttributeDef_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadAttributeDef_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadAttributeDef_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadAttributeDef_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadAttributeDef_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadAttributeDef_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadAttributeDef_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadAttributeDef_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadAttributeDef_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadAttributeDef_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadAttributeDef_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadAttributeDef_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadAttributeDef_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadAttributeDef_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadAttributeDef_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadAttributeDef_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadAttributeDef_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadAttributeDef_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadAttributeDef_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadAttributeDef_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadAttributeDef_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadAttributeDef_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadAttributeDef_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadAttributeDef_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadAttributeDef_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadAttributeDef_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadAttributeDef_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadAttributeDef_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadAttributeDef_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadAttributeDef_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadAttributeDef_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadAttributeDef_put_Normal(This,ExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ExtrusionDirection)

#define IIcadAttributeDef_get_FieldLength(This,pFieldLength)	\
    (This)->lpVtbl -> get_FieldLength(This,pFieldLength)

#define IIcadAttributeDef_put_FieldLength(This,FieldLength)	\
    (This)->lpVtbl -> put_FieldLength(This,FieldLength)

#define IIcadAttributeDef_get_Height(This,pHeight)	\
    (This)->lpVtbl -> get_Height(This,pHeight)

#define IIcadAttributeDef_put_Height(This,Height)	\
    (This)->lpVtbl -> put_Height(This,Height)

#define IIcadAttributeDef_get_HorizontalAlignment(This,pHorizAlign)	\
    (This)->lpVtbl -> get_HorizontalAlignment(This,pHorizAlign)

#define IIcadAttributeDef_put_HorizontalAlignment(This,HorizAlign)	\
    (This)->lpVtbl -> put_HorizontalAlignment(This,HorizAlign)

#define IIcadAttributeDef_get_InsertionPoint(This,ppInsertPoint)	\
    (This)->lpVtbl -> get_InsertionPoint(This,ppInsertPoint)

#define IIcadAttributeDef_put_InsertionPoint(This,pInsertPoint)	\
    (This)->lpVtbl -> put_InsertionPoint(This,pInsertPoint)

#define IIcadAttributeDef_get_Mode(This,pMode)	\
    (This)->lpVtbl -> get_Mode(This,pMode)

#define IIcadAttributeDef_put_Mode(This,Mode)	\
    (This)->lpVtbl -> put_Mode(This,Mode)

#define IIcadAttributeDef_get_Constant(This,Mode)	\
    (This)->lpVtbl -> get_Constant(This,Mode)

#define IIcadAttributeDef_put_Constant(This,Mode)	\
    (This)->lpVtbl -> put_Constant(This,Mode)

#define IIcadAttributeDef_get_Invisible(This,Mode)	\
    (This)->lpVtbl -> get_Invisible(This,Mode)

#define IIcadAttributeDef_put_Invisible(This,Mode)	\
    (This)->lpVtbl -> put_Invisible(This,Mode)

#define IIcadAttributeDef_get_Preset(This,Mode)	\
    (This)->lpVtbl -> get_Preset(This,Mode)

#define IIcadAttributeDef_put_Preset(This,Mode)	\
    (This)->lpVtbl -> put_Preset(This,Mode)

#define IIcadAttributeDef_get_Verify(This,Mode)	\
    (This)->lpVtbl -> get_Verify(This,Mode)

#define IIcadAttributeDef_put_Verify(This,Mode)	\
    (This)->lpVtbl -> put_Verify(This,Mode)

#define IIcadAttributeDef_get_ObliqueAngle(This,pAngle)	\
    (This)->lpVtbl -> get_ObliqueAngle(This,pAngle)

#define IIcadAttributeDef_put_ObliqueAngle(This,Angle)	\
    (This)->lpVtbl -> put_ObliqueAngle(This,Angle)

#define IIcadAttributeDef_get_PromptString(This,pPrompt)	\
    (This)->lpVtbl -> get_PromptString(This,pPrompt)

#define IIcadAttributeDef_put_PromptString(This,Propmt)	\
    (This)->lpVtbl -> put_PromptString(This,Propmt)

#define IIcadAttributeDef_get_Rotation(This,pRotation)	\
    (This)->lpVtbl -> get_Rotation(This,pRotation)

#define IIcadAttributeDef_put_Rotation(This,Rotation)	\
    (This)->lpVtbl -> put_Rotation(This,Rotation)

#define IIcadAttributeDef_get_ScaleFactor(This,pScaleFactor)	\
    (This)->lpVtbl -> get_ScaleFactor(This,pScaleFactor)

#define IIcadAttributeDef_put_ScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> put_ScaleFactor(This,ScaleFactor)

#define IIcadAttributeDef_get_StyleName(This,pStyleName)	\
    (This)->lpVtbl -> get_StyleName(This,pStyleName)

#define IIcadAttributeDef_put_StyleName(This,StyleName)	\
    (This)->lpVtbl -> put_StyleName(This,StyleName)

#define IIcadAttributeDef_get_TagString(This,pTag)	\
    (This)->lpVtbl -> get_TagString(This,pTag)

#define IIcadAttributeDef_put_TagString(This,Tag)	\
    (This)->lpVtbl -> put_TagString(This,Tag)

#define IIcadAttributeDef_get_Thickness(This,pThick)	\
    (This)->lpVtbl -> get_Thickness(This,pThick)

#define IIcadAttributeDef_put_Thickness(This,Thick)	\
    (This)->lpVtbl -> put_Thickness(This,Thick)

#define IIcadAttributeDef_get_TextAlignmentPoint(This,ppPoint)	\
    (This)->lpVtbl -> get_TextAlignmentPoint(This,ppPoint)

#define IIcadAttributeDef_put_TextAlignmentPoint(This,Point)	\
    (This)->lpVtbl -> put_TextAlignmentPoint(This,Point)

#define IIcadAttributeDef_get_TextGenerationFlag(This,pFlags)	\
    (This)->lpVtbl -> get_TextGenerationFlag(This,pFlags)

#define IIcadAttributeDef_put_TextGenerationFlag(This,Flags)	\
    (This)->lpVtbl -> put_TextGenerationFlag(This,Flags)

#define IIcadAttributeDef_get_TextString(This,pText)	\
    (This)->lpVtbl -> get_TextString(This,pText)

#define IIcadAttributeDef_put_TextString(This,Text)	\
    (This)->lpVtbl -> put_TextString(This,Text)

#define IIcadAttributeDef_get_VerticalAlignment(This,pVertAlign)	\
    (This)->lpVtbl -> get_VerticalAlignment(This,pVertAlign)

#define IIcadAttributeDef_put_VerticalAlignment(This,VertAlign)	\
    (This)->lpVtbl -> put_VerticalAlignment(This,VertAlign)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_get_Normal_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);


void __RPC_STUB IIcadAttributeDef_get_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_put_Normal_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);


void __RPC_STUB IIcadAttributeDef_put_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_get_FieldLength_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pFieldLength);


void __RPC_STUB IIcadAttributeDef_get_FieldLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_put_FieldLength_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [in] */ int FieldLength);


void __RPC_STUB IIcadAttributeDef_put_FieldLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_get_Height_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pHeight);


void __RPC_STUB IIcadAttributeDef_get_Height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_put_Height_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [in] */ double Height);


void __RPC_STUB IIcadAttributeDef_put_Height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_get_HorizontalAlignment_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [retval][out] */ HorizontalAlignment __RPC_FAR *pHorizAlign);


void __RPC_STUB IIcadAttributeDef_get_HorizontalAlignment_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_put_HorizontalAlignment_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [in] */ HorizontalAlignment HorizAlign);


void __RPC_STUB IIcadAttributeDef_put_HorizontalAlignment_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_get_InsertionPoint_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsertPoint);


void __RPC_STUB IIcadAttributeDef_get_InsertionPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_put_InsertionPoint_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *pInsertPoint);


void __RPC_STUB IIcadAttributeDef_put_InsertionPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_get_Mode_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [retval][out] */ AttributeMode __RPC_FAR *pMode);


void __RPC_STUB IIcadAttributeDef_get_Mode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_put_Mode_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [in] */ AttributeMode Mode);


void __RPC_STUB IIcadAttributeDef_put_Mode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_get_Constant_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode);


void __RPC_STUB IIcadAttributeDef_get_Constant_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_put_Constant_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Mode);


void __RPC_STUB IIcadAttributeDef_put_Constant_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_get_Invisible_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode);


void __RPC_STUB IIcadAttributeDef_get_Invisible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_put_Invisible_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Mode);


void __RPC_STUB IIcadAttributeDef_put_Invisible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_get_Preset_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode);


void __RPC_STUB IIcadAttributeDef_get_Preset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_put_Preset_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Mode);


void __RPC_STUB IIcadAttributeDef_put_Preset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_get_Verify_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode);


void __RPC_STUB IIcadAttributeDef_get_Verify_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_put_Verify_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Mode);


void __RPC_STUB IIcadAttributeDef_put_Verify_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_get_ObliqueAngle_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pAngle);


void __RPC_STUB IIcadAttributeDef_get_ObliqueAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_put_ObliqueAngle_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [in] */ double Angle);


void __RPC_STUB IIcadAttributeDef_put_ObliqueAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_get_PromptString_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pPrompt);


void __RPC_STUB IIcadAttributeDef_get_PromptString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_put_PromptString_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [in] */ BSTR Propmt);


void __RPC_STUB IIcadAttributeDef_put_PromptString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_get_Rotation_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pRotation);


void __RPC_STUB IIcadAttributeDef_get_Rotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_put_Rotation_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [in] */ double Rotation);


void __RPC_STUB IIcadAttributeDef_put_Rotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_get_ScaleFactor_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pScaleFactor);


void __RPC_STUB IIcadAttributeDef_get_ScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_put_ScaleFactor_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [in] */ double ScaleFactor);


void __RPC_STUB IIcadAttributeDef_put_ScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_get_StyleName_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pStyleName);


void __RPC_STUB IIcadAttributeDef_get_StyleName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_put_StyleName_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [in] */ BSTR StyleName);


void __RPC_STUB IIcadAttributeDef_put_StyleName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_get_TagString_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pTag);


void __RPC_STUB IIcadAttributeDef_get_TagString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_put_TagString_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [in] */ BSTR Tag);


void __RPC_STUB IIcadAttributeDef_put_TagString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_get_Thickness_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pThick);


void __RPC_STUB IIcadAttributeDef_get_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_put_Thickness_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [in] */ double Thick);


void __RPC_STUB IIcadAttributeDef_put_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_get_TextAlignmentPoint_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint);


void __RPC_STUB IIcadAttributeDef_get_TextAlignmentPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_put_TextAlignmentPoint_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point);


void __RPC_STUB IIcadAttributeDef_put_TextAlignmentPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_get_TextGenerationFlag_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [retval][out] */ TextFlag __RPC_FAR *pFlags);


void __RPC_STUB IIcadAttributeDef_get_TextGenerationFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_put_TextGenerationFlag_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [in] */ TextFlag Flags);


void __RPC_STUB IIcadAttributeDef_put_TextGenerationFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_get_TextString_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pText);


void __RPC_STUB IIcadAttributeDef_get_TextString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_put_TextString_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [in] */ BSTR Text);


void __RPC_STUB IIcadAttributeDef_put_TextString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_get_VerticalAlignment_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [retval][out] */ VerticalAlignment __RPC_FAR *pVertAlign);


void __RPC_STUB IIcadAttributeDef_get_VerticalAlignment_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttributeDef_put_VerticalAlignment_Proxy( 
    IIcadAttributeDef __RPC_FAR * This,
    /* [in] */ VerticalAlignment VertAlign);


void __RPC_STUB IIcadAttributeDef_put_VerticalAlignment_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadAttributeDef_INTERFACE_DEFINED__ */


#ifndef __IIcadAttribute_INTERFACE_DEFINED__
#define __IIcadAttribute_INTERFACE_DEFINED__

/* interface IIcadAttribute */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadAttribute;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c167-7e36-11d1-bc5a-0060089608a4")
    IIcadAttribute : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FieldLength( 
            /* [retval][out] */ int __RPC_FAR *pFieldLength) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FieldLength( 
            /* [in] */ int FieldLength) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double __RPC_FAR *pHeight) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double Height) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_HorizontalAlignment( 
            /* [retval][out] */ HorizontalAlignment __RPC_FAR *pHorizAlign) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HorizontalAlignment( 
            /* [in] */ HorizontalAlignment HorizAlign) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InsertionPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsertPoint) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_InsertionPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *InsertPoint) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Constant( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Constant( 
            /* [in] */ VARIANT_BOOL Mode) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Invisible( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Invisible( 
            /* [in] */ VARIANT_BOOL Mode) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Preset( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Preset( 
            /* [in] */ VARIANT_BOOL Mode) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Verify( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Verify( 
            /* [in] */ VARIANT_BOOL Mode) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ObliqueAngle( 
            /* [retval][out] */ double __RPC_FAR *pAngle) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ObliqueAngle( 
            /* [in] */ double Angle) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ double __RPC_FAR *pRotation) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ double Rotation) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ScaleFactor( 
            /* [retval][out] */ double __RPC_FAR *pScaleFactor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ScaleFactor( 
            /* [in] */ double ScaleFactor) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StyleName( 
            /* [retval][out] */ BSTR __RPC_FAR *pStyleName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_StyleName( 
            /* [in] */ BSTR StyleName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TagString( 
            /* [retval][out] */ BSTR __RPC_FAR *pTag) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TagString( 
            /* [in] */ BSTR Tag) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double __RPC_FAR *pThick) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double Thick) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextAlignmentPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextAlignmentPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *Point) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextGenerationFlag( 
            /* [retval][out] */ TextFlag __RPC_FAR *pFlags) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextGenerationFlag( 
            /* [in] */ TextFlag Flags) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextString( 
            /* [retval][out] */ BSTR __RPC_FAR *pText) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextString( 
            /* [in] */ BSTR Text) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VerticalAlignment( 
            /* [retval][out] */ VerticalAlignment __RPC_FAR *pVertAlign) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VerticalAlignment( 
            /* [in] */ VerticalAlignment VertAlign) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadAttributeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadAttribute __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadAttribute __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadAttribute __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadAttribute __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadAttribute __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadAttribute __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadAttribute __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FieldLength )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pFieldLength);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_FieldLength )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ int FieldLength);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Height )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pHeight);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Height )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ double Height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HorizontalAlignment )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ HorizontalAlignment __RPC_FAR *pHorizAlign);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_HorizontalAlignment )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ HorizontalAlignment HorizAlign);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InsertionPoint )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsertPoint);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_InsertionPoint )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *InsertPoint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Constant )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Constant )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Mode);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Invisible )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Invisible )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Mode);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Preset )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Preset )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Mode);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Verify )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Verify )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Mode);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ObliqueAngle )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pAngle);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ObliqueAngle )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ double Angle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rotation )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pRotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rotation )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ScaleFactor )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ScaleFactor )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StyleName )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pStyleName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StyleName )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ BSTR StyleName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TagString )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pTag);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TagString )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ BSTR Tag);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Thickness )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pThick);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Thickness )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ double Thick);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextAlignmentPoint )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextAlignmentPoint )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextGenerationFlag )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ TextFlag __RPC_FAR *pFlags);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextGenerationFlag )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ TextFlag Flags);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextString )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pText);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextString )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ BSTR Text);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VerticalAlignment )( 
            IIcadAttribute __RPC_FAR * This,
            /* [retval][out] */ VerticalAlignment __RPC_FAR *pVertAlign);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VerticalAlignment )( 
            IIcadAttribute __RPC_FAR * This,
            /* [in] */ VerticalAlignment VertAlign);
        
        END_INTERFACE
    } IIcadAttributeVtbl;

    interface IIcadAttribute
    {
        CONST_VTBL struct IIcadAttributeVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadAttribute_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadAttribute_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadAttribute_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadAttribute_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadAttribute_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadAttribute_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadAttribute_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadAttribute_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadAttribute_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadAttribute_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadAttribute_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadAttribute__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadAttribute_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadAttribute_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadAttribute_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadAttribute_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadAttribute_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadAttribute_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadAttribute_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadAttribute_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadAttribute_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadAttribute_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadAttribute_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadAttribute_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadAttribute_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadAttribute_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadAttribute_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadAttribute_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadAttribute_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadAttribute_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadAttribute_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadAttribute_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadAttribute_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadAttribute_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadAttribute_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadAttribute_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadAttribute_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadAttribute_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadAttribute_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadAttribute_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadAttribute_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadAttribute_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadAttribute_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadAttribute_put_Normal(This,ExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ExtrusionDirection)

#define IIcadAttribute_get_FieldLength(This,pFieldLength)	\
    (This)->lpVtbl -> get_FieldLength(This,pFieldLength)

#define IIcadAttribute_put_FieldLength(This,FieldLength)	\
    (This)->lpVtbl -> put_FieldLength(This,FieldLength)

#define IIcadAttribute_get_Height(This,pHeight)	\
    (This)->lpVtbl -> get_Height(This,pHeight)

#define IIcadAttribute_put_Height(This,Height)	\
    (This)->lpVtbl -> put_Height(This,Height)

#define IIcadAttribute_get_HorizontalAlignment(This,pHorizAlign)	\
    (This)->lpVtbl -> get_HorizontalAlignment(This,pHorizAlign)

#define IIcadAttribute_put_HorizontalAlignment(This,HorizAlign)	\
    (This)->lpVtbl -> put_HorizontalAlignment(This,HorizAlign)

#define IIcadAttribute_get_InsertionPoint(This,ppInsertPoint)	\
    (This)->lpVtbl -> get_InsertionPoint(This,ppInsertPoint)

#define IIcadAttribute_put_InsertionPoint(This,InsertPoint)	\
    (This)->lpVtbl -> put_InsertionPoint(This,InsertPoint)

#define IIcadAttribute_get_Constant(This,Mode)	\
    (This)->lpVtbl -> get_Constant(This,Mode)

#define IIcadAttribute_put_Constant(This,Mode)	\
    (This)->lpVtbl -> put_Constant(This,Mode)

#define IIcadAttribute_get_Invisible(This,Mode)	\
    (This)->lpVtbl -> get_Invisible(This,Mode)

#define IIcadAttribute_put_Invisible(This,Mode)	\
    (This)->lpVtbl -> put_Invisible(This,Mode)

#define IIcadAttribute_get_Preset(This,Mode)	\
    (This)->lpVtbl -> get_Preset(This,Mode)

#define IIcadAttribute_put_Preset(This,Mode)	\
    (This)->lpVtbl -> put_Preset(This,Mode)

#define IIcadAttribute_get_Verify(This,Mode)	\
    (This)->lpVtbl -> get_Verify(This,Mode)

#define IIcadAttribute_put_Verify(This,Mode)	\
    (This)->lpVtbl -> put_Verify(This,Mode)

#define IIcadAttribute_get_ObliqueAngle(This,pAngle)	\
    (This)->lpVtbl -> get_ObliqueAngle(This,pAngle)

#define IIcadAttribute_put_ObliqueAngle(This,Angle)	\
    (This)->lpVtbl -> put_ObliqueAngle(This,Angle)

#define IIcadAttribute_get_Rotation(This,pRotation)	\
    (This)->lpVtbl -> get_Rotation(This,pRotation)

#define IIcadAttribute_put_Rotation(This,Rotation)	\
    (This)->lpVtbl -> put_Rotation(This,Rotation)

#define IIcadAttribute_get_ScaleFactor(This,pScaleFactor)	\
    (This)->lpVtbl -> get_ScaleFactor(This,pScaleFactor)

#define IIcadAttribute_put_ScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> put_ScaleFactor(This,ScaleFactor)

#define IIcadAttribute_get_StyleName(This,pStyleName)	\
    (This)->lpVtbl -> get_StyleName(This,pStyleName)

#define IIcadAttribute_put_StyleName(This,StyleName)	\
    (This)->lpVtbl -> put_StyleName(This,StyleName)

#define IIcadAttribute_get_TagString(This,pTag)	\
    (This)->lpVtbl -> get_TagString(This,pTag)

#define IIcadAttribute_put_TagString(This,Tag)	\
    (This)->lpVtbl -> put_TagString(This,Tag)

#define IIcadAttribute_get_Thickness(This,pThick)	\
    (This)->lpVtbl -> get_Thickness(This,pThick)

#define IIcadAttribute_put_Thickness(This,Thick)	\
    (This)->lpVtbl -> put_Thickness(This,Thick)

#define IIcadAttribute_get_TextAlignmentPoint(This,ppPoint)	\
    (This)->lpVtbl -> get_TextAlignmentPoint(This,ppPoint)

#define IIcadAttribute_put_TextAlignmentPoint(This,Point)	\
    (This)->lpVtbl -> put_TextAlignmentPoint(This,Point)

#define IIcadAttribute_get_TextGenerationFlag(This,pFlags)	\
    (This)->lpVtbl -> get_TextGenerationFlag(This,pFlags)

#define IIcadAttribute_put_TextGenerationFlag(This,Flags)	\
    (This)->lpVtbl -> put_TextGenerationFlag(This,Flags)

#define IIcadAttribute_get_TextString(This,pText)	\
    (This)->lpVtbl -> get_TextString(This,pText)

#define IIcadAttribute_put_TextString(This,Text)	\
    (This)->lpVtbl -> put_TextString(This,Text)

#define IIcadAttribute_get_VerticalAlignment(This,pVertAlign)	\
    (This)->lpVtbl -> get_VerticalAlignment(This,pVertAlign)

#define IIcadAttribute_put_VerticalAlignment(This,VertAlign)	\
    (This)->lpVtbl -> put_VerticalAlignment(This,VertAlign)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_get_Normal_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);


void __RPC_STUB IIcadAttribute_get_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_put_Normal_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);


void __RPC_STUB IIcadAttribute_put_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_get_FieldLength_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pFieldLength);


void __RPC_STUB IIcadAttribute_get_FieldLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_put_FieldLength_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [in] */ int FieldLength);


void __RPC_STUB IIcadAttribute_put_FieldLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_get_Height_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pHeight);


void __RPC_STUB IIcadAttribute_get_Height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_put_Height_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [in] */ double Height);


void __RPC_STUB IIcadAttribute_put_Height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_get_HorizontalAlignment_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [retval][out] */ HorizontalAlignment __RPC_FAR *pHorizAlign);


void __RPC_STUB IIcadAttribute_get_HorizontalAlignment_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_put_HorizontalAlignment_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [in] */ HorizontalAlignment HorizAlign);


void __RPC_STUB IIcadAttribute_put_HorizontalAlignment_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_get_InsertionPoint_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsertPoint);


void __RPC_STUB IIcadAttribute_get_InsertionPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_put_InsertionPoint_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *InsertPoint);


void __RPC_STUB IIcadAttribute_put_InsertionPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_get_Constant_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode);


void __RPC_STUB IIcadAttribute_get_Constant_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_put_Constant_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Mode);


void __RPC_STUB IIcadAttribute_put_Constant_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_get_Invisible_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode);


void __RPC_STUB IIcadAttribute_get_Invisible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_put_Invisible_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Mode);


void __RPC_STUB IIcadAttribute_put_Invisible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_get_Preset_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode);


void __RPC_STUB IIcadAttribute_get_Preset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_put_Preset_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Mode);


void __RPC_STUB IIcadAttribute_put_Preset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_get_Verify_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Mode);


void __RPC_STUB IIcadAttribute_get_Verify_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_put_Verify_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Mode);


void __RPC_STUB IIcadAttribute_put_Verify_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_get_ObliqueAngle_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pAngle);


void __RPC_STUB IIcadAttribute_get_ObliqueAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_put_ObliqueAngle_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [in] */ double Angle);


void __RPC_STUB IIcadAttribute_put_ObliqueAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_get_Rotation_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pRotation);


void __RPC_STUB IIcadAttribute_get_Rotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_put_Rotation_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [in] */ double Rotation);


void __RPC_STUB IIcadAttribute_put_Rotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_get_ScaleFactor_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pScaleFactor);


void __RPC_STUB IIcadAttribute_get_ScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_put_ScaleFactor_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [in] */ double ScaleFactor);


void __RPC_STUB IIcadAttribute_put_ScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_get_StyleName_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pStyleName);


void __RPC_STUB IIcadAttribute_get_StyleName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_put_StyleName_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [in] */ BSTR StyleName);


void __RPC_STUB IIcadAttribute_put_StyleName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_get_TagString_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pTag);


void __RPC_STUB IIcadAttribute_get_TagString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_put_TagString_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [in] */ BSTR Tag);


void __RPC_STUB IIcadAttribute_put_TagString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_get_Thickness_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pThick);


void __RPC_STUB IIcadAttribute_get_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_put_Thickness_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [in] */ double Thick);


void __RPC_STUB IIcadAttribute_put_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_get_TextAlignmentPoint_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint);


void __RPC_STUB IIcadAttribute_get_TextAlignmentPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_put_TextAlignmentPoint_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point);


void __RPC_STUB IIcadAttribute_put_TextAlignmentPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_get_TextGenerationFlag_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [retval][out] */ TextFlag __RPC_FAR *pFlags);


void __RPC_STUB IIcadAttribute_get_TextGenerationFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_put_TextGenerationFlag_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [in] */ TextFlag Flags);


void __RPC_STUB IIcadAttribute_put_TextGenerationFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_get_TextString_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pText);


void __RPC_STUB IIcadAttribute_get_TextString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_put_TextString_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [in] */ BSTR Text);


void __RPC_STUB IIcadAttribute_put_TextString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_get_VerticalAlignment_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [retval][out] */ VerticalAlignment __RPC_FAR *pVertAlign);


void __RPC_STUB IIcadAttribute_get_VerticalAlignment_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadAttribute_put_VerticalAlignment_Proxy( 
    IIcadAttribute __RPC_FAR * This,
    /* [in] */ VerticalAlignment VertAlign);


void __RPC_STUB IIcadAttribute_put_VerticalAlignment_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadAttribute_INTERFACE_DEFINED__ */


#ifndef __IIcadAttributes_INTERFACE_DEFINED__
#define __IIcadAttributes_INTERFACE_DEFINED__

/* interface IIcadAttributes */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadAttributes;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c182-7e36-11d1-bc5a-0060089608a4")
    IIcadAttributes : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long __RPC_FAR *pCount) = 0;
        
        virtual /* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [retval][out] */ IIcadAttribute __RPC_FAR *__RPC_FAR *Attribute) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadAttribute __RPC_FAR *__RPC_FAR *ppItem) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadAttributesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadAttributes __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadAttributes __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadAttributes __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadAttributes __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadAttributes __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadAttributes __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadAttributes __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadAttributes __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadAttributes __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
            IIcadAttributes __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        /* [id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
            IIcadAttributes __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            IIcadAttributes __RPC_FAR * This,
            /* [retval][out] */ IIcadAttribute __RPC_FAR *__RPC_FAR *Attribute);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
            IIcadAttributes __RPC_FAR * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IIcadAttribute __RPC_FAR *__RPC_FAR *ppItem);
        
        END_INTERFACE
    } IIcadAttributesVtbl;

    interface IIcadAttributes
    {
        CONST_VTBL struct IIcadAttributesVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadAttributes_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadAttributes_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadAttributes_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadAttributes_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadAttributes_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadAttributes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadAttributes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadAttributes_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadAttributes_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadAttributes_get_Count(This,pCount)	\
    (This)->lpVtbl -> get_Count(This,pCount)

#define IIcadAttributes_get__NewEnum(This,ppUnk)	\
    (This)->lpVtbl -> get__NewEnum(This,ppUnk)

#define IIcadAttributes_Add(This,Attribute)	\
    (This)->lpVtbl -> Add(This,Attribute)

#define IIcadAttributes_Item(This,Index,ppItem)	\
    (This)->lpVtbl -> Item(This,Index,ppItem)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributes_get_Application_Proxy( 
    IIcadAttributes __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadAttributes_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributes_get_Parent_Proxy( 
    IIcadAttributes __RPC_FAR * This,
    /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadAttributes_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributes_get_Count_Proxy( 
    IIcadAttributes __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pCount);


void __RPC_STUB IIcadAttributes_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE IIcadAttributes_get__NewEnum_Proxy( 
    IIcadAttributes __RPC_FAR * This,
    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);


void __RPC_STUB IIcadAttributes_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadAttributes_Add_Proxy( 
    IIcadAttributes __RPC_FAR * This,
    /* [retval][out] */ IIcadAttribute __RPC_FAR *__RPC_FAR *Attribute);


void __RPC_STUB IIcadAttributes_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIcadAttributes_Item_Proxy( 
    IIcadAttributes __RPC_FAR * This,
    /* [in] */ VARIANT Index,
    /* [retval][out] */ IIcadAttribute __RPC_FAR *__RPC_FAR *ppItem);


void __RPC_STUB IIcadAttributes_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadAttributes_INTERFACE_DEFINED__ */


#ifndef __IIcadBlockInsert_INTERFACE_DEFINED__
#define __IIcadBlockInsert_INTERFACE_DEFINED__

/* interface IIcadBlockInsert */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadBlockInsert;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c168-7e36-11d1-bc5a-0060089608a4")
    IIcadBlockInsert : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InsertionPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsertPoint) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_InsertionPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *InsertPoint) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR __RPC_FAR *pBlockName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR NewBlockName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_HasAttributes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbHasAttributes) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ double __RPC_FAR *pRotation) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ double Rotation) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_XScaleFactor( 
            /* [retval][out] */ double __RPC_FAR *pScaleFactor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_XScaleFactor( 
            /* [in] */ double ScaleFactor) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_YScaleFactor( 
            /* [retval][out] */ double __RPC_FAR *pScaleFactor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_YScaleFactor( 
            /* [in] */ double ScaleFactor) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ZScaleFactor( 
            /* [retval][out] */ double __RPC_FAR *pScaleFactor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ZScaleFactor( 
            /* [in] */ double ScaleFactor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Explode( 
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *pObjects) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAttributes( 
            /* [retval][out] */ IIcadAttributes __RPC_FAR *__RPC_FAR *ppAttributes) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadBlockInsertVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadBlockInsert __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadBlockInsert __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadBlockInsert __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadBlockInsert __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadBlockInsert __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InsertionPoint )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsertPoint);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_InsertionPoint )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *InsertPoint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pBlockName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ BSTR NewBlockName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HasAttributes )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbHasAttributes);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rotation )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pRotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rotation )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_XScaleFactor )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_XScaleFactor )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_YScaleFactor )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_YScaleFactor )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ZScaleFactor )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ZScaleFactor )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Explode )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *pObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttributes )( 
            IIcadBlockInsert __RPC_FAR * This,
            /* [retval][out] */ IIcadAttributes __RPC_FAR *__RPC_FAR *ppAttributes);
        
        END_INTERFACE
    } IIcadBlockInsertVtbl;

    interface IIcadBlockInsert
    {
        CONST_VTBL struct IIcadBlockInsertVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadBlockInsert_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadBlockInsert_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadBlockInsert_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadBlockInsert_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadBlockInsert_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadBlockInsert_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadBlockInsert_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadBlockInsert_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadBlockInsert_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadBlockInsert_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadBlockInsert_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadBlockInsert__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadBlockInsert_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadBlockInsert_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadBlockInsert_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadBlockInsert_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadBlockInsert_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadBlockInsert_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadBlockInsert_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadBlockInsert_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadBlockInsert_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadBlockInsert_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadBlockInsert_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadBlockInsert_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadBlockInsert_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadBlockInsert_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadBlockInsert_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadBlockInsert_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadBlockInsert_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadBlockInsert_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadBlockInsert_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadBlockInsert_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadBlockInsert_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadBlockInsert_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadBlockInsert_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadBlockInsert_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadBlockInsert_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadBlockInsert_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadBlockInsert_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadBlockInsert_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadBlockInsert_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadBlockInsert_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadBlockInsert_get_InsertionPoint(This,ppInsertPoint)	\
    (This)->lpVtbl -> get_InsertionPoint(This,ppInsertPoint)

#define IIcadBlockInsert_put_InsertionPoint(This,InsertPoint)	\
    (This)->lpVtbl -> put_InsertionPoint(This,InsertPoint)

#define IIcadBlockInsert_get_Name(This,pBlockName)	\
    (This)->lpVtbl -> get_Name(This,pBlockName)

#define IIcadBlockInsert_put_Name(This,NewBlockName)	\
    (This)->lpVtbl -> put_Name(This,NewBlockName)

#define IIcadBlockInsert_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadBlockInsert_put_Normal(This,ExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ExtrusionDirection)

#define IIcadBlockInsert_get_HasAttributes(This,pbHasAttributes)	\
    (This)->lpVtbl -> get_HasAttributes(This,pbHasAttributes)

#define IIcadBlockInsert_get_Rotation(This,pRotation)	\
    (This)->lpVtbl -> get_Rotation(This,pRotation)

#define IIcadBlockInsert_put_Rotation(This,Rotation)	\
    (This)->lpVtbl -> put_Rotation(This,Rotation)

#define IIcadBlockInsert_get_XScaleFactor(This,pScaleFactor)	\
    (This)->lpVtbl -> get_XScaleFactor(This,pScaleFactor)

#define IIcadBlockInsert_put_XScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> put_XScaleFactor(This,ScaleFactor)

#define IIcadBlockInsert_get_YScaleFactor(This,pScaleFactor)	\
    (This)->lpVtbl -> get_YScaleFactor(This,pScaleFactor)

#define IIcadBlockInsert_put_YScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> put_YScaleFactor(This,ScaleFactor)

#define IIcadBlockInsert_get_ZScaleFactor(This,pScaleFactor)	\
    (This)->lpVtbl -> get_ZScaleFactor(This,pScaleFactor)

#define IIcadBlockInsert_put_ZScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> put_ZScaleFactor(This,ScaleFactor)

#define IIcadBlockInsert_Explode(This,pObjects)	\
    (This)->lpVtbl -> Explode(This,pObjects)

#define IIcadBlockInsert_GetAttributes(This,ppAttributes)	\
    (This)->lpVtbl -> GetAttributes(This,ppAttributes)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadBlockInsert_get_InsertionPoint_Proxy( 
    IIcadBlockInsert __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsertPoint);


void __RPC_STUB IIcadBlockInsert_get_InsertionPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadBlockInsert_put_InsertionPoint_Proxy( 
    IIcadBlockInsert __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *InsertPoint);


void __RPC_STUB IIcadBlockInsert_put_InsertionPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadBlockInsert_get_Name_Proxy( 
    IIcadBlockInsert __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pBlockName);


void __RPC_STUB IIcadBlockInsert_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadBlockInsert_put_Name_Proxy( 
    IIcadBlockInsert __RPC_FAR * This,
    /* [in] */ BSTR NewBlockName);


void __RPC_STUB IIcadBlockInsert_put_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadBlockInsert_get_Normal_Proxy( 
    IIcadBlockInsert __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);


void __RPC_STUB IIcadBlockInsert_get_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadBlockInsert_put_Normal_Proxy( 
    IIcadBlockInsert __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);


void __RPC_STUB IIcadBlockInsert_put_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadBlockInsert_get_HasAttributes_Proxy( 
    IIcadBlockInsert __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbHasAttributes);


void __RPC_STUB IIcadBlockInsert_get_HasAttributes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadBlockInsert_get_Rotation_Proxy( 
    IIcadBlockInsert __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pRotation);


void __RPC_STUB IIcadBlockInsert_get_Rotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadBlockInsert_put_Rotation_Proxy( 
    IIcadBlockInsert __RPC_FAR * This,
    /* [in] */ double Rotation);


void __RPC_STUB IIcadBlockInsert_put_Rotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadBlockInsert_get_XScaleFactor_Proxy( 
    IIcadBlockInsert __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pScaleFactor);


void __RPC_STUB IIcadBlockInsert_get_XScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadBlockInsert_put_XScaleFactor_Proxy( 
    IIcadBlockInsert __RPC_FAR * This,
    /* [in] */ double ScaleFactor);


void __RPC_STUB IIcadBlockInsert_put_XScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadBlockInsert_get_YScaleFactor_Proxy( 
    IIcadBlockInsert __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pScaleFactor);


void __RPC_STUB IIcadBlockInsert_get_YScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadBlockInsert_put_YScaleFactor_Proxy( 
    IIcadBlockInsert __RPC_FAR * This,
    /* [in] */ double ScaleFactor);


void __RPC_STUB IIcadBlockInsert_put_YScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadBlockInsert_get_ZScaleFactor_Proxy( 
    IIcadBlockInsert __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pScaleFactor);


void __RPC_STUB IIcadBlockInsert_get_ZScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadBlockInsert_put_ZScaleFactor_Proxy( 
    IIcadBlockInsert __RPC_FAR * This,
    /* [in] */ double ScaleFactor);


void __RPC_STUB IIcadBlockInsert_put_ZScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadBlockInsert_Explode_Proxy( 
    IIcadBlockInsert __RPC_FAR * This,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *pObjects);


void __RPC_STUB IIcadBlockInsert_Explode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadBlockInsert_GetAttributes_Proxy( 
    IIcadBlockInsert __RPC_FAR * This,
    /* [retval][out] */ IIcadAttributes __RPC_FAR *__RPC_FAR *ppAttributes);


void __RPC_STUB IIcadBlockInsert_GetAttributes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadBlockInsert_INTERFACE_DEFINED__ */


#ifndef __IIcadCircle_INTERFACE_DEFINED__
#define __IIcadCircle_INTERFACE_DEFINED__

/* interface IIcadCircle */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadCircle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c169-7e36-11d1-bc5a-0060089608a4")
    IIcadCircle : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Area( 
            /* [retval][out] */ double __RPC_FAR *pArea) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Circumference( 
            /* [retval][out] */ double __RPC_FAR *pCircumference) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Center( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppCenter) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Center( 
            /* [in] */ IIcadPoint __RPC_FAR *Center) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Radius( 
            /* [retval][out] */ double __RPC_FAR *pRadius) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Radius( 
            /* [in] */ double Radius) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double __RPC_FAR *pThick) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double Thick) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Offset( 
            /* [in] */ double Offset,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadCircleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadCircle __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadCircle __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadCircle __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadCircle __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadCircle __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadCircle __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadCircle __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadCircle __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadCircle __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadCircle __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadCircle __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadCircle __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadCircle __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadCircle __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadCircle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadCircle __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadCircle __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadCircle __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadCircle __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadCircle __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Area )( 
            IIcadCircle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pArea);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Circumference )( 
            IIcadCircle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pCircumference);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Center )( 
            IIcadCircle __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppCenter);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Center )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadCircle __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Radius )( 
            IIcadCircle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pRadius);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Radius )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ double Radius);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Thickness )( 
            IIcadCircle __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pThick);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Thickness )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ double Thick);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Offset )( 
            IIcadCircle __RPC_FAR * This,
            /* [in] */ double Offset,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);
        
        END_INTERFACE
    } IIcadCircleVtbl;

    interface IIcadCircle
    {
        CONST_VTBL struct IIcadCircleVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadCircle_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadCircle_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadCircle_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadCircle_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadCircle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadCircle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadCircle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadCircle_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadCircle_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadCircle_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadCircle_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadCircle__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadCircle_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadCircle_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadCircle_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadCircle_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadCircle_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadCircle_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadCircle_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadCircle_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadCircle_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadCircle_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadCircle_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadCircle_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadCircle_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadCircle_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadCircle_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadCircle_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadCircle_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadCircle_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadCircle_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadCircle_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadCircle_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadCircle_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadCircle_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadCircle_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadCircle_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadCircle_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadCircle_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadCircle_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadCircle_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadCircle_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadCircle_get_Area(This,pArea)	\
    (This)->lpVtbl -> get_Area(This,pArea)

#define IIcadCircle_get_Circumference(This,pCircumference)	\
    (This)->lpVtbl -> get_Circumference(This,pCircumference)

#define IIcadCircle_get_Center(This,ppCenter)	\
    (This)->lpVtbl -> get_Center(This,ppCenter)

#define IIcadCircle_put_Center(This,Center)	\
    (This)->lpVtbl -> put_Center(This,Center)

#define IIcadCircle_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadCircle_put_Normal(This,ExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ExtrusionDirection)

#define IIcadCircle_get_Radius(This,pRadius)	\
    (This)->lpVtbl -> get_Radius(This,pRadius)

#define IIcadCircle_put_Radius(This,Radius)	\
    (This)->lpVtbl -> put_Radius(This,Radius)

#define IIcadCircle_get_Thickness(This,pThick)	\
    (This)->lpVtbl -> get_Thickness(This,pThick)

#define IIcadCircle_put_Thickness(This,Thick)	\
    (This)->lpVtbl -> put_Thickness(This,Thick)

#define IIcadCircle_Offset(This,Offset,ppArrayOfEntities)	\
    (This)->lpVtbl -> Offset(This,Offset,ppArrayOfEntities)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadCircle_get_Area_Proxy( 
    IIcadCircle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pArea);


void __RPC_STUB IIcadCircle_get_Area_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadCircle_get_Circumference_Proxy( 
    IIcadCircle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pCircumference);


void __RPC_STUB IIcadCircle_get_Circumference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadCircle_get_Center_Proxy( 
    IIcadCircle __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppCenter);


void __RPC_STUB IIcadCircle_get_Center_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadCircle_put_Center_Proxy( 
    IIcadCircle __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Center);


void __RPC_STUB IIcadCircle_put_Center_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadCircle_get_Normal_Proxy( 
    IIcadCircle __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);


void __RPC_STUB IIcadCircle_get_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadCircle_put_Normal_Proxy( 
    IIcadCircle __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);


void __RPC_STUB IIcadCircle_put_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadCircle_get_Radius_Proxy( 
    IIcadCircle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pRadius);


void __RPC_STUB IIcadCircle_get_Radius_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadCircle_put_Radius_Proxy( 
    IIcadCircle __RPC_FAR * This,
    /* [in] */ double Radius);


void __RPC_STUB IIcadCircle_put_Radius_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadCircle_get_Thickness_Proxy( 
    IIcadCircle __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pThick);


void __RPC_STUB IIcadCircle_get_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadCircle_put_Thickness_Proxy( 
    IIcadCircle __RPC_FAR * This,
    /* [in] */ double Thick);


void __RPC_STUB IIcadCircle_put_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadCircle_Offset_Proxy( 
    IIcadCircle __RPC_FAR * This,
    /* [in] */ double Offset,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);


void __RPC_STUB IIcadCircle_Offset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadCircle_INTERFACE_DEFINED__ */


#ifndef __IIcadEllipse_INTERFACE_DEFINED__
#define __IIcadEllipse_INTERFACE_DEFINED__

/* interface IIcadEllipse */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadEllipse;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c16b-7e36-11d1-bc5a-0060089608a4")
    IIcadEllipse : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Area( 
            /* [retval][out] */ double __RPC_FAR *pArea) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Length( 
            /* [retval][out] */ double __RPC_FAR *pLength) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Center( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppCenter) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Center( 
            /* [in] */ IIcadPoint __RPC_FAR *Center) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EndAngle( 
            /* [retval][out] */ double __RPC_FAR *pAngle) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_EndAngle( 
            /* [in] */ double Angle) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EndParameter( 
            /* [retval][out] */ double __RPC_FAR *pParam) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_EndParameter( 
            /* [in] */ double Param) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EndPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppEndPoint) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MajorAxis( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppMajorAxis) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MajorAxis( 
            /* [in] */ IIcadVector __RPC_FAR *MajorAxis) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MinorAxis( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppMinorAxis) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RadiusRatio( 
            /* [retval][out] */ double __RPC_FAR *pRadius) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RadiusRatio( 
            /* [in] */ double Radius) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StartAngle( 
            /* [retval][out] */ double __RPC_FAR *pAngle) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_StartAngle( 
            /* [in] */ double Angle) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StartParameter( 
            /* [retval][out] */ double __RPC_FAR *pParam) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_StartParameter( 
            /* [in] */ double Param) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StartPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppStartPoint) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Offset( 
            /* [in] */ double Offset,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadEllipseVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadEllipse __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadEllipse __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadEllipse __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadEllipse __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadEllipse __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadEllipse __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadEllipse __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Area )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pArea);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Length )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pLength);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Center )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppCenter);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Center )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EndAngle )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pAngle);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_EndAngle )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ double Angle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EndParameter )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pParam);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_EndParameter )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ double Param);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EndPoint )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppEndPoint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MajorAxis )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppMajorAxis);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MajorAxis )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *MajorAxis);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MinorAxis )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppMinorAxis);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RadiusRatio )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pRadius);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RadiusRatio )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ double Radius);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StartAngle )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pAngle);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StartAngle )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ double Angle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StartParameter )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pParam);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StartParameter )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ double Param);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StartPoint )( 
            IIcadEllipse __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppStartPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Offset )( 
            IIcadEllipse __RPC_FAR * This,
            /* [in] */ double Offset,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);
        
        END_INTERFACE
    } IIcadEllipseVtbl;

    interface IIcadEllipse
    {
        CONST_VTBL struct IIcadEllipseVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadEllipse_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadEllipse_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadEllipse_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadEllipse_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadEllipse_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadEllipse_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadEllipse_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadEllipse_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadEllipse_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadEllipse_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadEllipse_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadEllipse__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadEllipse_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadEllipse_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadEllipse_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadEllipse_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadEllipse_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadEllipse_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadEllipse_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadEllipse_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadEllipse_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadEllipse_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadEllipse_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadEllipse_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadEllipse_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadEllipse_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadEllipse_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadEllipse_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadEllipse_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadEllipse_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadEllipse_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadEllipse_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadEllipse_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadEllipse_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadEllipse_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadEllipse_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadEllipse_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadEllipse_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadEllipse_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadEllipse_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadEllipse_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadEllipse_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadEllipse_get_Area(This,pArea)	\
    (This)->lpVtbl -> get_Area(This,pArea)

#define IIcadEllipse_get_Length(This,pLength)	\
    (This)->lpVtbl -> get_Length(This,pLength)

#define IIcadEllipse_get_Center(This,ppCenter)	\
    (This)->lpVtbl -> get_Center(This,ppCenter)

#define IIcadEllipse_put_Center(This,Center)	\
    (This)->lpVtbl -> put_Center(This,Center)

#define IIcadEllipse_get_EndAngle(This,pAngle)	\
    (This)->lpVtbl -> get_EndAngle(This,pAngle)

#define IIcadEllipse_put_EndAngle(This,Angle)	\
    (This)->lpVtbl -> put_EndAngle(This,Angle)

#define IIcadEllipse_get_EndParameter(This,pParam)	\
    (This)->lpVtbl -> get_EndParameter(This,pParam)

#define IIcadEllipse_put_EndParameter(This,Param)	\
    (This)->lpVtbl -> put_EndParameter(This,Param)

#define IIcadEllipse_get_EndPoint(This,ppEndPoint)	\
    (This)->lpVtbl -> get_EndPoint(This,ppEndPoint)

#define IIcadEllipse_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadEllipse_put_Normal(This,ExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ExtrusionDirection)

#define IIcadEllipse_get_MajorAxis(This,ppMajorAxis)	\
    (This)->lpVtbl -> get_MajorAxis(This,ppMajorAxis)

#define IIcadEllipse_put_MajorAxis(This,MajorAxis)	\
    (This)->lpVtbl -> put_MajorAxis(This,MajorAxis)

#define IIcadEllipse_get_MinorAxis(This,ppMinorAxis)	\
    (This)->lpVtbl -> get_MinorAxis(This,ppMinorAxis)

#define IIcadEllipse_get_RadiusRatio(This,pRadius)	\
    (This)->lpVtbl -> get_RadiusRatio(This,pRadius)

#define IIcadEllipse_put_RadiusRatio(This,Radius)	\
    (This)->lpVtbl -> put_RadiusRatio(This,Radius)

#define IIcadEllipse_get_StartAngle(This,pAngle)	\
    (This)->lpVtbl -> get_StartAngle(This,pAngle)

#define IIcadEllipse_put_StartAngle(This,Angle)	\
    (This)->lpVtbl -> put_StartAngle(This,Angle)

#define IIcadEllipse_get_StartParameter(This,pParam)	\
    (This)->lpVtbl -> get_StartParameter(This,pParam)

#define IIcadEllipse_put_StartParameter(This,Param)	\
    (This)->lpVtbl -> put_StartParameter(This,Param)

#define IIcadEllipse_get_StartPoint(This,ppStartPoint)	\
    (This)->lpVtbl -> get_StartPoint(This,ppStartPoint)

#define IIcadEllipse_Offset(This,Offset,ppArrayOfEntities)	\
    (This)->lpVtbl -> Offset(This,Offset,ppArrayOfEntities)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEllipse_get_Area_Proxy( 
    IIcadEllipse __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pArea);


void __RPC_STUB IIcadEllipse_get_Area_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEllipse_get_Length_Proxy( 
    IIcadEllipse __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pLength);


void __RPC_STUB IIcadEllipse_get_Length_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEllipse_get_Center_Proxy( 
    IIcadEllipse __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppCenter);


void __RPC_STUB IIcadEllipse_get_Center_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadEllipse_put_Center_Proxy( 
    IIcadEllipse __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Center);


void __RPC_STUB IIcadEllipse_put_Center_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEllipse_get_EndAngle_Proxy( 
    IIcadEllipse __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pAngle);


void __RPC_STUB IIcadEllipse_get_EndAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadEllipse_put_EndAngle_Proxy( 
    IIcadEllipse __RPC_FAR * This,
    /* [in] */ double Angle);


void __RPC_STUB IIcadEllipse_put_EndAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEllipse_get_EndParameter_Proxy( 
    IIcadEllipse __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pParam);


void __RPC_STUB IIcadEllipse_get_EndParameter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadEllipse_put_EndParameter_Proxy( 
    IIcadEllipse __RPC_FAR * This,
    /* [in] */ double Param);


void __RPC_STUB IIcadEllipse_put_EndParameter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEllipse_get_EndPoint_Proxy( 
    IIcadEllipse __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppEndPoint);


void __RPC_STUB IIcadEllipse_get_EndPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEllipse_get_Normal_Proxy( 
    IIcadEllipse __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);


void __RPC_STUB IIcadEllipse_get_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadEllipse_put_Normal_Proxy( 
    IIcadEllipse __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);


void __RPC_STUB IIcadEllipse_put_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEllipse_get_MajorAxis_Proxy( 
    IIcadEllipse __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppMajorAxis);


void __RPC_STUB IIcadEllipse_get_MajorAxis_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadEllipse_put_MajorAxis_Proxy( 
    IIcadEllipse __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *MajorAxis);


void __RPC_STUB IIcadEllipse_put_MajorAxis_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEllipse_get_MinorAxis_Proxy( 
    IIcadEllipse __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppMinorAxis);


void __RPC_STUB IIcadEllipse_get_MinorAxis_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEllipse_get_RadiusRatio_Proxy( 
    IIcadEllipse __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pRadius);


void __RPC_STUB IIcadEllipse_get_RadiusRatio_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadEllipse_put_RadiusRatio_Proxy( 
    IIcadEllipse __RPC_FAR * This,
    /* [in] */ double Radius);


void __RPC_STUB IIcadEllipse_put_RadiusRatio_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEllipse_get_StartAngle_Proxy( 
    IIcadEllipse __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pAngle);


void __RPC_STUB IIcadEllipse_get_StartAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadEllipse_put_StartAngle_Proxy( 
    IIcadEllipse __RPC_FAR * This,
    /* [in] */ double Angle);


void __RPC_STUB IIcadEllipse_put_StartAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEllipse_get_StartParameter_Proxy( 
    IIcadEllipse __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pParam);


void __RPC_STUB IIcadEllipse_get_StartParameter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadEllipse_put_StartParameter_Proxy( 
    IIcadEllipse __RPC_FAR * This,
    /* [in] */ double Param);


void __RPC_STUB IIcadEllipse_put_StartParameter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadEllipse_get_StartPoint_Proxy( 
    IIcadEllipse __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppStartPoint);


void __RPC_STUB IIcadEllipse_get_StartPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadEllipse_Offset_Proxy( 
    IIcadEllipse __RPC_FAR * This,
    /* [in] */ double Offset,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);


void __RPC_STUB IIcadEllipse_Offset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadEllipse_INTERFACE_DEFINED__ */


#ifndef __IIcadHatch_INTERFACE_DEFINED__
#define __IIcadHatch_INTERFACE_DEFINED__

/* interface IIcadHatch */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadHatch;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c16c-7e36-11d1-bc5a-0060089608a4")
    IIcadHatch : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AssociativeHatch( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Associative) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_HatchStyle( 
            /* [retval][out] */ HatchStyle __RPC_FAR *pHatch) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HatchStyle( 
            /* [in] */ HatchStyle Hatch) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PatternAngle( 
            /* [retval][out] */ double __RPC_FAR *pAngle) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PatternAngle( 
            /* [in] */ double Angle) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PatternDouble( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pPat) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PatternDouble( 
            /* [in] */ VARIANT_BOOL Pat) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PatternName( 
            /* [retval][out] */ BSTR __RPC_FAR *pPatternName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PatternName( 
            /* [in] */ BSTR PatternName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PatternScale( 
            /* [retval][out] */ double __RPC_FAR *pScale) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PatternScale( 
            /* [in] */ double Scale) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PatternSpace( 
            /* [retval][out] */ double __RPC_FAR *pSpace) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PatternSpace( 
            /* [in] */ double Space) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PatternType( 
            /* [retval][out] */ HatchType __RPC_FAR *pType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PatternType( 
            /* [in] */ HatchType Type) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPattern( 
            /* [in] */ HatchType Type,
            /* [in] */ BSTR PatternName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ApplyHatch( 
            /* [in] */ IIcadSelectionSet __RPC_FAR *ObjectsToHatch,
            /* [in] */ IIcadPoints __RPC_FAR *SeedPoints) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadHatchVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadHatch __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadHatch __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadHatch __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadHatch __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadHatch __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadHatch __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadHatch __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadHatch __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadHatch __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadHatch __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadHatch __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadHatch __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadHatch __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadHatch __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadHatch __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadHatch __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadHatch __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadHatch __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadHatch __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadHatch __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AssociativeHatch )( 
            IIcadHatch __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Associative);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadHatch __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HatchStyle )( 
            IIcadHatch __RPC_FAR * This,
            /* [retval][out] */ HatchStyle __RPC_FAR *pHatch);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_HatchStyle )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ HatchStyle Hatch);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PatternAngle )( 
            IIcadHatch __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pAngle);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PatternAngle )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ double Angle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PatternDouble )( 
            IIcadHatch __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pPat);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PatternDouble )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Pat);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PatternName )( 
            IIcadHatch __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pPatternName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PatternName )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ BSTR PatternName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PatternScale )( 
            IIcadHatch __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PatternScale )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ double Scale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PatternSpace )( 
            IIcadHatch __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pSpace);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PatternSpace )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ double Space);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PatternType )( 
            IIcadHatch __RPC_FAR * This,
            /* [retval][out] */ HatchType __RPC_FAR *pType);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PatternType )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ HatchType Type);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPattern )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ HatchType Type,
            /* [in] */ BSTR PatternName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ApplyHatch )( 
            IIcadHatch __RPC_FAR * This,
            /* [in] */ IIcadSelectionSet __RPC_FAR *ObjectsToHatch,
            /* [in] */ IIcadPoints __RPC_FAR *SeedPoints);
        
        END_INTERFACE
    } IIcadHatchVtbl;

    interface IIcadHatch
    {
        CONST_VTBL struct IIcadHatchVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadHatch_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadHatch_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadHatch_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadHatch_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadHatch_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadHatch_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadHatch_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadHatch_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadHatch_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadHatch_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadHatch_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadHatch__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadHatch_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadHatch_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadHatch_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadHatch_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadHatch_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadHatch_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadHatch_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadHatch_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadHatch_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadHatch_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadHatch_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadHatch_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadHatch_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadHatch_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadHatch_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadHatch_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadHatch_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadHatch_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadHatch_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadHatch_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadHatch_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadHatch_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadHatch_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadHatch_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadHatch_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadHatch_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadHatch_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadHatch_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadHatch_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadHatch_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadHatch_get_AssociativeHatch(This,Associative)	\
    (This)->lpVtbl -> get_AssociativeHatch(This,Associative)

#define IIcadHatch_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadHatch_put_Normal(This,ExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ExtrusionDirection)

#define IIcadHatch_get_HatchStyle(This,pHatch)	\
    (This)->lpVtbl -> get_HatchStyle(This,pHatch)

#define IIcadHatch_put_HatchStyle(This,Hatch)	\
    (This)->lpVtbl -> put_HatchStyle(This,Hatch)

#define IIcadHatch_get_PatternAngle(This,pAngle)	\
    (This)->lpVtbl -> get_PatternAngle(This,pAngle)

#define IIcadHatch_put_PatternAngle(This,Angle)	\
    (This)->lpVtbl -> put_PatternAngle(This,Angle)

#define IIcadHatch_get_PatternDouble(This,pPat)	\
    (This)->lpVtbl -> get_PatternDouble(This,pPat)

#define IIcadHatch_put_PatternDouble(This,Pat)	\
    (This)->lpVtbl -> put_PatternDouble(This,Pat)

#define IIcadHatch_get_PatternName(This,pPatternName)	\
    (This)->lpVtbl -> get_PatternName(This,pPatternName)

#define IIcadHatch_put_PatternName(This,PatternName)	\
    (This)->lpVtbl -> put_PatternName(This,PatternName)

#define IIcadHatch_get_PatternScale(This,pScale)	\
    (This)->lpVtbl -> get_PatternScale(This,pScale)

#define IIcadHatch_put_PatternScale(This,Scale)	\
    (This)->lpVtbl -> put_PatternScale(This,Scale)

#define IIcadHatch_get_PatternSpace(This,pSpace)	\
    (This)->lpVtbl -> get_PatternSpace(This,pSpace)

#define IIcadHatch_put_PatternSpace(This,Space)	\
    (This)->lpVtbl -> put_PatternSpace(This,Space)

#define IIcadHatch_get_PatternType(This,pType)	\
    (This)->lpVtbl -> get_PatternType(This,pType)

#define IIcadHatch_put_PatternType(This,Type)	\
    (This)->lpVtbl -> put_PatternType(This,Type)

#define IIcadHatch_SetPattern(This,Type,PatternName)	\
    (This)->lpVtbl -> SetPattern(This,Type,PatternName)

#define IIcadHatch_ApplyHatch(This,ObjectsToHatch,SeedPoints)	\
    (This)->lpVtbl -> ApplyHatch(This,ObjectsToHatch,SeedPoints)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadHatch_get_AssociativeHatch_Proxy( 
    IIcadHatch __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Associative);


void __RPC_STUB IIcadHatch_get_AssociativeHatch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadHatch_get_Normal_Proxy( 
    IIcadHatch __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);


void __RPC_STUB IIcadHatch_get_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadHatch_put_Normal_Proxy( 
    IIcadHatch __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);


void __RPC_STUB IIcadHatch_put_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadHatch_get_HatchStyle_Proxy( 
    IIcadHatch __RPC_FAR * This,
    /* [retval][out] */ HatchStyle __RPC_FAR *pHatch);


void __RPC_STUB IIcadHatch_get_HatchStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadHatch_put_HatchStyle_Proxy( 
    IIcadHatch __RPC_FAR * This,
    /* [in] */ HatchStyle Hatch);


void __RPC_STUB IIcadHatch_put_HatchStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadHatch_get_PatternAngle_Proxy( 
    IIcadHatch __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pAngle);


void __RPC_STUB IIcadHatch_get_PatternAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadHatch_put_PatternAngle_Proxy( 
    IIcadHatch __RPC_FAR * This,
    /* [in] */ double Angle);


void __RPC_STUB IIcadHatch_put_PatternAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadHatch_get_PatternDouble_Proxy( 
    IIcadHatch __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pPat);


void __RPC_STUB IIcadHatch_get_PatternDouble_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadHatch_put_PatternDouble_Proxy( 
    IIcadHatch __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Pat);


void __RPC_STUB IIcadHatch_put_PatternDouble_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadHatch_get_PatternName_Proxy( 
    IIcadHatch __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pPatternName);


void __RPC_STUB IIcadHatch_get_PatternName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadHatch_put_PatternName_Proxy( 
    IIcadHatch __RPC_FAR * This,
    /* [in] */ BSTR PatternName);


void __RPC_STUB IIcadHatch_put_PatternName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadHatch_get_PatternScale_Proxy( 
    IIcadHatch __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pScale);


void __RPC_STUB IIcadHatch_get_PatternScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadHatch_put_PatternScale_Proxy( 
    IIcadHatch __RPC_FAR * This,
    /* [in] */ double Scale);


void __RPC_STUB IIcadHatch_put_PatternScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadHatch_get_PatternSpace_Proxy( 
    IIcadHatch __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pSpace);


void __RPC_STUB IIcadHatch_get_PatternSpace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadHatch_put_PatternSpace_Proxy( 
    IIcadHatch __RPC_FAR * This,
    /* [in] */ double Space);


void __RPC_STUB IIcadHatch_put_PatternSpace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadHatch_get_PatternType_Proxy( 
    IIcadHatch __RPC_FAR * This,
    /* [retval][out] */ HatchType __RPC_FAR *pType);


void __RPC_STUB IIcadHatch_get_PatternType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadHatch_put_PatternType_Proxy( 
    IIcadHatch __RPC_FAR * This,
    /* [in] */ HatchType Type);


void __RPC_STUB IIcadHatch_put_PatternType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadHatch_SetPattern_Proxy( 
    IIcadHatch __RPC_FAR * This,
    /* [in] */ HatchType Type,
    /* [in] */ BSTR PatternName);


void __RPC_STUB IIcadHatch_SetPattern_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadHatch_ApplyHatch_Proxy( 
    IIcadHatch __RPC_FAR * This,
    /* [in] */ IIcadSelectionSet __RPC_FAR *ObjectsToHatch,
    /* [in] */ IIcadPoints __RPC_FAR *SeedPoints);


void __RPC_STUB IIcadHatch_ApplyHatch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadHatch_INTERFACE_DEFINED__ */


#ifndef __IIcadLeader_INTERFACE_DEFINED__
#define __IIcadLeader_INTERFACE_DEFINED__

/* interface IIcadLeader */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadLeader;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c16d-7e36-11d1-bc5a-0060089608a4")
    IIcadLeader : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Annotation( 
            /* [retval][out] */ BSTR __RPC_FAR *pAnnot) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Annotation( 
            /* [in] */ BSTR Annot) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ IIcadPoints __RPC_FAR *Coords) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StyleName( 
            /* [retval][out] */ BSTR __RPC_FAR *pStyleName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_StyleName( 
            /* [in] */ BSTR StyleName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ LeaderType __RPC_FAR *pType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ LeaderType Type) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadLeaderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadLeader __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadLeader __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadLeader __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadLeader __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadLeader __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadLeader __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadLeader __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadLeader __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadLeader __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadLeader __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadLeader __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadLeader __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadLeader __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadLeader __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadLeader __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadLeader __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadLeader __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadLeader __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadLeader __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadLeader __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Annotation )( 
            IIcadLeader __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pAnnot);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Annotation )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ BSTR Annot);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Coordinates )( 
            IIcadLeader __RPC_FAR * This,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Coordinates )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Coords);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadLeader __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StyleName )( 
            IIcadLeader __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pStyleName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StyleName )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ BSTR StyleName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )( 
            IIcadLeader __RPC_FAR * This,
            /* [retval][out] */ LeaderType __RPC_FAR *pType);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Type )( 
            IIcadLeader __RPC_FAR * This,
            /* [in] */ LeaderType Type);
        
        END_INTERFACE
    } IIcadLeaderVtbl;

    interface IIcadLeader
    {
        CONST_VTBL struct IIcadLeaderVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadLeader_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadLeader_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadLeader_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadLeader_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadLeader_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadLeader_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadLeader_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadLeader_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadLeader_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadLeader_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadLeader_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadLeader__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadLeader_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadLeader_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadLeader_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadLeader_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadLeader_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadLeader_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadLeader_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadLeader_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadLeader_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadLeader_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadLeader_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadLeader_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadLeader_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadLeader_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadLeader_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadLeader_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadLeader_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadLeader_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadLeader_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadLeader_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadLeader_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadLeader_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadLeader_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadLeader_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadLeader_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadLeader_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadLeader_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadLeader_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadLeader_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadLeader_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadLeader_get_Annotation(This,pAnnot)	\
    (This)->lpVtbl -> get_Annotation(This,pAnnot)

#define IIcadLeader_put_Annotation(This,Annot)	\
    (This)->lpVtbl -> put_Annotation(This,Annot)

#define IIcadLeader_get_Coordinates(This,ppCoords)	\
    (This)->lpVtbl -> get_Coordinates(This,ppCoords)

#define IIcadLeader_put_Coordinates(This,Coords)	\
    (This)->lpVtbl -> put_Coordinates(This,Coords)

#define IIcadLeader_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadLeader_put_Normal(This,ExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ExtrusionDirection)

#define IIcadLeader_get_StyleName(This,pStyleName)	\
    (This)->lpVtbl -> get_StyleName(This,pStyleName)

#define IIcadLeader_put_StyleName(This,StyleName)	\
    (This)->lpVtbl -> put_StyleName(This,StyleName)

#define IIcadLeader_get_Type(This,pType)	\
    (This)->lpVtbl -> get_Type(This,pType)

#define IIcadLeader_put_Type(This,Type)	\
    (This)->lpVtbl -> put_Type(This,Type)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLeader_get_Annotation_Proxy( 
    IIcadLeader __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pAnnot);


void __RPC_STUB IIcadLeader_get_Annotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadLeader_put_Annotation_Proxy( 
    IIcadLeader __RPC_FAR * This,
    /* [in] */ BSTR Annot);


void __RPC_STUB IIcadLeader_put_Annotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLeader_get_Coordinates_Proxy( 
    IIcadLeader __RPC_FAR * This,
    /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords);


void __RPC_STUB IIcadLeader_get_Coordinates_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadLeader_put_Coordinates_Proxy( 
    IIcadLeader __RPC_FAR * This,
    /* [in] */ IIcadPoints __RPC_FAR *Coords);


void __RPC_STUB IIcadLeader_put_Coordinates_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLeader_get_Normal_Proxy( 
    IIcadLeader __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);


void __RPC_STUB IIcadLeader_get_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadLeader_put_Normal_Proxy( 
    IIcadLeader __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);


void __RPC_STUB IIcadLeader_put_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLeader_get_StyleName_Proxy( 
    IIcadLeader __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pStyleName);


void __RPC_STUB IIcadLeader_get_StyleName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadLeader_put_StyleName_Proxy( 
    IIcadLeader __RPC_FAR * This,
    /* [in] */ BSTR StyleName);


void __RPC_STUB IIcadLeader_put_StyleName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLeader_get_Type_Proxy( 
    IIcadLeader __RPC_FAR * This,
    /* [retval][out] */ LeaderType __RPC_FAR *pType);


void __RPC_STUB IIcadLeader_get_Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadLeader_put_Type_Proxy( 
    IIcadLeader __RPC_FAR * This,
    /* [in] */ LeaderType Type);


void __RPC_STUB IIcadLeader_put_Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadLeader_INTERFACE_DEFINED__ */


#ifndef __IIcadLine_INTERFACE_DEFINED__
#define __IIcadLine_INTERFACE_DEFINED__

/* interface IIcadLine */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadLine;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c16f-7e36-11d1-bc5a-0060089608a4")
    IIcadLine : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EndPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_EndPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *Point) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Length( 
            /* [retval][out] */ double __RPC_FAR *pLength) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StartPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_StartPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *Point) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double __RPC_FAR *pThick) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double Thick) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Offset( 
            /* [in] */ double Offset,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadLineVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadLine __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadLine __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadLine __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadLine __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadLine __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadLine __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadLine __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadLine __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadLine __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadLine __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadLine __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadLine __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadLine __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadLine __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadLine __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadLine __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadLine __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadLine __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadLine __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadLine __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EndPoint )( 
            IIcadLine __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_EndPoint )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadLine __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Length )( 
            IIcadLine __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pLength);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StartPoint )( 
            IIcadLine __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StartPoint )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Thickness )( 
            IIcadLine __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pThick);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Thickness )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ double Thick);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Offset )( 
            IIcadLine __RPC_FAR * This,
            /* [in] */ double Offset,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);
        
        END_INTERFACE
    } IIcadLineVtbl;

    interface IIcadLine
    {
        CONST_VTBL struct IIcadLineVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadLine_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadLine_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadLine_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadLine_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadLine_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadLine_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadLine_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadLine_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadLine_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadLine_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadLine_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadLine__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadLine_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadLine_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadLine_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadLine_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadLine_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadLine_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadLine_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadLine_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadLine_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadLine_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadLine_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadLine_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadLine_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadLine_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadLine_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadLine_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadLine_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadLine_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadLine_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadLine_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadLine_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadLine_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadLine_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadLine_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadLine_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadLine_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadLine_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadLine_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadLine_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadLine_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadLine_get_EndPoint(This,ppPoint)	\
    (This)->lpVtbl -> get_EndPoint(This,ppPoint)

#define IIcadLine_put_EndPoint(This,Point)	\
    (This)->lpVtbl -> put_EndPoint(This,Point)

#define IIcadLine_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadLine_put_Normal(This,ExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ExtrusionDirection)

#define IIcadLine_get_Length(This,pLength)	\
    (This)->lpVtbl -> get_Length(This,pLength)

#define IIcadLine_get_StartPoint(This,ppPoint)	\
    (This)->lpVtbl -> get_StartPoint(This,ppPoint)

#define IIcadLine_put_StartPoint(This,Point)	\
    (This)->lpVtbl -> put_StartPoint(This,Point)

#define IIcadLine_get_Thickness(This,pThick)	\
    (This)->lpVtbl -> get_Thickness(This,pThick)

#define IIcadLine_put_Thickness(This,Thick)	\
    (This)->lpVtbl -> put_Thickness(This,Thick)

#define IIcadLine_Offset(This,Offset,ppArrayOfEntities)	\
    (This)->lpVtbl -> Offset(This,Offset,ppArrayOfEntities)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLine_get_EndPoint_Proxy( 
    IIcadLine __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint);


void __RPC_STUB IIcadLine_get_EndPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadLine_put_EndPoint_Proxy( 
    IIcadLine __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point);


void __RPC_STUB IIcadLine_put_EndPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLine_get_Normal_Proxy( 
    IIcadLine __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);


void __RPC_STUB IIcadLine_get_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadLine_put_Normal_Proxy( 
    IIcadLine __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);


void __RPC_STUB IIcadLine_put_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLine_get_Length_Proxy( 
    IIcadLine __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pLength);


void __RPC_STUB IIcadLine_get_Length_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLine_get_StartPoint_Proxy( 
    IIcadLine __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint);


void __RPC_STUB IIcadLine_get_StartPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadLine_put_StartPoint_Proxy( 
    IIcadLine __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point);


void __RPC_STUB IIcadLine_put_StartPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLine_get_Thickness_Proxy( 
    IIcadLine __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pThick);


void __RPC_STUB IIcadLine_get_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadLine_put_Thickness_Proxy( 
    IIcadLine __RPC_FAR * This,
    /* [in] */ double Thick);


void __RPC_STUB IIcadLine_put_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLine_Offset_Proxy( 
    IIcadLine __RPC_FAR * This,
    /* [in] */ double Offset,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);


void __RPC_STUB IIcadLine_Offset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadLine_INTERFACE_DEFINED__ */


#ifndef __IIcadLightWeightPolyline_INTERFACE_DEFINED__
#define __IIcadLightWeightPolyline_INTERFACE_DEFINED__

/* interface IIcadLightWeightPolyline */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadLightWeightPolyline;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c16e-7e36-11d1-bc5a-0060089608a4")
    IIcadLightWeightPolyline : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Area( 
            /* [retval][out] */ double __RPC_FAR *pArea) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Length( 
            /* [retval][out] */ double __RPC_FAR *pLength) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Closed( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pClosed) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Closed( 
            /* [in] */ VARIANT_BOOL Closed) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ IIcadPoints __RPC_FAR *Coords) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double __RPC_FAR *pThick) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double Thick) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddVertex( 
            /* [in] */ int Index,
            /* [in] */ IIcadPoint __RPC_FAR *Point) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Explode( 
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBulge( 
            /* [in] */ int Index,
            /* [retval][out] */ double __RPC_FAR *pBulge) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetWidth( 
            /* [in] */ int Index,
            /* [out][in] */ double __RPC_FAR *StartWidth,
            /* [out][in] */ double __RPC_FAR *EndWidth) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Offset( 
            /* [in] */ double Offset,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetBulge( 
            /* [in] */ int Index,
            /* [in] */ double Bulge) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetWidth( 
            /* [in] */ int SegmentIndex,
            /* [in] */ double StartWidth,
            /* [in] */ double EndWidth) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadLightWeightPolylineVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadLightWeightPolyline __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadLightWeightPolyline __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadLightWeightPolyline __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadLightWeightPolyline __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadLightWeightPolyline __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Area )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pArea);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Length )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pLength);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Closed )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pClosed);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Closed )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Closed);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Coordinates )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Coordinates )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Coords);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Thickness )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pThick);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Thickness )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ double Thick);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddVertex )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ int Index,
            /* [in] */ IIcadPoint __RPC_FAR *Point);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Explode )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBulge )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ int Index,
            /* [retval][out] */ double __RPC_FAR *pBulge);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetWidth )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ int Index,
            /* [out][in] */ double __RPC_FAR *StartWidth,
            /* [out][in] */ double __RPC_FAR *EndWidth);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Offset )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ double Offset,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBulge )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ int Index,
            /* [in] */ double Bulge);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetWidth )( 
            IIcadLightWeightPolyline __RPC_FAR * This,
            /* [in] */ int SegmentIndex,
            /* [in] */ double StartWidth,
            /* [in] */ double EndWidth);
        
        END_INTERFACE
    } IIcadLightWeightPolylineVtbl;

    interface IIcadLightWeightPolyline
    {
        CONST_VTBL struct IIcadLightWeightPolylineVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadLightWeightPolyline_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadLightWeightPolyline_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadLightWeightPolyline_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadLightWeightPolyline_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadLightWeightPolyline_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadLightWeightPolyline_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadLightWeightPolyline_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadLightWeightPolyline_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadLightWeightPolyline_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadLightWeightPolyline_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadLightWeightPolyline_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadLightWeightPolyline__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadLightWeightPolyline_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadLightWeightPolyline_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadLightWeightPolyline_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadLightWeightPolyline_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadLightWeightPolyline_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadLightWeightPolyline_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadLightWeightPolyline_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadLightWeightPolyline_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadLightWeightPolyline_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadLightWeightPolyline_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadLightWeightPolyline_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadLightWeightPolyline_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadLightWeightPolyline_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadLightWeightPolyline_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadLightWeightPolyline_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadLightWeightPolyline_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadLightWeightPolyline_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadLightWeightPolyline_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadLightWeightPolyline_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadLightWeightPolyline_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadLightWeightPolyline_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadLightWeightPolyline_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadLightWeightPolyline_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadLightWeightPolyline_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadLightWeightPolyline_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadLightWeightPolyline_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadLightWeightPolyline_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadLightWeightPolyline_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadLightWeightPolyline_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadLightWeightPolyline_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadLightWeightPolyline_get_Area(This,pArea)	\
    (This)->lpVtbl -> get_Area(This,pArea)

#define IIcadLightWeightPolyline_get_Length(This,pLength)	\
    (This)->lpVtbl -> get_Length(This,pLength)

#define IIcadLightWeightPolyline_get_Closed(This,pClosed)	\
    (This)->lpVtbl -> get_Closed(This,pClosed)

#define IIcadLightWeightPolyline_put_Closed(This,Closed)	\
    (This)->lpVtbl -> put_Closed(This,Closed)

#define IIcadLightWeightPolyline_get_Coordinates(This,ppCoords)	\
    (This)->lpVtbl -> get_Coordinates(This,ppCoords)

#define IIcadLightWeightPolyline_put_Coordinates(This,Coords)	\
    (This)->lpVtbl -> put_Coordinates(This,Coords)

#define IIcadLightWeightPolyline_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadLightWeightPolyline_put_Normal(This,ExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ExtrusionDirection)

#define IIcadLightWeightPolyline_get_Thickness(This,pThick)	\
    (This)->lpVtbl -> get_Thickness(This,pThick)

#define IIcadLightWeightPolyline_put_Thickness(This,Thick)	\
    (This)->lpVtbl -> put_Thickness(This,Thick)

#define IIcadLightWeightPolyline_AddVertex(This,Index,Point)	\
    (This)->lpVtbl -> AddVertex(This,Index,Point)

#define IIcadLightWeightPolyline_Explode(This,ppArrayOfEntities)	\
    (This)->lpVtbl -> Explode(This,ppArrayOfEntities)

#define IIcadLightWeightPolyline_GetBulge(This,Index,pBulge)	\
    (This)->lpVtbl -> GetBulge(This,Index,pBulge)

#define IIcadLightWeightPolyline_GetWidth(This,Index,StartWidth,EndWidth)	\
    (This)->lpVtbl -> GetWidth(This,Index,StartWidth,EndWidth)

#define IIcadLightWeightPolyline_Offset(This,Offset,ppArrayOfEntities)	\
    (This)->lpVtbl -> Offset(This,Offset,ppArrayOfEntities)

#define IIcadLightWeightPolyline_SetBulge(This,Index,Bulge)	\
    (This)->lpVtbl -> SetBulge(This,Index,Bulge)

#define IIcadLightWeightPolyline_SetWidth(This,SegmentIndex,StartWidth,EndWidth)	\
    (This)->lpVtbl -> SetWidth(This,SegmentIndex,StartWidth,EndWidth)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLightWeightPolyline_get_Area_Proxy( 
    IIcadLightWeightPolyline __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pArea);


void __RPC_STUB IIcadLightWeightPolyline_get_Area_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLightWeightPolyline_get_Length_Proxy( 
    IIcadLightWeightPolyline __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pLength);


void __RPC_STUB IIcadLightWeightPolyline_get_Length_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLightWeightPolyline_get_Closed_Proxy( 
    IIcadLightWeightPolyline __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pClosed);


void __RPC_STUB IIcadLightWeightPolyline_get_Closed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadLightWeightPolyline_put_Closed_Proxy( 
    IIcadLightWeightPolyline __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Closed);


void __RPC_STUB IIcadLightWeightPolyline_put_Closed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLightWeightPolyline_get_Coordinates_Proxy( 
    IIcadLightWeightPolyline __RPC_FAR * This,
    /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords);


void __RPC_STUB IIcadLightWeightPolyline_get_Coordinates_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadLightWeightPolyline_put_Coordinates_Proxy( 
    IIcadLightWeightPolyline __RPC_FAR * This,
    /* [in] */ IIcadPoints __RPC_FAR *Coords);


void __RPC_STUB IIcadLightWeightPolyline_put_Coordinates_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLightWeightPolyline_get_Normal_Proxy( 
    IIcadLightWeightPolyline __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);


void __RPC_STUB IIcadLightWeightPolyline_get_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadLightWeightPolyline_put_Normal_Proxy( 
    IIcadLightWeightPolyline __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);


void __RPC_STUB IIcadLightWeightPolyline_put_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadLightWeightPolyline_get_Thickness_Proxy( 
    IIcadLightWeightPolyline __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pThick);


void __RPC_STUB IIcadLightWeightPolyline_get_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadLightWeightPolyline_put_Thickness_Proxy( 
    IIcadLightWeightPolyline __RPC_FAR * This,
    /* [in] */ double Thick);


void __RPC_STUB IIcadLightWeightPolyline_put_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLightWeightPolyline_AddVertex_Proxy( 
    IIcadLightWeightPolyline __RPC_FAR * This,
    /* [in] */ int Index,
    /* [in] */ IIcadPoint __RPC_FAR *Point);


void __RPC_STUB IIcadLightWeightPolyline_AddVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLightWeightPolyline_Explode_Proxy( 
    IIcadLightWeightPolyline __RPC_FAR * This,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);


void __RPC_STUB IIcadLightWeightPolyline_Explode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLightWeightPolyline_GetBulge_Proxy( 
    IIcadLightWeightPolyline __RPC_FAR * This,
    /* [in] */ int Index,
    /* [retval][out] */ double __RPC_FAR *pBulge);


void __RPC_STUB IIcadLightWeightPolyline_GetBulge_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLightWeightPolyline_GetWidth_Proxy( 
    IIcadLightWeightPolyline __RPC_FAR * This,
    /* [in] */ int Index,
    /* [out][in] */ double __RPC_FAR *StartWidth,
    /* [out][in] */ double __RPC_FAR *EndWidth);


void __RPC_STUB IIcadLightWeightPolyline_GetWidth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLightWeightPolyline_Offset_Proxy( 
    IIcadLightWeightPolyline __RPC_FAR * This,
    /* [in] */ double Offset,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);


void __RPC_STUB IIcadLightWeightPolyline_Offset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLightWeightPolyline_SetBulge_Proxy( 
    IIcadLightWeightPolyline __RPC_FAR * This,
    /* [in] */ int Index,
    /* [in] */ double Bulge);


void __RPC_STUB IIcadLightWeightPolyline_SetBulge_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadLightWeightPolyline_SetWidth_Proxy( 
    IIcadLightWeightPolyline __RPC_FAR * This,
    /* [in] */ int SegmentIndex,
    /* [in] */ double StartWidth,
    /* [in] */ double EndWidth);


void __RPC_STUB IIcadLightWeightPolyline_SetWidth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadLightWeightPolyline_INTERFACE_DEFINED__ */


#ifndef __IIcadMText_INTERFACE_DEFINED__
#define __IIcadMText_INTERFACE_DEFINED__

/* interface IIcadMText */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadMText;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c170-7e36-11d1-bc5a-0060089608a4")
    IIcadMText : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AttachmentPoint( 
            /* [retval][out] */ AttachmentPoint __RPC_FAR *pPoint) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AttachmentPoint( 
            /* [in] */ AttachmentPoint Point) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DrawingDirection( 
            /* [retval][out] */ DrawingDirection __RPC_FAR *pDrawingDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DrawingDirection( 
            /* [in] */ DrawingDirection DrawingDirection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double __RPC_FAR *pHeight) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double Height) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InsertionPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsertPoint) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_InsertionPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *InsertPoint) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ double __RPC_FAR *pRotation) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ double Rotation) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StyleName( 
            /* [retval][out] */ BSTR __RPC_FAR *pStyleName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_StyleName( 
            /* [in] */ BSTR StyleName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextString( 
            /* [retval][out] */ BSTR __RPC_FAR *pText) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextString( 
            /* [in] */ BSTR Text) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ double __RPC_FAR *pWidth) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ double Width) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Explode( 
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *pObjects) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadMTextVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadMText __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadMText __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadMText __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadMText __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadMText __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadMText __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadMText __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AttachmentPoint )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ AttachmentPoint __RPC_FAR *pPoint);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AttachmentPoint )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ AttachmentPoint Point);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DrawingDirection )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ DrawingDirection __RPC_FAR *pDrawingDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DrawingDirection )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ DrawingDirection DrawingDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Height )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pHeight);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Height )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ double Height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InsertionPoint )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsertPoint);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_InsertionPoint )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *InsertPoint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rotation )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pRotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rotation )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StyleName )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pStyleName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StyleName )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ BSTR StyleName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextString )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pText);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextString )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ BSTR Text);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Width )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pWidth);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Width )( 
            IIcadMText __RPC_FAR * This,
            /* [in] */ double Width);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Explode )( 
            IIcadMText __RPC_FAR * This,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *pObjects);
        
        END_INTERFACE
    } IIcadMTextVtbl;

    interface IIcadMText
    {
        CONST_VTBL struct IIcadMTextVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadMText_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadMText_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadMText_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadMText_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadMText_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadMText_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadMText_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadMText_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadMText_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadMText_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadMText_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadMText__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadMText_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadMText_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadMText_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadMText_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadMText_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadMText_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadMText_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadMText_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadMText_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadMText_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadMText_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadMText_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadMText_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadMText_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadMText_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadMText_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadMText_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadMText_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadMText_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadMText_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadMText_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadMText_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadMText_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadMText_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadMText_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadMText_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadMText_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadMText_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadMText_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadMText_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadMText_get_AttachmentPoint(This,pPoint)	\
    (This)->lpVtbl -> get_AttachmentPoint(This,pPoint)

#define IIcadMText_put_AttachmentPoint(This,Point)	\
    (This)->lpVtbl -> put_AttachmentPoint(This,Point)

#define IIcadMText_get_DrawingDirection(This,pDrawingDirection)	\
    (This)->lpVtbl -> get_DrawingDirection(This,pDrawingDirection)

#define IIcadMText_put_DrawingDirection(This,DrawingDirection)	\
    (This)->lpVtbl -> put_DrawingDirection(This,DrawingDirection)

#define IIcadMText_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadMText_put_Normal(This,ExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ExtrusionDirection)

#define IIcadMText_get_Height(This,pHeight)	\
    (This)->lpVtbl -> get_Height(This,pHeight)

#define IIcadMText_put_Height(This,Height)	\
    (This)->lpVtbl -> put_Height(This,Height)

#define IIcadMText_get_InsertionPoint(This,ppInsertPoint)	\
    (This)->lpVtbl -> get_InsertionPoint(This,ppInsertPoint)

#define IIcadMText_put_InsertionPoint(This,InsertPoint)	\
    (This)->lpVtbl -> put_InsertionPoint(This,InsertPoint)

#define IIcadMText_get_Rotation(This,pRotation)	\
    (This)->lpVtbl -> get_Rotation(This,pRotation)

#define IIcadMText_put_Rotation(This,Rotation)	\
    (This)->lpVtbl -> put_Rotation(This,Rotation)

#define IIcadMText_get_StyleName(This,pStyleName)	\
    (This)->lpVtbl -> get_StyleName(This,pStyleName)

#define IIcadMText_put_StyleName(This,StyleName)	\
    (This)->lpVtbl -> put_StyleName(This,StyleName)

#define IIcadMText_get_TextString(This,pText)	\
    (This)->lpVtbl -> get_TextString(This,pText)

#define IIcadMText_put_TextString(This,Text)	\
    (This)->lpVtbl -> put_TextString(This,Text)

#define IIcadMText_get_Width(This,pWidth)	\
    (This)->lpVtbl -> get_Width(This,pWidth)

#define IIcadMText_put_Width(This,Width)	\
    (This)->lpVtbl -> put_Width(This,Width)

#define IIcadMText_Explode(This,pObjects)	\
    (This)->lpVtbl -> Explode(This,pObjects)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadMText_get_AttachmentPoint_Proxy( 
    IIcadMText __RPC_FAR * This,
    /* [retval][out] */ AttachmentPoint __RPC_FAR *pPoint);


void __RPC_STUB IIcadMText_get_AttachmentPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadMText_put_AttachmentPoint_Proxy( 
    IIcadMText __RPC_FAR * This,
    /* [in] */ AttachmentPoint Point);


void __RPC_STUB IIcadMText_put_AttachmentPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadMText_get_DrawingDirection_Proxy( 
    IIcadMText __RPC_FAR * This,
    /* [retval][out] */ DrawingDirection __RPC_FAR *pDrawingDirection);


void __RPC_STUB IIcadMText_get_DrawingDirection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadMText_put_DrawingDirection_Proxy( 
    IIcadMText __RPC_FAR * This,
    /* [in] */ DrawingDirection DrawingDirection);


void __RPC_STUB IIcadMText_put_DrawingDirection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadMText_get_Normal_Proxy( 
    IIcadMText __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);


void __RPC_STUB IIcadMText_get_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadMText_put_Normal_Proxy( 
    IIcadMText __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);


void __RPC_STUB IIcadMText_put_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadMText_get_Height_Proxy( 
    IIcadMText __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pHeight);


void __RPC_STUB IIcadMText_get_Height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadMText_put_Height_Proxy( 
    IIcadMText __RPC_FAR * This,
    /* [in] */ double Height);


void __RPC_STUB IIcadMText_put_Height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadMText_get_InsertionPoint_Proxy( 
    IIcadMText __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsertPoint);


void __RPC_STUB IIcadMText_get_InsertionPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadMText_put_InsertionPoint_Proxy( 
    IIcadMText __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *InsertPoint);


void __RPC_STUB IIcadMText_put_InsertionPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadMText_get_Rotation_Proxy( 
    IIcadMText __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pRotation);


void __RPC_STUB IIcadMText_get_Rotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadMText_put_Rotation_Proxy( 
    IIcadMText __RPC_FAR * This,
    /* [in] */ double Rotation);


void __RPC_STUB IIcadMText_put_Rotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadMText_get_StyleName_Proxy( 
    IIcadMText __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pStyleName);


void __RPC_STUB IIcadMText_get_StyleName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadMText_put_StyleName_Proxy( 
    IIcadMText __RPC_FAR * This,
    /* [in] */ BSTR StyleName);


void __RPC_STUB IIcadMText_put_StyleName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadMText_get_TextString_Proxy( 
    IIcadMText __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pText);


void __RPC_STUB IIcadMText_get_TextString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadMText_put_TextString_Proxy( 
    IIcadMText __RPC_FAR * This,
    /* [in] */ BSTR Text);


void __RPC_STUB IIcadMText_put_TextString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadMText_get_Width_Proxy( 
    IIcadMText __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pWidth);


void __RPC_STUB IIcadMText_get_Width_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadMText_put_Width_Proxy( 
    IIcadMText __RPC_FAR * This,
    /* [in] */ double Width);


void __RPC_STUB IIcadMText_put_Width_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadMText_Explode_Proxy( 
    IIcadMText __RPC_FAR * This,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *pObjects);


void __RPC_STUB IIcadMText_Explode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadMText_INTERFACE_DEFINED__ */


#ifndef __IIcadPointEntity_INTERFACE_DEFINED__
#define __IIcadPointEntity_INTERFACE_DEFINED__

/* interface IIcadPointEntity */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadPointEntity;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c171-7e36-11d1-bc5a-0060089608a4")
    IIcadPointEntity : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoord) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ IIcadPoints __RPC_FAR *Coord) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double __RPC_FAR *pThick) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double Thick) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadPointEntityVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadPointEntity __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadPointEntity __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadPointEntity __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadPointEntity __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadPointEntity __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Coordinates )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoord);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Coordinates )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Coord);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Thickness )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pThick);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Thickness )( 
            IIcadPointEntity __RPC_FAR * This,
            /* [in] */ double Thick);
        
        END_INTERFACE
    } IIcadPointEntityVtbl;

    interface IIcadPointEntity
    {
        CONST_VTBL struct IIcadPointEntityVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadPointEntity_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadPointEntity_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadPointEntity_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadPointEntity_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadPointEntity_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadPointEntity_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadPointEntity_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadPointEntity_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadPointEntity_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadPointEntity_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadPointEntity_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadPointEntity__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadPointEntity_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadPointEntity_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadPointEntity_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadPointEntity_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadPointEntity_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadPointEntity_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadPointEntity_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadPointEntity_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadPointEntity_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadPointEntity_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadPointEntity_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadPointEntity_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadPointEntity_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadPointEntity_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadPointEntity_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadPointEntity_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadPointEntity_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadPointEntity_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadPointEntity_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadPointEntity_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadPointEntity_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadPointEntity_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadPointEntity_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadPointEntity_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadPointEntity_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadPointEntity_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadPointEntity_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadPointEntity_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadPointEntity_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadPointEntity_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadPointEntity_get_Coordinates(This,ppCoord)	\
    (This)->lpVtbl -> get_Coordinates(This,ppCoord)

#define IIcadPointEntity_put_Coordinates(This,Coord)	\
    (This)->lpVtbl -> put_Coordinates(This,Coord)

#define IIcadPointEntity_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadPointEntity_put_Normal(This,ExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ExtrusionDirection)

#define IIcadPointEntity_get_Thickness(This,pThick)	\
    (This)->lpVtbl -> get_Thickness(This,pThick)

#define IIcadPointEntity_put_Thickness(This,Thick)	\
    (This)->lpVtbl -> put_Thickness(This,Thick)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPointEntity_get_Coordinates_Proxy( 
    IIcadPointEntity __RPC_FAR * This,
    /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoord);


void __RPC_STUB IIcadPointEntity_get_Coordinates_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPointEntity_put_Coordinates_Proxy( 
    IIcadPointEntity __RPC_FAR * This,
    /* [in] */ IIcadPoints __RPC_FAR *Coord);


void __RPC_STUB IIcadPointEntity_put_Coordinates_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPointEntity_get_Normal_Proxy( 
    IIcadPointEntity __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);


void __RPC_STUB IIcadPointEntity_get_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPointEntity_put_Normal_Proxy( 
    IIcadPointEntity __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);


void __RPC_STUB IIcadPointEntity_put_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPointEntity_get_Thickness_Proxy( 
    IIcadPointEntity __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pThick);


void __RPC_STUB IIcadPointEntity_get_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPointEntity_put_Thickness_Proxy( 
    IIcadPointEntity __RPC_FAR * This,
    /* [in] */ double Thick);


void __RPC_STUB IIcadPointEntity_put_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadPointEntity_INTERFACE_DEFINED__ */


#ifndef __IIcadPolyline_INTERFACE_DEFINED__
#define __IIcadPolyline_INTERFACE_DEFINED__

/* interface IIcadPolyline */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadPolyline;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c172-7e36-11d1-bc5a-0060089608a4")
    IIcadPolyline : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Area( 
            /* [retval][out] */ double __RPC_FAR *pArea) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Length( 
            /* [retval][out] */ double __RPC_FAR *pLength) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Closed( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pClosed) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Closed( 
            /* [in] */ VARIANT_BOOL Closed) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ IIcadPoints __RPC_FAR *Coords) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double __RPC_FAR *pThick) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double Thick) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ PolylineType __RPC_FAR *pType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ PolylineType Type) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AppendVertex( 
            /* [in] */ IIcadPoint __RPC_FAR *Vertex) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Explode( 
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBulge( 
            /* [in] */ int Index,
            /* [retval][out] */ double __RPC_FAR *pBulge) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetWidth( 
            /* [in] */ int Index,
            /* [out][in] */ double __RPC_FAR *StartWidth,
            /* [out][in] */ double __RPC_FAR *EndWidth) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Offset( 
            /* [in] */ double Offset,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetBulge( 
            /* [in] */ int Index,
            /* [in] */ double Bulge) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetWidth( 
            /* [in] */ int SegmentIndex,
            /* [in] */ double StartWidth,
            /* [in] */ double EndWidth) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadPolylineVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadPolyline __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadPolyline __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadPolyline __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadPolyline __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadPolyline __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadPolyline __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadPolyline __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadPolyline __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadPolyline __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadPolyline __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadPolyline __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadPolyline __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadPolyline __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadPolyline __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadPolyline __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadPolyline __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadPolyline __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadPolyline __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadPolyline __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadPolyline __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Area )( 
            IIcadPolyline __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pArea);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Length )( 
            IIcadPolyline __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pLength);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Closed )( 
            IIcadPolyline __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pClosed);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Closed )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Closed);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Coordinates )( 
            IIcadPolyline __RPC_FAR * This,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Coordinates )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Coords);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadPolyline __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Thickness )( 
            IIcadPolyline __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pThick);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Thickness )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ double Thick);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )( 
            IIcadPolyline __RPC_FAR * This,
            /* [retval][out] */ PolylineType __RPC_FAR *pType);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Type )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ PolylineType Type);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AppendVertex )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Vertex);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Explode )( 
            IIcadPolyline __RPC_FAR * This,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBulge )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ int Index,
            /* [retval][out] */ double __RPC_FAR *pBulge);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetWidth )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ int Index,
            /* [out][in] */ double __RPC_FAR *StartWidth,
            /* [out][in] */ double __RPC_FAR *EndWidth);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Offset )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ double Offset,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBulge )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ int Index,
            /* [in] */ double Bulge);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetWidth )( 
            IIcadPolyline __RPC_FAR * This,
            /* [in] */ int SegmentIndex,
            /* [in] */ double StartWidth,
            /* [in] */ double EndWidth);
        
        END_INTERFACE
    } IIcadPolylineVtbl;

    interface IIcadPolyline
    {
        CONST_VTBL struct IIcadPolylineVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadPolyline_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadPolyline_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadPolyline_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadPolyline_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadPolyline_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadPolyline_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadPolyline_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadPolyline_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadPolyline_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadPolyline_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadPolyline_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadPolyline__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadPolyline_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadPolyline_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadPolyline_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadPolyline_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadPolyline_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadPolyline_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadPolyline_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadPolyline_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadPolyline_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadPolyline_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadPolyline_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadPolyline_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadPolyline_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadPolyline_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadPolyline_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadPolyline_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadPolyline_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadPolyline_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadPolyline_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadPolyline_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadPolyline_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadPolyline_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadPolyline_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadPolyline_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadPolyline_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadPolyline_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadPolyline_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadPolyline_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadPolyline_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadPolyline_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadPolyline_get_Area(This,pArea)	\
    (This)->lpVtbl -> get_Area(This,pArea)

#define IIcadPolyline_get_Length(This,pLength)	\
    (This)->lpVtbl -> get_Length(This,pLength)

#define IIcadPolyline_get_Closed(This,pClosed)	\
    (This)->lpVtbl -> get_Closed(This,pClosed)

#define IIcadPolyline_put_Closed(This,Closed)	\
    (This)->lpVtbl -> put_Closed(This,Closed)

#define IIcadPolyline_get_Coordinates(This,ppCoords)	\
    (This)->lpVtbl -> get_Coordinates(This,ppCoords)

#define IIcadPolyline_put_Coordinates(This,Coords)	\
    (This)->lpVtbl -> put_Coordinates(This,Coords)

#define IIcadPolyline_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadPolyline_put_Normal(This,ExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ExtrusionDirection)

#define IIcadPolyline_get_Thickness(This,pThick)	\
    (This)->lpVtbl -> get_Thickness(This,pThick)

#define IIcadPolyline_put_Thickness(This,Thick)	\
    (This)->lpVtbl -> put_Thickness(This,Thick)

#define IIcadPolyline_get_Type(This,pType)	\
    (This)->lpVtbl -> get_Type(This,pType)

#define IIcadPolyline_put_Type(This,Type)	\
    (This)->lpVtbl -> put_Type(This,Type)

#define IIcadPolyline_AppendVertex(This,Vertex)	\
    (This)->lpVtbl -> AppendVertex(This,Vertex)

#define IIcadPolyline_Explode(This,ppArrayOfEntities)	\
    (This)->lpVtbl -> Explode(This,ppArrayOfEntities)

#define IIcadPolyline_GetBulge(This,Index,pBulge)	\
    (This)->lpVtbl -> GetBulge(This,Index,pBulge)

#define IIcadPolyline_GetWidth(This,Index,StartWidth,EndWidth)	\
    (This)->lpVtbl -> GetWidth(This,Index,StartWidth,EndWidth)

#define IIcadPolyline_Offset(This,Offset,ppArrayOfEntities)	\
    (This)->lpVtbl -> Offset(This,Offset,ppArrayOfEntities)

#define IIcadPolyline_SetBulge(This,Index,Bulge)	\
    (This)->lpVtbl -> SetBulge(This,Index,Bulge)

#define IIcadPolyline_SetWidth(This,SegmentIndex,StartWidth,EndWidth)	\
    (This)->lpVtbl -> SetWidth(This,SegmentIndex,StartWidth,EndWidth)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPolyline_get_Area_Proxy( 
    IIcadPolyline __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pArea);


void __RPC_STUB IIcadPolyline_get_Area_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPolyline_get_Length_Proxy( 
    IIcadPolyline __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pLength);


void __RPC_STUB IIcadPolyline_get_Length_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPolyline_get_Closed_Proxy( 
    IIcadPolyline __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pClosed);


void __RPC_STUB IIcadPolyline_get_Closed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPolyline_put_Closed_Proxy( 
    IIcadPolyline __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Closed);


void __RPC_STUB IIcadPolyline_put_Closed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPolyline_get_Coordinates_Proxy( 
    IIcadPolyline __RPC_FAR * This,
    /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords);


void __RPC_STUB IIcadPolyline_get_Coordinates_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPolyline_put_Coordinates_Proxy( 
    IIcadPolyline __RPC_FAR * This,
    /* [in] */ IIcadPoints __RPC_FAR *Coords);


void __RPC_STUB IIcadPolyline_put_Coordinates_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPolyline_get_Normal_Proxy( 
    IIcadPolyline __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);


void __RPC_STUB IIcadPolyline_get_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPolyline_put_Normal_Proxy( 
    IIcadPolyline __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);


void __RPC_STUB IIcadPolyline_put_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPolyline_get_Thickness_Proxy( 
    IIcadPolyline __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pThick);


void __RPC_STUB IIcadPolyline_get_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPolyline_put_Thickness_Proxy( 
    IIcadPolyline __RPC_FAR * This,
    /* [in] */ double Thick);


void __RPC_STUB IIcadPolyline_put_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPolyline_get_Type_Proxy( 
    IIcadPolyline __RPC_FAR * This,
    /* [retval][out] */ PolylineType __RPC_FAR *pType);


void __RPC_STUB IIcadPolyline_get_Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPolyline_put_Type_Proxy( 
    IIcadPolyline __RPC_FAR * This,
    /* [in] */ PolylineType Type);


void __RPC_STUB IIcadPolyline_put_Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPolyline_AppendVertex_Proxy( 
    IIcadPolyline __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Vertex);


void __RPC_STUB IIcadPolyline_AppendVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPolyline_Explode_Proxy( 
    IIcadPolyline __RPC_FAR * This,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);


void __RPC_STUB IIcadPolyline_Explode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPolyline_GetBulge_Proxy( 
    IIcadPolyline __RPC_FAR * This,
    /* [in] */ int Index,
    /* [retval][out] */ double __RPC_FAR *pBulge);


void __RPC_STUB IIcadPolyline_GetBulge_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPolyline_GetWidth_Proxy( 
    IIcadPolyline __RPC_FAR * This,
    /* [in] */ int Index,
    /* [out][in] */ double __RPC_FAR *StartWidth,
    /* [out][in] */ double __RPC_FAR *EndWidth);


void __RPC_STUB IIcadPolyline_GetWidth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPolyline_Offset_Proxy( 
    IIcadPolyline __RPC_FAR * This,
    /* [in] */ double Offset,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);


void __RPC_STUB IIcadPolyline_Offset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPolyline_SetBulge_Proxy( 
    IIcadPolyline __RPC_FAR * This,
    /* [in] */ int Index,
    /* [in] */ double Bulge);


void __RPC_STUB IIcadPolyline_SetBulge_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPolyline_SetWidth_Proxy( 
    IIcadPolyline __RPC_FAR * This,
    /* [in] */ int SegmentIndex,
    /* [in] */ double StartWidth,
    /* [in] */ double EndWidth);


void __RPC_STUB IIcadPolyline_SetWidth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadPolyline_INTERFACE_DEFINED__ */


#ifndef __IIcadPolygonMesh_INTERFACE_DEFINED__
#define __IIcadPolygonMesh_INTERFACE_DEFINED__

/* interface IIcadPolygonMesh */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadPolygonMesh;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c173-7e36-11d1-bc5a-0060089608a4")
    IIcadPolygonMesh : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ IIcadPoints __RPC_FAR *Coords) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MClose( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pClosed) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MClose( 
            /* [in] */ VARIANT_BOOL Close) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MDensity( 
            /* [retval][out] */ long __RPC_FAR *pDensity) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MDensity( 
            /* [in] */ long Density) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MVertexCount( 
            /* [retval][out] */ long __RPC_FAR *pCount) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NClose( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pClosed) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_NClose( 
            /* [in] */ VARIANT_BOOL Close) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NDensity( 
            /* [retval][out] */ long __RPC_FAR *pDensity) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_NDensity( 
            /* [in] */ long Density) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NVertexCount( 
            /* [retval][out] */ long __RPC_FAR *pCount) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ PolygonMeshType __RPC_FAR *pType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ PolygonMeshType Type) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AppendVertex( 
            /* [in] */ IIcadPoints __RPC_FAR *Vertices) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Explode( 
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadPolygonMeshVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadPolygonMesh __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadPolygonMesh __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadPolygonMesh __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadPolygonMesh __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadPolygonMesh __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Coordinates )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Coordinates )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Coords);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MClose )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pClosed);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MClose )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Close);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MDensity )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pDensity);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MDensity )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ long Density);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MVertexCount )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NClose )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pClosed);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_NClose )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Close);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NDensity )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pDensity);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_NDensity )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ long Density);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NVertexCount )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [retval][out] */ PolygonMeshType __RPC_FAR *pType);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Type )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ PolygonMeshType Type);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AppendVertex )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Vertices);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Explode )( 
            IIcadPolygonMesh __RPC_FAR * This,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        END_INTERFACE
    } IIcadPolygonMeshVtbl;

    interface IIcadPolygonMesh
    {
        CONST_VTBL struct IIcadPolygonMeshVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadPolygonMesh_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadPolygonMesh_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadPolygonMesh_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadPolygonMesh_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadPolygonMesh_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadPolygonMesh_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadPolygonMesh_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadPolygonMesh_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadPolygonMesh_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadPolygonMesh_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadPolygonMesh_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadPolygonMesh__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadPolygonMesh_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadPolygonMesh_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadPolygonMesh_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadPolygonMesh_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadPolygonMesh_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadPolygonMesh_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadPolygonMesh_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadPolygonMesh_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadPolygonMesh_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadPolygonMesh_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadPolygonMesh_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadPolygonMesh_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadPolygonMesh_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadPolygonMesh_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadPolygonMesh_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadPolygonMesh_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadPolygonMesh_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadPolygonMesh_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadPolygonMesh_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadPolygonMesh_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadPolygonMesh_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadPolygonMesh_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadPolygonMesh_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadPolygonMesh_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadPolygonMesh_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadPolygonMesh_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadPolygonMesh_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadPolygonMesh_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadPolygonMesh_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadPolygonMesh_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadPolygonMesh_get_Coordinates(This,ppCoords)	\
    (This)->lpVtbl -> get_Coordinates(This,ppCoords)

#define IIcadPolygonMesh_put_Coordinates(This,Coords)	\
    (This)->lpVtbl -> put_Coordinates(This,Coords)

#define IIcadPolygonMesh_get_MClose(This,pClosed)	\
    (This)->lpVtbl -> get_MClose(This,pClosed)

#define IIcadPolygonMesh_put_MClose(This,Close)	\
    (This)->lpVtbl -> put_MClose(This,Close)

#define IIcadPolygonMesh_get_MDensity(This,pDensity)	\
    (This)->lpVtbl -> get_MDensity(This,pDensity)

#define IIcadPolygonMesh_put_MDensity(This,Density)	\
    (This)->lpVtbl -> put_MDensity(This,Density)

#define IIcadPolygonMesh_get_MVertexCount(This,pCount)	\
    (This)->lpVtbl -> get_MVertexCount(This,pCount)

#define IIcadPolygonMesh_get_NClose(This,pClosed)	\
    (This)->lpVtbl -> get_NClose(This,pClosed)

#define IIcadPolygonMesh_put_NClose(This,Close)	\
    (This)->lpVtbl -> put_NClose(This,Close)

#define IIcadPolygonMesh_get_NDensity(This,pDensity)	\
    (This)->lpVtbl -> get_NDensity(This,pDensity)

#define IIcadPolygonMesh_put_NDensity(This,Density)	\
    (This)->lpVtbl -> put_NDensity(This,Density)

#define IIcadPolygonMesh_get_NVertexCount(This,pCount)	\
    (This)->lpVtbl -> get_NVertexCount(This,pCount)

#define IIcadPolygonMesh_get_Type(This,pType)	\
    (This)->lpVtbl -> get_Type(This,pType)

#define IIcadPolygonMesh_put_Type(This,Type)	\
    (This)->lpVtbl -> put_Type(This,Type)

#define IIcadPolygonMesh_AppendVertex(This,Vertices)	\
    (This)->lpVtbl -> AppendVertex(This,Vertices)

#define IIcadPolygonMesh_Explode(This,ppObjects)	\
    (This)->lpVtbl -> Explode(This,ppObjects)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPolygonMesh_get_Coordinates_Proxy( 
    IIcadPolygonMesh __RPC_FAR * This,
    /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords);


void __RPC_STUB IIcadPolygonMesh_get_Coordinates_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPolygonMesh_put_Coordinates_Proxy( 
    IIcadPolygonMesh __RPC_FAR * This,
    /* [in] */ IIcadPoints __RPC_FAR *Coords);


void __RPC_STUB IIcadPolygonMesh_put_Coordinates_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPolygonMesh_get_MClose_Proxy( 
    IIcadPolygonMesh __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pClosed);


void __RPC_STUB IIcadPolygonMesh_get_MClose_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPolygonMesh_put_MClose_Proxy( 
    IIcadPolygonMesh __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Close);


void __RPC_STUB IIcadPolygonMesh_put_MClose_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPolygonMesh_get_MDensity_Proxy( 
    IIcadPolygonMesh __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pDensity);


void __RPC_STUB IIcadPolygonMesh_get_MDensity_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPolygonMesh_put_MDensity_Proxy( 
    IIcadPolygonMesh __RPC_FAR * This,
    /* [in] */ long Density);


void __RPC_STUB IIcadPolygonMesh_put_MDensity_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPolygonMesh_get_MVertexCount_Proxy( 
    IIcadPolygonMesh __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pCount);


void __RPC_STUB IIcadPolygonMesh_get_MVertexCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPolygonMesh_get_NClose_Proxy( 
    IIcadPolygonMesh __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pClosed);


void __RPC_STUB IIcadPolygonMesh_get_NClose_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPolygonMesh_put_NClose_Proxy( 
    IIcadPolygonMesh __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Close);


void __RPC_STUB IIcadPolygonMesh_put_NClose_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPolygonMesh_get_NDensity_Proxy( 
    IIcadPolygonMesh __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pDensity);


void __RPC_STUB IIcadPolygonMesh_get_NDensity_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPolygonMesh_put_NDensity_Proxy( 
    IIcadPolygonMesh __RPC_FAR * This,
    /* [in] */ long Density);


void __RPC_STUB IIcadPolygonMesh_put_NDensity_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPolygonMesh_get_NVertexCount_Proxy( 
    IIcadPolygonMesh __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pCount);


void __RPC_STUB IIcadPolygonMesh_get_NVertexCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPolygonMesh_get_Type_Proxy( 
    IIcadPolygonMesh __RPC_FAR * This,
    /* [retval][out] */ PolygonMeshType __RPC_FAR *pType);


void __RPC_STUB IIcadPolygonMesh_get_Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPolygonMesh_put_Type_Proxy( 
    IIcadPolygonMesh __RPC_FAR * This,
    /* [in] */ PolygonMeshType Type);


void __RPC_STUB IIcadPolygonMesh_put_Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPolygonMesh_AppendVertex_Proxy( 
    IIcadPolygonMesh __RPC_FAR * This,
    /* [in] */ IIcadPoints __RPC_FAR *Vertices);


void __RPC_STUB IIcadPolygonMesh_AppendVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPolygonMesh_Explode_Proxy( 
    IIcadPolygonMesh __RPC_FAR * This,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);


void __RPC_STUB IIcadPolygonMesh_Explode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadPolygonMesh_INTERFACE_DEFINED__ */


#ifndef __IIcadPolyfaceMesh_INTERFACE_DEFINED__
#define __IIcadPolyfaceMesh_INTERFACE_DEFINED__

/* interface IIcadPolyfaceMesh */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadPolyfaceMesh;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c183-7e36-11d1-bc5a-0060089608a4")
    IIcadPolyfaceMesh : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ IIcadPoints __RPC_FAR *Coords) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NumberOfVertices( 
            /* [retval][out] */ long __RPC_FAR *pCount) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NumberOfFaces( 
            /* [retval][out] */ long __RPC_FAR *pCount) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadPolyfaceMeshVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadPolyfaceMesh __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadPolyfaceMesh __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadPolyfaceMesh __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadPolyfaceMesh __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadPolyfaceMesh __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Coordinates )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Coordinates )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Coords);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NumberOfVertices )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NumberOfFaces )( 
            IIcadPolyfaceMesh __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        END_INTERFACE
    } IIcadPolyfaceMeshVtbl;

    interface IIcadPolyfaceMesh
    {
        CONST_VTBL struct IIcadPolyfaceMeshVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadPolyfaceMesh_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadPolyfaceMesh_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadPolyfaceMesh_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadPolyfaceMesh_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadPolyfaceMesh_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadPolyfaceMesh_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadPolyfaceMesh_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadPolyfaceMesh_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadPolyfaceMesh_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadPolyfaceMesh_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadPolyfaceMesh_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadPolyfaceMesh__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadPolyfaceMesh_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadPolyfaceMesh_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadPolyfaceMesh_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadPolyfaceMesh_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadPolyfaceMesh_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadPolyfaceMesh_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadPolyfaceMesh_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadPolyfaceMesh_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadPolyfaceMesh_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadPolyfaceMesh_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadPolyfaceMesh_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadPolyfaceMesh_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadPolyfaceMesh_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadPolyfaceMesh_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadPolyfaceMesh_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadPolyfaceMesh_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadPolyfaceMesh_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadPolyfaceMesh_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadPolyfaceMesh_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadPolyfaceMesh_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadPolyfaceMesh_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadPolyfaceMesh_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadPolyfaceMesh_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadPolyfaceMesh_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadPolyfaceMesh_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadPolyfaceMesh_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadPolyfaceMesh_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadPolyfaceMesh_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadPolyfaceMesh_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadPolyfaceMesh_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadPolyfaceMesh_get_Coordinates(This,ppCoords)	\
    (This)->lpVtbl -> get_Coordinates(This,ppCoords)

#define IIcadPolyfaceMesh_put_Coordinates(This,Coords)	\
    (This)->lpVtbl -> put_Coordinates(This,Coords)

#define IIcadPolyfaceMesh_get_NumberOfVertices(This,pCount)	\
    (This)->lpVtbl -> get_NumberOfVertices(This,pCount)

#define IIcadPolyfaceMesh_get_NumberOfFaces(This,pCount)	\
    (This)->lpVtbl -> get_NumberOfFaces(This,pCount)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPolyfaceMesh_get_Coordinates_Proxy( 
    IIcadPolyfaceMesh __RPC_FAR * This,
    /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords);


void __RPC_STUB IIcadPolyfaceMesh_get_Coordinates_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPolyfaceMesh_put_Coordinates_Proxy( 
    IIcadPolyfaceMesh __RPC_FAR * This,
    /* [in] */ IIcadPoints __RPC_FAR *Coords);


void __RPC_STUB IIcadPolyfaceMesh_put_Coordinates_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPolyfaceMesh_get_NumberOfVertices_Proxy( 
    IIcadPolyfaceMesh __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pCount);


void __RPC_STUB IIcadPolyfaceMesh_get_NumberOfVertices_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPolyfaceMesh_get_NumberOfFaces_Proxy( 
    IIcadPolyfaceMesh __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pCount);


void __RPC_STUB IIcadPolyfaceMesh_get_NumberOfFaces_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadPolyfaceMesh_INTERFACE_DEFINED__ */


#ifndef __IIcadPViewport_INTERFACE_DEFINED__
#define __IIcadPViewport_INTERFACE_DEFINED__

/* interface IIcadPViewport */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadPViewport;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c174-7e36-11d1-bc5a-0060089608a4")
    IIcadPViewport : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Center( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppCenter) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Center( 
            /* [in] */ IIcadPoint __RPC_FAR *Center) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Direction( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppNormal) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Direction( 
            /* [in] */ IIcadVector __RPC_FAR *Normal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_GridOn( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pGridOn) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_GridOn( 
            /* [in] */ VARIANT_BOOL GridOn) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double __RPC_FAR *pHeight) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double Height) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LensLength( 
            /* [retval][out] */ double __RPC_FAR *pLensLength) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LensLength( 
            /* [in] */ double LensLength) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RemoveHiddenLines( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pRemoveHiddenLines) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RemoveHiddenLines( 
            /* [in] */ VARIANT_BOOL RemoveHiddenLines) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SnapBasePoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppSnapBasePoint) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SnapBasePoint( 
            /* [in] */ IIcadPoint __RPC_FAR *SnapBasePoint) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SnapOn( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pSnapOn) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SnapOn( 
            /* [in] */ VARIANT_BOOL SnapOn) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SnapRotationAngle( 
            /* [retval][out] */ double __RPC_FAR *pAngle) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SnapRotationAngle( 
            /* [in] */ double Angle) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Target( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppTarget) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Target( 
            /* [in] */ IIcadPoint __RPC_FAR *Target) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TwistAngle( 
            /* [retval][out] */ double __RPC_FAR *pAngle) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TwistAngle( 
            /* [in] */ double Angle) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_UCSIconAtOrigin( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pIcon) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UCSIconAtOrigin( 
            /* [in] */ VARIANT_BOOL Icon) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_UCSIconOn( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pIcon) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UCSIconOn( 
            /* [in] */ VARIANT_BOOL Icon) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__ViewportID( 
            /* [retval][out] */ int __RPC_FAR *pID) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ double __RPC_FAR *pWidth) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ double Width) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Display( 
            /* [in] */ VARIANT_BOOL Status) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetGridSpacing( 
            /* [out][in] */ double __RPC_FAR *Xspacing,
            /* [out][in] */ double __RPC_FAR *Yspacing) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSnapSpacing( 
            /* [out][in] */ double __RPC_FAR *Xspacing,
            /* [out][in] */ double __RPC_FAR *Yspacing) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetGridSpacing( 
            /* [in] */ double Xspacing,
            /* [in] */ double Yspacing) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetSnapSpacing( 
            /* [in] */ double Xspacing,
            /* [in] */ double Yspacing) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ZoomAll( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ZoomCenter( 
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double ZoomFactor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ZoomExtents( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ZoomPickWindow( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ZoomScaled( 
            /* [in] */ double Scale,
            /* [in] */ ZoomScale ScaleType) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ZoomWindow( 
            /* [in] */ IIcadPoint __RPC_FAR *Lowerleft,
            /* [in] */ IIcadPoint __RPC_FAR *UpperRight) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadPViewportVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadPViewport __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadPViewport __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadPViewport __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadPViewport __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadPViewport __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadPViewport __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadPViewport __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Center )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppCenter);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Center )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Direction )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppNormal);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Direction )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *Normal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_GridOn )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pGridOn);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_GridOn )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL GridOn);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Height )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pHeight);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Height )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ double Height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LensLength )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pLensLength);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LensLength )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ double LensLength);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RemoveHiddenLines )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pRemoveHiddenLines);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RemoveHiddenLines )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL RemoveHiddenLines);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SnapBasePoint )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppSnapBasePoint);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SnapBasePoint )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *SnapBasePoint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SnapOn )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pSnapOn);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SnapOn )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL SnapOn);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SnapRotationAngle )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pAngle);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SnapRotationAngle )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ double Angle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Target )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppTarget);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Target )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Target);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TwistAngle )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pAngle);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TwistAngle )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ double Angle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UCSIconAtOrigin )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pIcon);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_UCSIconAtOrigin )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Icon);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UCSIconOn )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pIcon);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_UCSIconOn )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Icon);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__ViewportID )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Width )( 
            IIcadPViewport __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pWidth);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Width )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ double Width);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Display )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Status);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetGridSpacing )( 
            IIcadPViewport __RPC_FAR * This,
            /* [out][in] */ double __RPC_FAR *Xspacing,
            /* [out][in] */ double __RPC_FAR *Yspacing);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSnapSpacing )( 
            IIcadPViewport __RPC_FAR * This,
            /* [out][in] */ double __RPC_FAR *Xspacing,
            /* [out][in] */ double __RPC_FAR *Yspacing);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetGridSpacing )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ double Xspacing,
            /* [in] */ double Yspacing);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSnapSpacing )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ double Xspacing,
            /* [in] */ double Yspacing);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ZoomAll )( 
            IIcadPViewport __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ZoomCenter )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double ZoomFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ZoomExtents )( 
            IIcadPViewport __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ZoomPickWindow )( 
            IIcadPViewport __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ZoomScaled )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ double Scale,
            /* [in] */ ZoomScale ScaleType);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ZoomWindow )( 
            IIcadPViewport __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Lowerleft,
            /* [in] */ IIcadPoint __RPC_FAR *UpperRight);
        
        END_INTERFACE
    } IIcadPViewportVtbl;

    interface IIcadPViewport
    {
        CONST_VTBL struct IIcadPViewportVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadPViewport_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadPViewport_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadPViewport_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadPViewport_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadPViewport_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadPViewport_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadPViewport_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadPViewport_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadPViewport_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadPViewport_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadPViewport_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadPViewport__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadPViewport_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadPViewport_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadPViewport_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadPViewport_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadPViewport_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadPViewport_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadPViewport_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadPViewport_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadPViewport_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadPViewport_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadPViewport_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadPViewport_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadPViewport_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadPViewport_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadPViewport_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadPViewport_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadPViewport_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadPViewport_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadPViewport_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadPViewport_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadPViewport_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadPViewport_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadPViewport_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadPViewport_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadPViewport_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadPViewport_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadPViewport_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadPViewport_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadPViewport_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadPViewport_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadPViewport_get_Center(This,ppCenter)	\
    (This)->lpVtbl -> get_Center(This,ppCenter)

#define IIcadPViewport_put_Center(This,Center)	\
    (This)->lpVtbl -> put_Center(This,Center)

#define IIcadPViewport_get_Direction(This,ppNormal)	\
    (This)->lpVtbl -> get_Direction(This,ppNormal)

#define IIcadPViewport_put_Direction(This,Normal)	\
    (This)->lpVtbl -> put_Direction(This,Normal)

#define IIcadPViewport_get_GridOn(This,pGridOn)	\
    (This)->lpVtbl -> get_GridOn(This,pGridOn)

#define IIcadPViewport_put_GridOn(This,GridOn)	\
    (This)->lpVtbl -> put_GridOn(This,GridOn)

#define IIcadPViewport_get_Height(This,pHeight)	\
    (This)->lpVtbl -> get_Height(This,pHeight)

#define IIcadPViewport_put_Height(This,Height)	\
    (This)->lpVtbl -> put_Height(This,Height)

#define IIcadPViewport_get_LensLength(This,pLensLength)	\
    (This)->lpVtbl -> get_LensLength(This,pLensLength)

#define IIcadPViewport_put_LensLength(This,LensLength)	\
    (This)->lpVtbl -> put_LensLength(This,LensLength)

#define IIcadPViewport_get_RemoveHiddenLines(This,pRemoveHiddenLines)	\
    (This)->lpVtbl -> get_RemoveHiddenLines(This,pRemoveHiddenLines)

#define IIcadPViewport_put_RemoveHiddenLines(This,RemoveHiddenLines)	\
    (This)->lpVtbl -> put_RemoveHiddenLines(This,RemoveHiddenLines)

#define IIcadPViewport_get_SnapBasePoint(This,ppSnapBasePoint)	\
    (This)->lpVtbl -> get_SnapBasePoint(This,ppSnapBasePoint)

#define IIcadPViewport_put_SnapBasePoint(This,SnapBasePoint)	\
    (This)->lpVtbl -> put_SnapBasePoint(This,SnapBasePoint)

#define IIcadPViewport_get_SnapOn(This,pSnapOn)	\
    (This)->lpVtbl -> get_SnapOn(This,pSnapOn)

#define IIcadPViewport_put_SnapOn(This,SnapOn)	\
    (This)->lpVtbl -> put_SnapOn(This,SnapOn)

#define IIcadPViewport_get_SnapRotationAngle(This,pAngle)	\
    (This)->lpVtbl -> get_SnapRotationAngle(This,pAngle)

#define IIcadPViewport_put_SnapRotationAngle(This,Angle)	\
    (This)->lpVtbl -> put_SnapRotationAngle(This,Angle)

#define IIcadPViewport_get_Target(This,ppTarget)	\
    (This)->lpVtbl -> get_Target(This,ppTarget)

#define IIcadPViewport_put_Target(This,Target)	\
    (This)->lpVtbl -> put_Target(This,Target)

#define IIcadPViewport_get_TwistAngle(This,pAngle)	\
    (This)->lpVtbl -> get_TwistAngle(This,pAngle)

#define IIcadPViewport_put_TwistAngle(This,Angle)	\
    (This)->lpVtbl -> put_TwistAngle(This,Angle)

#define IIcadPViewport_get_UCSIconAtOrigin(This,pIcon)	\
    (This)->lpVtbl -> get_UCSIconAtOrigin(This,pIcon)

#define IIcadPViewport_put_UCSIconAtOrigin(This,Icon)	\
    (This)->lpVtbl -> put_UCSIconAtOrigin(This,Icon)

#define IIcadPViewport_get_UCSIconOn(This,pIcon)	\
    (This)->lpVtbl -> get_UCSIconOn(This,pIcon)

#define IIcadPViewport_put_UCSIconOn(This,Icon)	\
    (This)->lpVtbl -> put_UCSIconOn(This,Icon)

#define IIcadPViewport_get__ViewportID(This,pID)	\
    (This)->lpVtbl -> get__ViewportID(This,pID)

#define IIcadPViewport_get_Width(This,pWidth)	\
    (This)->lpVtbl -> get_Width(This,pWidth)

#define IIcadPViewport_put_Width(This,Width)	\
    (This)->lpVtbl -> put_Width(This,Width)

#define IIcadPViewport_Display(This,Status)	\
    (This)->lpVtbl -> Display(This,Status)

#define IIcadPViewport_GetGridSpacing(This,Xspacing,Yspacing)	\
    (This)->lpVtbl -> GetGridSpacing(This,Xspacing,Yspacing)

#define IIcadPViewport_GetSnapSpacing(This,Xspacing,Yspacing)	\
    (This)->lpVtbl -> GetSnapSpacing(This,Xspacing,Yspacing)

#define IIcadPViewport_SetGridSpacing(This,Xspacing,Yspacing)	\
    (This)->lpVtbl -> SetGridSpacing(This,Xspacing,Yspacing)

#define IIcadPViewport_SetSnapSpacing(This,Xspacing,Yspacing)	\
    (This)->lpVtbl -> SetSnapSpacing(This,Xspacing,Yspacing)

#define IIcadPViewport_ZoomAll(This)	\
    (This)->lpVtbl -> ZoomAll(This)

#define IIcadPViewport_ZoomCenter(This,Center,ZoomFactor)	\
    (This)->lpVtbl -> ZoomCenter(This,Center,ZoomFactor)

#define IIcadPViewport_ZoomExtents(This)	\
    (This)->lpVtbl -> ZoomExtents(This)

#define IIcadPViewport_ZoomPickWindow(This)	\
    (This)->lpVtbl -> ZoomPickWindow(This)

#define IIcadPViewport_ZoomScaled(This,Scale,ScaleType)	\
    (This)->lpVtbl -> ZoomScaled(This,Scale,ScaleType)

#define IIcadPViewport_ZoomWindow(This,Lowerleft,UpperRight)	\
    (This)->lpVtbl -> ZoomWindow(This,Lowerleft,UpperRight)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_get_Center_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppCenter);


void __RPC_STUB IIcadPViewport_get_Center_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_put_Center_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Center);


void __RPC_STUB IIcadPViewport_put_Center_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_get_Direction_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppNormal);


void __RPC_STUB IIcadPViewport_get_Direction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_put_Direction_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *Normal);


void __RPC_STUB IIcadPViewport_put_Direction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_get_GridOn_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pGridOn);


void __RPC_STUB IIcadPViewport_get_GridOn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_put_GridOn_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL GridOn);


void __RPC_STUB IIcadPViewport_put_GridOn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_get_Height_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pHeight);


void __RPC_STUB IIcadPViewport_get_Height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_put_Height_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [in] */ double Height);


void __RPC_STUB IIcadPViewport_put_Height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_get_LensLength_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pLensLength);


void __RPC_STUB IIcadPViewport_get_LensLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_put_LensLength_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [in] */ double LensLength);


void __RPC_STUB IIcadPViewport_put_LensLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_get_RemoveHiddenLines_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pRemoveHiddenLines);


void __RPC_STUB IIcadPViewport_get_RemoveHiddenLines_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_put_RemoveHiddenLines_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL RemoveHiddenLines);


void __RPC_STUB IIcadPViewport_put_RemoveHiddenLines_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_get_SnapBasePoint_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppSnapBasePoint);


void __RPC_STUB IIcadPViewport_get_SnapBasePoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_put_SnapBasePoint_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *SnapBasePoint);


void __RPC_STUB IIcadPViewport_put_SnapBasePoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_get_SnapOn_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pSnapOn);


void __RPC_STUB IIcadPViewport_get_SnapOn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_put_SnapOn_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL SnapOn);


void __RPC_STUB IIcadPViewport_put_SnapOn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_get_SnapRotationAngle_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pAngle);


void __RPC_STUB IIcadPViewport_get_SnapRotationAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_put_SnapRotationAngle_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [in] */ double Angle);


void __RPC_STUB IIcadPViewport_put_SnapRotationAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_get_Target_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppTarget);


void __RPC_STUB IIcadPViewport_get_Target_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_put_Target_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Target);


void __RPC_STUB IIcadPViewport_put_Target_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_get_TwistAngle_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pAngle);


void __RPC_STUB IIcadPViewport_get_TwistAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_put_TwistAngle_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [in] */ double Angle);


void __RPC_STUB IIcadPViewport_put_TwistAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_get_UCSIconAtOrigin_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pIcon);


void __RPC_STUB IIcadPViewport_get_UCSIconAtOrigin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_put_UCSIconAtOrigin_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Icon);


void __RPC_STUB IIcadPViewport_put_UCSIconAtOrigin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_get_UCSIconOn_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pIcon);


void __RPC_STUB IIcadPViewport_get_UCSIconOn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_put_UCSIconOn_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Icon);


void __RPC_STUB IIcadPViewport_put_UCSIconOn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_get__ViewportID_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pID);


void __RPC_STUB IIcadPViewport_get__ViewportID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_get_Width_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pWidth);


void __RPC_STUB IIcadPViewport_get_Width_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_put_Width_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [in] */ double Width);


void __RPC_STUB IIcadPViewport_put_Width_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_Display_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Status);


void __RPC_STUB IIcadPViewport_Display_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_GetGridSpacing_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [out][in] */ double __RPC_FAR *Xspacing,
    /* [out][in] */ double __RPC_FAR *Yspacing);


void __RPC_STUB IIcadPViewport_GetGridSpacing_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_GetSnapSpacing_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [out][in] */ double __RPC_FAR *Xspacing,
    /* [out][in] */ double __RPC_FAR *Yspacing);


void __RPC_STUB IIcadPViewport_GetSnapSpacing_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_SetGridSpacing_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [in] */ double Xspacing,
    /* [in] */ double Yspacing);


void __RPC_STUB IIcadPViewport_SetGridSpacing_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_SetSnapSpacing_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [in] */ double Xspacing,
    /* [in] */ double Yspacing);


void __RPC_STUB IIcadPViewport_SetSnapSpacing_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_ZoomAll_Proxy( 
    IIcadPViewport __RPC_FAR * This);


void __RPC_STUB IIcadPViewport_ZoomAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_ZoomCenter_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Center,
    /* [in] */ double ZoomFactor);


void __RPC_STUB IIcadPViewport_ZoomCenter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_ZoomExtents_Proxy( 
    IIcadPViewport __RPC_FAR * This);


void __RPC_STUB IIcadPViewport_ZoomExtents_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_ZoomPickWindow_Proxy( 
    IIcadPViewport __RPC_FAR * This);


void __RPC_STUB IIcadPViewport_ZoomPickWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_ZoomScaled_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [in] */ double Scale,
    /* [in] */ ZoomScale ScaleType);


void __RPC_STUB IIcadPViewport_ZoomScaled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPViewport_ZoomWindow_Proxy( 
    IIcadPViewport __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Lowerleft,
    /* [in] */ IIcadPoint __RPC_FAR *UpperRight);


void __RPC_STUB IIcadPViewport_ZoomWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadPViewport_INTERFACE_DEFINED__ */


#ifndef __IIcadImage_INTERFACE_DEFINED__
#define __IIcadImage_INTERFACE_DEFINED__

/* interface IIcadImage */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadImage;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c175-7e36-11d1-bc5a-0060089608a4")
    IIcadImage : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ImageFile( 
            /* [retval][out] */ BSTR __RPC_FAR *pImageFileName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ImageFile( 
            /* [in] */ BSTR ImageFileName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ImageVisibility( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ImageVisibility( 
            /* [in] */ VARIANT_BOOL Visible) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Origin( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppOrigin) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Origin( 
            /* [in] */ IIcadPoint __RPC_FAR *Origin) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ImageHeight( 
            /* [retval][out] */ double __RPC_FAR *pHeight) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ImageHeight( 
            /* [in] */ double Height) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ImageWidth( 
            /* [retval][out] */ double __RPC_FAR *pWidth) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ImageWidth( 
            /* [in] */ double Width) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double __RPC_FAR *pHeight) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ double __RPC_FAR *pWidth) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadImageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadImage __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadImage __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadImage __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadImage __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadImage __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadImage __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadImage __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadImage __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadImage __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadImage __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadImage __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadImage __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadImage __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadImage __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadImage __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadImage __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadImage __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadImage __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadImage __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadImage __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ImageFile )( 
            IIcadImage __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pImageFileName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ImageFile )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ BSTR ImageFileName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ImageVisibility )( 
            IIcadImage __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ImageVisibility )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Origin )( 
            IIcadImage __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppOrigin);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Origin )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Origin);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ImageHeight )( 
            IIcadImage __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pHeight);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ImageHeight )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ double Height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ImageWidth )( 
            IIcadImage __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pWidth);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ImageWidth )( 
            IIcadImage __RPC_FAR * This,
            /* [in] */ double Width);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Height )( 
            IIcadImage __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pHeight);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Width )( 
            IIcadImage __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pWidth);
        
        END_INTERFACE
    } IIcadImageVtbl;

    interface IIcadImage
    {
        CONST_VTBL struct IIcadImageVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadImage_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadImage_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadImage_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadImage_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadImage_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadImage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadImage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadImage_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadImage_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadImage_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadImage_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadImage__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadImage_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadImage_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadImage_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadImage_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadImage_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadImage_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadImage_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadImage_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadImage_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadImage_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadImage_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadImage_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadImage_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadImage_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadImage_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadImage_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadImage_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadImage_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadImage_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadImage_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadImage_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadImage_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadImage_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadImage_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadImage_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadImage_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadImage_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadImage_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadImage_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadImage_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadImage_get_ImageFile(This,pImageFileName)	\
    (This)->lpVtbl -> get_ImageFile(This,pImageFileName)

#define IIcadImage_put_ImageFile(This,ImageFileName)	\
    (This)->lpVtbl -> put_ImageFile(This,ImageFileName)

#define IIcadImage_get_ImageVisibility(This,pVisible)	\
    (This)->lpVtbl -> get_ImageVisibility(This,pVisible)

#define IIcadImage_put_ImageVisibility(This,Visible)	\
    (This)->lpVtbl -> put_ImageVisibility(This,Visible)

#define IIcadImage_get_Origin(This,ppOrigin)	\
    (This)->lpVtbl -> get_Origin(This,ppOrigin)

#define IIcadImage_put_Origin(This,Origin)	\
    (This)->lpVtbl -> put_Origin(This,Origin)

#define IIcadImage_get_ImageHeight(This,pHeight)	\
    (This)->lpVtbl -> get_ImageHeight(This,pHeight)

#define IIcadImage_put_ImageHeight(This,Height)	\
    (This)->lpVtbl -> put_ImageHeight(This,Height)

#define IIcadImage_get_ImageWidth(This,pWidth)	\
    (This)->lpVtbl -> get_ImageWidth(This,pWidth)

#define IIcadImage_put_ImageWidth(This,Width)	\
    (This)->lpVtbl -> put_ImageWidth(This,Width)

#define IIcadImage_get_Height(This,pHeight)	\
    (This)->lpVtbl -> get_Height(This,pHeight)

#define IIcadImage_get_Width(This,pWidth)	\
    (This)->lpVtbl -> get_Width(This,pWidth)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadImage_get_ImageFile_Proxy( 
    IIcadImage __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pImageFileName);


void __RPC_STUB IIcadImage_get_ImageFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadImage_put_ImageFile_Proxy( 
    IIcadImage __RPC_FAR * This,
    /* [in] */ BSTR ImageFileName);


void __RPC_STUB IIcadImage_put_ImageFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadImage_get_ImageVisibility_Proxy( 
    IIcadImage __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);


void __RPC_STUB IIcadImage_get_ImageVisibility_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadImage_put_ImageVisibility_Proxy( 
    IIcadImage __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Visible);


void __RPC_STUB IIcadImage_put_ImageVisibility_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadImage_get_Origin_Proxy( 
    IIcadImage __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppOrigin);


void __RPC_STUB IIcadImage_get_Origin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadImage_put_Origin_Proxy( 
    IIcadImage __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Origin);


void __RPC_STUB IIcadImage_put_Origin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadImage_get_ImageHeight_Proxy( 
    IIcadImage __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pHeight);


void __RPC_STUB IIcadImage_get_ImageHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadImage_put_ImageHeight_Proxy( 
    IIcadImage __RPC_FAR * This,
    /* [in] */ double Height);


void __RPC_STUB IIcadImage_put_ImageHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadImage_get_ImageWidth_Proxy( 
    IIcadImage __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pWidth);


void __RPC_STUB IIcadImage_get_ImageWidth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadImage_put_ImageWidth_Proxy( 
    IIcadImage __RPC_FAR * This,
    /* [in] */ double Width);


void __RPC_STUB IIcadImage_put_ImageWidth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadImage_get_Height_Proxy( 
    IIcadImage __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pHeight);


void __RPC_STUB IIcadImage_get_Height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadImage_get_Width_Proxy( 
    IIcadImage __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pWidth);


void __RPC_STUB IIcadImage_get_Width_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadImage_INTERFACE_DEFINED__ */


#ifndef __IIcadRay_INTERFACE_DEFINED__
#define __IIcadRay_INTERFACE_DEFINED__

/* interface IIcadRay */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadRay;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c176-7e36-11d1-bc5a-0060089608a4")
    IIcadRay : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BasePoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppSnapBasePoint) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BasePoint( 
            /* [in] */ IIcadPoint __RPC_FAR *SnapBasePoint) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DirectionVector( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DirectionVector( 
            /* [in] */ IIcadVector __RPC_FAR *Direction) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Offset( 
            /* [in] */ double Offset,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadRayVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadRay __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadRay __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadRay __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadRay __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadRay __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadRay __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadRay __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadRay __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadRay __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadRay __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadRay __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadRay __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadRay __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadRay __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadRay __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadRay __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadRay __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadRay __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadRay __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadRay __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_BasePoint )( 
            IIcadRay __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppSnapBasePoint);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_BasePoint )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *SnapBasePoint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DirectionVector )( 
            IIcadRay __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DirectionVector )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *Direction);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Offset )( 
            IIcadRay __RPC_FAR * This,
            /* [in] */ double Offset,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);
        
        END_INTERFACE
    } IIcadRayVtbl;

    interface IIcadRay
    {
        CONST_VTBL struct IIcadRayVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadRay_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadRay_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadRay_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadRay_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadRay_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadRay_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadRay_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadRay_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadRay_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadRay_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadRay_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadRay__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadRay_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadRay_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadRay_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadRay_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadRay_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadRay_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadRay_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadRay_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadRay_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadRay_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadRay_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadRay_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadRay_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadRay_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadRay_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadRay_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadRay_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadRay_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadRay_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadRay_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadRay_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadRay_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadRay_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadRay_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadRay_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadRay_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadRay_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadRay_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadRay_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadRay_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadRay_get_BasePoint(This,ppSnapBasePoint)	\
    (This)->lpVtbl -> get_BasePoint(This,ppSnapBasePoint)

#define IIcadRay_put_BasePoint(This,SnapBasePoint)	\
    (This)->lpVtbl -> put_BasePoint(This,SnapBasePoint)

#define IIcadRay_get_DirectionVector(This,ppDirection)	\
    (This)->lpVtbl -> get_DirectionVector(This,ppDirection)

#define IIcadRay_put_DirectionVector(This,Direction)	\
    (This)->lpVtbl -> put_DirectionVector(This,Direction)

#define IIcadRay_Offset(This,Offset,ppArrayOfEntities)	\
    (This)->lpVtbl -> Offset(This,Offset,ppArrayOfEntities)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadRay_get_BasePoint_Proxy( 
    IIcadRay __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppSnapBasePoint);


void __RPC_STUB IIcadRay_get_BasePoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadRay_put_BasePoint_Proxy( 
    IIcadRay __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *SnapBasePoint);


void __RPC_STUB IIcadRay_put_BasePoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadRay_get_DirectionVector_Proxy( 
    IIcadRay __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppDirection);


void __RPC_STUB IIcadRay_get_DirectionVector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadRay_put_DirectionVector_Proxy( 
    IIcadRay __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *Direction);


void __RPC_STUB IIcadRay_put_DirectionVector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadRay_Offset_Proxy( 
    IIcadRay __RPC_FAR * This,
    /* [in] */ double Offset,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);


void __RPC_STUB IIcadRay_Offset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadRay_INTERFACE_DEFINED__ */


#ifndef __IIcadShape_INTERFACE_DEFINED__
#define __IIcadShape_INTERFACE_DEFINED__

/* interface IIcadShape */
/* [object][unique][hidden][dual][oleautomation][uuid] */ 


EXTERN_C const IID IID_IIcadShape;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c178-7e36-11d1-bc5a-0060089608a4")
    IIcadShape : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InsertionPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsertPoint) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_InsertionPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *InsertPoint) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR __RPC_FAR *pBlockName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR NewBlockName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ double __RPC_FAR *pRotation) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ double Rotation) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double __RPC_FAR *pHeight) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double Height) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ScaleFactor( 
            /* [retval][out] */ double __RPC_FAR *pScaleFactor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ScaleFactor( 
            /* [in] */ double ScaleFactor) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ObliqueAngle( 
            /* [retval][out] */ double __RPC_FAR *pAngle) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ObliqueAngle( 
            /* [in] */ double Angle) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double __RPC_FAR *pThick) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double Thick) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadShapeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadShape __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadShape __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadShape __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadShape __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadShape __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadShape __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadShape __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadShape __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadShape __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadShape __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadShape __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadShape __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadShape __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadShape __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadShape __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadShape __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadShape __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadShape __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadShape __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadShape __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InsertionPoint )( 
            IIcadShape __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsertPoint);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_InsertionPoint )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *InsertPoint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            IIcadShape __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pBlockName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ BSTR NewBlockName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadShape __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rotation )( 
            IIcadShape __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pRotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rotation )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Height )( 
            IIcadShape __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pHeight);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Height )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ double Height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ScaleFactor )( 
            IIcadShape __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ScaleFactor )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ObliqueAngle )( 
            IIcadShape __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pAngle);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ObliqueAngle )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ double Angle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Thickness )( 
            IIcadShape __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pThick);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Thickness )( 
            IIcadShape __RPC_FAR * This,
            /* [in] */ double Thick);
        
        END_INTERFACE
    } IIcadShapeVtbl;

    interface IIcadShape
    {
        CONST_VTBL struct IIcadShapeVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadShape_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadShape_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadShape_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadShape_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadShape_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadShape_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadShape_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadShape_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadShape_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadShape_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadShape_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadShape__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadShape_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadShape_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadShape_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadShape_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadShape_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadShape_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadShape_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadShape_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadShape_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadShape_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadShape_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadShape_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadShape_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadShape_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadShape_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadShape_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadShape_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadShape_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadShape_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadShape_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadShape_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadShape_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadShape_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadShape_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadShape_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadShape_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadShape_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadShape_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadShape_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadShape_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadShape_get_InsertionPoint(This,ppInsertPoint)	\
    (This)->lpVtbl -> get_InsertionPoint(This,ppInsertPoint)

#define IIcadShape_put_InsertionPoint(This,InsertPoint)	\
    (This)->lpVtbl -> put_InsertionPoint(This,InsertPoint)

#define IIcadShape_get_Name(This,pBlockName)	\
    (This)->lpVtbl -> get_Name(This,pBlockName)

#define IIcadShape_put_Name(This,NewBlockName)	\
    (This)->lpVtbl -> put_Name(This,NewBlockName)

#define IIcadShape_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadShape_put_Normal(This,ExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ExtrusionDirection)

#define IIcadShape_get_Rotation(This,pRotation)	\
    (This)->lpVtbl -> get_Rotation(This,pRotation)

#define IIcadShape_put_Rotation(This,Rotation)	\
    (This)->lpVtbl -> put_Rotation(This,Rotation)

#define IIcadShape_get_Height(This,pHeight)	\
    (This)->lpVtbl -> get_Height(This,pHeight)

#define IIcadShape_put_Height(This,Height)	\
    (This)->lpVtbl -> put_Height(This,Height)

#define IIcadShape_get_ScaleFactor(This,pScaleFactor)	\
    (This)->lpVtbl -> get_ScaleFactor(This,pScaleFactor)

#define IIcadShape_put_ScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> put_ScaleFactor(This,ScaleFactor)

#define IIcadShape_get_ObliqueAngle(This,pAngle)	\
    (This)->lpVtbl -> get_ObliqueAngle(This,pAngle)

#define IIcadShape_put_ObliqueAngle(This,Angle)	\
    (This)->lpVtbl -> put_ObliqueAngle(This,Angle)

#define IIcadShape_get_Thickness(This,pThick)	\
    (This)->lpVtbl -> get_Thickness(This,pThick)

#define IIcadShape_put_Thickness(This,Thick)	\
    (This)->lpVtbl -> put_Thickness(This,Thick)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadShape_get_InsertionPoint_Proxy( 
    IIcadShape __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsertPoint);


void __RPC_STUB IIcadShape_get_InsertionPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadShape_put_InsertionPoint_Proxy( 
    IIcadShape __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *InsertPoint);


void __RPC_STUB IIcadShape_put_InsertionPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadShape_get_Name_Proxy( 
    IIcadShape __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pBlockName);


void __RPC_STUB IIcadShape_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadShape_put_Name_Proxy( 
    IIcadShape __RPC_FAR * This,
    /* [in] */ BSTR NewBlockName);


void __RPC_STUB IIcadShape_put_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadShape_get_Normal_Proxy( 
    IIcadShape __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);


void __RPC_STUB IIcadShape_get_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadShape_put_Normal_Proxy( 
    IIcadShape __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);


void __RPC_STUB IIcadShape_put_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadShape_get_Rotation_Proxy( 
    IIcadShape __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pRotation);


void __RPC_STUB IIcadShape_get_Rotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadShape_put_Rotation_Proxy( 
    IIcadShape __RPC_FAR * This,
    /* [in] */ double Rotation);


void __RPC_STUB IIcadShape_put_Rotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadShape_get_Height_Proxy( 
    IIcadShape __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pHeight);


void __RPC_STUB IIcadShape_get_Height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadShape_put_Height_Proxy( 
    IIcadShape __RPC_FAR * This,
    /* [in] */ double Height);


void __RPC_STUB IIcadShape_put_Height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadShape_get_ScaleFactor_Proxy( 
    IIcadShape __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pScaleFactor);


void __RPC_STUB IIcadShape_get_ScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadShape_put_ScaleFactor_Proxy( 
    IIcadShape __RPC_FAR * This,
    /* [in] */ double ScaleFactor);


void __RPC_STUB IIcadShape_put_ScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadShape_get_ObliqueAngle_Proxy( 
    IIcadShape __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pAngle);


void __RPC_STUB IIcadShape_get_ObliqueAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadShape_put_ObliqueAngle_Proxy( 
    IIcadShape __RPC_FAR * This,
    /* [in] */ double Angle);


void __RPC_STUB IIcadShape_put_ObliqueAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadShape_get_Thickness_Proxy( 
    IIcadShape __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pThick);


void __RPC_STUB IIcadShape_get_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadShape_put_Thickness_Proxy( 
    IIcadShape __RPC_FAR * This,
    /* [in] */ double Thick);


void __RPC_STUB IIcadShape_put_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadShape_INTERFACE_DEFINED__ */


#ifndef __IIcadSolid_INTERFACE_DEFINED__
#define __IIcadSolid_INTERFACE_DEFINED__

/* interface IIcadSolid */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadSolid;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c179-7e36-11d1-bc5a-0060089608a4")
    IIcadSolid : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ IIcadPoints __RPC_FAR *Coords) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double __RPC_FAR *pThick) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double Thick) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadSolidVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadSolid __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadSolid __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadSolid __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadSolid __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadSolid __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadSolid __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadSolid __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadSolid __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadSolid __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadSolid __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadSolid __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadSolid __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadSolid __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadSolid __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadSolid __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadSolid __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadSolid __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadSolid __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadSolid __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadSolid __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Coordinates )( 
            IIcadSolid __RPC_FAR * This,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Coordinates )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Coords);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadSolid __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Thickness )( 
            IIcadSolid __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pThick);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Thickness )( 
            IIcadSolid __RPC_FAR * This,
            /* [in] */ double Thick);
        
        END_INTERFACE
    } IIcadSolidVtbl;

    interface IIcadSolid
    {
        CONST_VTBL struct IIcadSolidVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadSolid_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadSolid_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadSolid_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadSolid_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadSolid_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadSolid_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadSolid_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadSolid_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadSolid_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadSolid_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadSolid_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadSolid__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadSolid_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadSolid_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadSolid_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadSolid_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadSolid_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadSolid_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadSolid_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadSolid_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadSolid_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadSolid_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadSolid_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadSolid_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadSolid_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadSolid_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadSolid_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadSolid_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadSolid_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadSolid_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadSolid_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadSolid_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadSolid_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadSolid_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadSolid_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadSolid_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadSolid_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadSolid_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadSolid_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadSolid_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadSolid_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadSolid_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadSolid_get_Coordinates(This,ppCoords)	\
    (This)->lpVtbl -> get_Coordinates(This,ppCoords)

#define IIcadSolid_put_Coordinates(This,Coords)	\
    (This)->lpVtbl -> put_Coordinates(This,Coords)

#define IIcadSolid_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadSolid_put_Normal(This,ExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ExtrusionDirection)

#define IIcadSolid_get_Thickness(This,pThick)	\
    (This)->lpVtbl -> get_Thickness(This,pThick)

#define IIcadSolid_put_Thickness(This,Thick)	\
    (This)->lpVtbl -> put_Thickness(This,Thick)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSolid_get_Coordinates_Proxy( 
    IIcadSolid __RPC_FAR * This,
    /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords);


void __RPC_STUB IIcadSolid_get_Coordinates_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadSolid_put_Coordinates_Proxy( 
    IIcadSolid __RPC_FAR * This,
    /* [in] */ IIcadPoints __RPC_FAR *Coords);


void __RPC_STUB IIcadSolid_put_Coordinates_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSolid_get_Normal_Proxy( 
    IIcadSolid __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);


void __RPC_STUB IIcadSolid_get_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadSolid_put_Normal_Proxy( 
    IIcadSolid __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);


void __RPC_STUB IIcadSolid_put_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSolid_get_Thickness_Proxy( 
    IIcadSolid __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pThick);


void __RPC_STUB IIcadSolid_get_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadSolid_put_Thickness_Proxy( 
    IIcadSolid __RPC_FAR * This,
    /* [in] */ double Thick);


void __RPC_STUB IIcadSolid_put_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadSolid_INTERFACE_DEFINED__ */


#ifndef __IIcadSpline_INTERFACE_DEFINED__
#define __IIcadSpline_INTERFACE_DEFINED__

/* interface IIcadSpline */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadSpline;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c17a-7e36-11d1-bc5a-0060089608a4")
    IIcadSpline : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Area( 
            /* [retval][out] */ double __RPC_FAR *pArea) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Length( 
            /* [retval][out] */ double __RPC_FAR *pLength) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Closed( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *bClosed) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Closed( 
            /* [in] */ VARIANT_BOOL bClosed) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Degree( 
            /* [retval][out] */ int __RPC_FAR *pDegree) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EndTangent( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppTangent) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_EndTangent( 
            /* [in] */ IIcadVector __RPC_FAR *pTangent) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FitTolerance( 
            /* [retval][out] */ double __RPC_FAR *Tolerance) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FitTolerance( 
            /* [in] */ double Tolerance) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsRational( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pRational) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StartTangent( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppTangent) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_StartTangent( 
            /* [in] */ IIcadVector __RPC_FAR *pTangent) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NumberOfControlPoints( 
            /* [retval][out] */ int __RPC_FAR *pNumControlPoints) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NumberOfFitPoints( 
            /* [retval][out] */ int __RPC_FAR *pNumFitPoints) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ControlPoints( 
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ControlPoints( 
            /* [in] */ IIcadPoints __RPC_FAR *Coords) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FitPoints( 
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FitPoints( 
            /* [in] */ IIcadPoints __RPC_FAR *Coords) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddFitPoint( 
            /* [in] */ int Index,
            /* [in] */ IIcadPoint __RPC_FAR *FitPoint) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeleteFitPoint( 
            /* [in] */ int Index) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ElevateOrder( 
            /* [in] */ long Order) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetControlPoint( 
            /* [in] */ int Index,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppControlPoint) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFitPoint( 
            /* [in] */ int Index,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppFitPoint) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetWeight( 
            /* [in] */ int Index,
            /* [retval][out] */ double __RPC_FAR *pWeight) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Offset( 
            /* [in] */ double Offset,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PurgeFitData( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reverse( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetControlPoint( 
            /* [in] */ int Index,
            /* [in] */ IIcadPoint __RPC_FAR *ControlPoint) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetFitPoint( 
            /* [in] */ int Index,
            /* [in] */ IIcadPoint __RPC_FAR *FitPoint) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetWeight( 
            /* [in] */ int Index,
            /* [in] */ double Weight) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadSplineVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadSpline __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadSpline __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadSpline __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadSpline __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadSpline __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadSpline __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadSpline __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Area )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pArea);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Length )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pLength);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Closed )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *bClosed);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Closed )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL bClosed);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Degree )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pDegree);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EndTangent )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppTangent);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_EndTangent )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *pTangent);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FitTolerance )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Tolerance);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_FitTolerance )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ double Tolerance);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_IsRational )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pRational);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StartTangent )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppTangent);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StartTangent )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *pTangent);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NumberOfControlPoints )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pNumControlPoints);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NumberOfFitPoints )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *pNumFitPoints);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ControlPoints )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ControlPoints )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Coords);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FitPoints )( 
            IIcadSpline __RPC_FAR * This,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_FitPoints )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Coords);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddFitPoint )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ int Index,
            /* [in] */ IIcadPoint __RPC_FAR *FitPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteFitPoint )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ int Index);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ElevateOrder )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ long Order);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetControlPoint )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ int Index,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppControlPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFitPoint )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ int Index,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppFitPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetWeight )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ int Index,
            /* [retval][out] */ double __RPC_FAR *pWeight);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Offset )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ double Offset,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PurgeFitData )( 
            IIcadSpline __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reverse )( 
            IIcadSpline __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetControlPoint )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ int Index,
            /* [in] */ IIcadPoint __RPC_FAR *ControlPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFitPoint )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ int Index,
            /* [in] */ IIcadPoint __RPC_FAR *FitPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetWeight )( 
            IIcadSpline __RPC_FAR * This,
            /* [in] */ int Index,
            /* [in] */ double Weight);
        
        END_INTERFACE
    } IIcadSplineVtbl;

    interface IIcadSpline
    {
        CONST_VTBL struct IIcadSplineVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadSpline_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadSpline_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadSpline_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadSpline_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadSpline_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadSpline_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadSpline_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadSpline_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadSpline_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadSpline_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadSpline_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadSpline__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadSpline_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadSpline_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadSpline_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadSpline_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadSpline_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadSpline_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadSpline_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadSpline_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadSpline_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadSpline_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadSpline_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadSpline_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadSpline_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadSpline_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadSpline_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadSpline_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadSpline_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadSpline_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadSpline_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadSpline_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadSpline_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadSpline_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadSpline_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadSpline_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadSpline_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadSpline_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadSpline_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadSpline_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadSpline_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadSpline_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadSpline_get_Area(This,pArea)	\
    (This)->lpVtbl -> get_Area(This,pArea)

#define IIcadSpline_get_Length(This,pLength)	\
    (This)->lpVtbl -> get_Length(This,pLength)

#define IIcadSpline_get_Closed(This,bClosed)	\
    (This)->lpVtbl -> get_Closed(This,bClosed)

#define IIcadSpline_put_Closed(This,bClosed)	\
    (This)->lpVtbl -> put_Closed(This,bClosed)

#define IIcadSpline_get_Degree(This,pDegree)	\
    (This)->lpVtbl -> get_Degree(This,pDegree)

#define IIcadSpline_get_EndTangent(This,ppTangent)	\
    (This)->lpVtbl -> get_EndTangent(This,ppTangent)

#define IIcadSpline_put_EndTangent(This,pTangent)	\
    (This)->lpVtbl -> put_EndTangent(This,pTangent)

#define IIcadSpline_get_FitTolerance(This,Tolerance)	\
    (This)->lpVtbl -> get_FitTolerance(This,Tolerance)

#define IIcadSpline_put_FitTolerance(This,Tolerance)	\
    (This)->lpVtbl -> put_FitTolerance(This,Tolerance)

#define IIcadSpline_get_IsRational(This,pRational)	\
    (This)->lpVtbl -> get_IsRational(This,pRational)

#define IIcadSpline_get_StartTangent(This,ppTangent)	\
    (This)->lpVtbl -> get_StartTangent(This,ppTangent)

#define IIcadSpline_put_StartTangent(This,pTangent)	\
    (This)->lpVtbl -> put_StartTangent(This,pTangent)

#define IIcadSpline_get_NumberOfControlPoints(This,pNumControlPoints)	\
    (This)->lpVtbl -> get_NumberOfControlPoints(This,pNumControlPoints)

#define IIcadSpline_get_NumberOfFitPoints(This,pNumFitPoints)	\
    (This)->lpVtbl -> get_NumberOfFitPoints(This,pNumFitPoints)

#define IIcadSpline_get_ControlPoints(This,ppCoords)	\
    (This)->lpVtbl -> get_ControlPoints(This,ppCoords)

#define IIcadSpline_put_ControlPoints(This,Coords)	\
    (This)->lpVtbl -> put_ControlPoints(This,Coords)

#define IIcadSpline_get_FitPoints(This,ppCoords)	\
    (This)->lpVtbl -> get_FitPoints(This,ppCoords)

#define IIcadSpline_put_FitPoints(This,Coords)	\
    (This)->lpVtbl -> put_FitPoints(This,Coords)

#define IIcadSpline_AddFitPoint(This,Index,FitPoint)	\
    (This)->lpVtbl -> AddFitPoint(This,Index,FitPoint)

#define IIcadSpline_DeleteFitPoint(This,Index)	\
    (This)->lpVtbl -> DeleteFitPoint(This,Index)

#define IIcadSpline_ElevateOrder(This,Order)	\
    (This)->lpVtbl -> ElevateOrder(This,Order)

#define IIcadSpline_GetControlPoint(This,Index,ppControlPoint)	\
    (This)->lpVtbl -> GetControlPoint(This,Index,ppControlPoint)

#define IIcadSpline_GetFitPoint(This,Index,ppFitPoint)	\
    (This)->lpVtbl -> GetFitPoint(This,Index,ppFitPoint)

#define IIcadSpline_GetWeight(This,Index,pWeight)	\
    (This)->lpVtbl -> GetWeight(This,Index,pWeight)

#define IIcadSpline_Offset(This,Offset,ppArrayOfEntities)	\
    (This)->lpVtbl -> Offset(This,Offset,ppArrayOfEntities)

#define IIcadSpline_PurgeFitData(This)	\
    (This)->lpVtbl -> PurgeFitData(This)

#define IIcadSpline_Reverse(This)	\
    (This)->lpVtbl -> Reverse(This)

#define IIcadSpline_SetControlPoint(This,Index,ControlPoint)	\
    (This)->lpVtbl -> SetControlPoint(This,Index,ControlPoint)

#define IIcadSpline_SetFitPoint(This,Index,FitPoint)	\
    (This)->lpVtbl -> SetFitPoint(This,Index,FitPoint)

#define IIcadSpline_SetWeight(This,Index,Weight)	\
    (This)->lpVtbl -> SetWeight(This,Index,Weight)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSpline_get_Area_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pArea);


void __RPC_STUB IIcadSpline_get_Area_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSpline_get_Length_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pLength);


void __RPC_STUB IIcadSpline_get_Length_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSpline_get_Closed_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *bClosed);


void __RPC_STUB IIcadSpline_get_Closed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadSpline_put_Closed_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL bClosed);


void __RPC_STUB IIcadSpline_put_Closed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSpline_get_Degree_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pDegree);


void __RPC_STUB IIcadSpline_get_Degree_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSpline_get_EndTangent_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppTangent);


void __RPC_STUB IIcadSpline_get_EndTangent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadSpline_put_EndTangent_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *pTangent);


void __RPC_STUB IIcadSpline_put_EndTangent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSpline_get_FitTolerance_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Tolerance);


void __RPC_STUB IIcadSpline_get_FitTolerance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadSpline_put_FitTolerance_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [in] */ double Tolerance);


void __RPC_STUB IIcadSpline_put_FitTolerance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSpline_get_IsRational_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pRational);


void __RPC_STUB IIcadSpline_get_IsRational_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSpline_get_StartTangent_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppTangent);


void __RPC_STUB IIcadSpline_get_StartTangent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadSpline_put_StartTangent_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *pTangent);


void __RPC_STUB IIcadSpline_put_StartTangent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSpline_get_NumberOfControlPoints_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pNumControlPoints);


void __RPC_STUB IIcadSpline_get_NumberOfControlPoints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSpline_get_NumberOfFitPoints_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *pNumFitPoints);


void __RPC_STUB IIcadSpline_get_NumberOfFitPoints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSpline_get_ControlPoints_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords);


void __RPC_STUB IIcadSpline_get_ControlPoints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadSpline_put_ControlPoints_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [in] */ IIcadPoints __RPC_FAR *Coords);


void __RPC_STUB IIcadSpline_put_ControlPoints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadSpline_get_FitPoints_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords);


void __RPC_STUB IIcadSpline_get_FitPoints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadSpline_put_FitPoints_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [in] */ IIcadPoints __RPC_FAR *Coords);


void __RPC_STUB IIcadSpline_put_FitPoints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSpline_AddFitPoint_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [in] */ int Index,
    /* [in] */ IIcadPoint __RPC_FAR *FitPoint);


void __RPC_STUB IIcadSpline_AddFitPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSpline_DeleteFitPoint_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [in] */ int Index);


void __RPC_STUB IIcadSpline_DeleteFitPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSpline_ElevateOrder_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [in] */ long Order);


void __RPC_STUB IIcadSpline_ElevateOrder_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSpline_GetControlPoint_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [in] */ int Index,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppControlPoint);


void __RPC_STUB IIcadSpline_GetControlPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSpline_GetFitPoint_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [in] */ int Index,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppFitPoint);


void __RPC_STUB IIcadSpline_GetFitPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSpline_GetWeight_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [in] */ int Index,
    /* [retval][out] */ double __RPC_FAR *pWeight);


void __RPC_STUB IIcadSpline_GetWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSpline_Offset_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [in] */ double Offset,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);


void __RPC_STUB IIcadSpline_Offset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSpline_PurgeFitData_Proxy( 
    IIcadSpline __RPC_FAR * This);


void __RPC_STUB IIcadSpline_PurgeFitData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSpline_Reverse_Proxy( 
    IIcadSpline __RPC_FAR * This);


void __RPC_STUB IIcadSpline_Reverse_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSpline_SetControlPoint_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [in] */ int Index,
    /* [in] */ IIcadPoint __RPC_FAR *ControlPoint);


void __RPC_STUB IIcadSpline_SetControlPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSpline_SetFitPoint_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [in] */ int Index,
    /* [in] */ IIcadPoint __RPC_FAR *FitPoint);


void __RPC_STUB IIcadSpline_SetFitPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadSpline_SetWeight_Proxy( 
    IIcadSpline __RPC_FAR * This,
    /* [in] */ int Index,
    /* [in] */ double Weight);


void __RPC_STUB IIcadSpline_SetWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadSpline_INTERFACE_DEFINED__ */


#ifndef __IIcadText_INTERFACE_DEFINED__
#define __IIcadText_INTERFACE_DEFINED__

/* interface IIcadText */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadText;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c17b-7e36-11d1-bc5a-0060089608a4")
    IIcadText : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextAlignmentPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextAlignmentPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *Point) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextGenerationFlag( 
            /* [retval][out] */ TextFlag __RPC_FAR *pFlags) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextGenerationFlag( 
            /* [in] */ TextFlag Flags) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double __RPC_FAR *pHeight) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double Height) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_HorizontalAlignment( 
            /* [retval][out] */ HorizontalAlignment __RPC_FAR *pHorizAlign) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HorizontalAlignment( 
            /* [in] */ HorizontalAlignment HorizAlign) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InsertionPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsPoint) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_InsertionPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *InsPoint) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ObliqueAngle( 
            /* [retval][out] */ double __RPC_FAR *pAngle) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ObliqueAngle( 
            /* [in] */ double Angle) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ double __RPC_FAR *pRotation) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ double Rotation) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ScaleFactor( 
            /* [retval][out] */ double __RPC_FAR *pScale) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ScaleFactor( 
            /* [in] */ double Scale) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StyleName( 
            /* [retval][out] */ BSTR __RPC_FAR *pStyleName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_StyleName( 
            /* [in] */ BSTR StyleName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextString( 
            /* [retval][out] */ BSTR __RPC_FAR *pText) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextString( 
            /* [in] */ BSTR Text) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double __RPC_FAR *pThick) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double Thick) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VerticalAlignment( 
            /* [retval][out] */ VerticalAlignment __RPC_FAR *pVertAlign) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VerticalAlignment( 
            /* [in] */ VerticalAlignment VertiAlign) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadTextVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadText __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadText __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadText __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadText __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadText __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadText __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadText __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextAlignmentPoint )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextAlignmentPoint )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextGenerationFlag )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ TextFlag __RPC_FAR *pFlags);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextGenerationFlag )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ TextFlag Flags);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Height )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pHeight);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Height )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ double Height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HorizontalAlignment )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ HorizontalAlignment __RPC_FAR *pHorizAlign);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_HorizontalAlignment )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ HorizontalAlignment HorizAlign);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InsertionPoint )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsPoint);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_InsertionPoint )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *InsPoint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ObliqueAngle )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pAngle);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ObliqueAngle )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ double Angle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rotation )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pRotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rotation )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ScaleFactor )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ScaleFactor )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ double Scale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StyleName )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pStyleName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StyleName )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ BSTR StyleName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextString )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pText);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextString )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ BSTR Text);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Thickness )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pThick);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Thickness )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ double Thick);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VerticalAlignment )( 
            IIcadText __RPC_FAR * This,
            /* [retval][out] */ VerticalAlignment __RPC_FAR *pVertAlign);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VerticalAlignment )( 
            IIcadText __RPC_FAR * This,
            /* [in] */ VerticalAlignment VertiAlign);
        
        END_INTERFACE
    } IIcadTextVtbl;

    interface IIcadText
    {
        CONST_VTBL struct IIcadTextVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadText_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadText_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadText_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadText_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadText_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadText_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadText_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadText_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadText_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadText_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadText_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadText__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadText_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadText_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadText_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadText_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadText_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadText_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadText_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadText_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadText_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadText_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadText_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadText_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadText_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadText_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadText_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadText_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadText_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadText_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadText_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadText_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadText_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadText_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadText_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadText_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadText_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadText_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadText_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadText_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadText_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadText_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadText_get_TextAlignmentPoint(This,ppPoint)	\
    (This)->lpVtbl -> get_TextAlignmentPoint(This,ppPoint)

#define IIcadText_put_TextAlignmentPoint(This,Point)	\
    (This)->lpVtbl -> put_TextAlignmentPoint(This,Point)

#define IIcadText_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadText_put_Normal(This,ExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ExtrusionDirection)

#define IIcadText_get_TextGenerationFlag(This,pFlags)	\
    (This)->lpVtbl -> get_TextGenerationFlag(This,pFlags)

#define IIcadText_put_TextGenerationFlag(This,Flags)	\
    (This)->lpVtbl -> put_TextGenerationFlag(This,Flags)

#define IIcadText_get_Height(This,pHeight)	\
    (This)->lpVtbl -> get_Height(This,pHeight)

#define IIcadText_put_Height(This,Height)	\
    (This)->lpVtbl -> put_Height(This,Height)

#define IIcadText_get_HorizontalAlignment(This,pHorizAlign)	\
    (This)->lpVtbl -> get_HorizontalAlignment(This,pHorizAlign)

#define IIcadText_put_HorizontalAlignment(This,HorizAlign)	\
    (This)->lpVtbl -> put_HorizontalAlignment(This,HorizAlign)

#define IIcadText_get_InsertionPoint(This,ppInsPoint)	\
    (This)->lpVtbl -> get_InsertionPoint(This,ppInsPoint)

#define IIcadText_put_InsertionPoint(This,InsPoint)	\
    (This)->lpVtbl -> put_InsertionPoint(This,InsPoint)

#define IIcadText_get_ObliqueAngle(This,pAngle)	\
    (This)->lpVtbl -> get_ObliqueAngle(This,pAngle)

#define IIcadText_put_ObliqueAngle(This,Angle)	\
    (This)->lpVtbl -> put_ObliqueAngle(This,Angle)

#define IIcadText_get_Rotation(This,pRotation)	\
    (This)->lpVtbl -> get_Rotation(This,pRotation)

#define IIcadText_put_Rotation(This,Rotation)	\
    (This)->lpVtbl -> put_Rotation(This,Rotation)

#define IIcadText_get_ScaleFactor(This,pScale)	\
    (This)->lpVtbl -> get_ScaleFactor(This,pScale)

#define IIcadText_put_ScaleFactor(This,Scale)	\
    (This)->lpVtbl -> put_ScaleFactor(This,Scale)

#define IIcadText_get_StyleName(This,pStyleName)	\
    (This)->lpVtbl -> get_StyleName(This,pStyleName)

#define IIcadText_put_StyleName(This,StyleName)	\
    (This)->lpVtbl -> put_StyleName(This,StyleName)

#define IIcadText_get_TextString(This,pText)	\
    (This)->lpVtbl -> get_TextString(This,pText)

#define IIcadText_put_TextString(This,Text)	\
    (This)->lpVtbl -> put_TextString(This,Text)

#define IIcadText_get_Thickness(This,pThick)	\
    (This)->lpVtbl -> get_Thickness(This,pThick)

#define IIcadText_put_Thickness(This,Thick)	\
    (This)->lpVtbl -> put_Thickness(This,Thick)

#define IIcadText_get_VerticalAlignment(This,pVertAlign)	\
    (This)->lpVtbl -> get_VerticalAlignment(This,pVertAlign)

#define IIcadText_put_VerticalAlignment(This,VertiAlign)	\
    (This)->lpVtbl -> put_VerticalAlignment(This,VertiAlign)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadText_get_TextAlignmentPoint_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppPoint);


void __RPC_STUB IIcadText_get_TextAlignmentPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadText_put_TextAlignmentPoint_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point);


void __RPC_STUB IIcadText_put_TextAlignmentPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadText_get_Normal_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);


void __RPC_STUB IIcadText_get_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadText_put_Normal_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);


void __RPC_STUB IIcadText_put_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadText_get_TextGenerationFlag_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [retval][out] */ TextFlag __RPC_FAR *pFlags);


void __RPC_STUB IIcadText_get_TextGenerationFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadText_put_TextGenerationFlag_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [in] */ TextFlag Flags);


void __RPC_STUB IIcadText_put_TextGenerationFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadText_get_Height_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pHeight);


void __RPC_STUB IIcadText_get_Height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadText_put_Height_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [in] */ double Height);


void __RPC_STUB IIcadText_put_Height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadText_get_HorizontalAlignment_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [retval][out] */ HorizontalAlignment __RPC_FAR *pHorizAlign);


void __RPC_STUB IIcadText_get_HorizontalAlignment_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadText_put_HorizontalAlignment_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [in] */ HorizontalAlignment HorizAlign);


void __RPC_STUB IIcadText_put_HorizontalAlignment_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadText_get_InsertionPoint_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsPoint);


void __RPC_STUB IIcadText_get_InsertionPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadText_put_InsertionPoint_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *InsPoint);


void __RPC_STUB IIcadText_put_InsertionPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadText_get_ObliqueAngle_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pAngle);


void __RPC_STUB IIcadText_get_ObliqueAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadText_put_ObliqueAngle_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [in] */ double Angle);


void __RPC_STUB IIcadText_put_ObliqueAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadText_get_Rotation_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pRotation);


void __RPC_STUB IIcadText_get_Rotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadText_put_Rotation_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [in] */ double Rotation);


void __RPC_STUB IIcadText_put_Rotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadText_get_ScaleFactor_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pScale);


void __RPC_STUB IIcadText_get_ScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadText_put_ScaleFactor_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [in] */ double Scale);


void __RPC_STUB IIcadText_put_ScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadText_get_StyleName_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pStyleName);


void __RPC_STUB IIcadText_get_StyleName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadText_put_StyleName_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [in] */ BSTR StyleName);


void __RPC_STUB IIcadText_put_StyleName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadText_get_TextString_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pText);


void __RPC_STUB IIcadText_get_TextString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadText_put_TextString_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [in] */ BSTR Text);


void __RPC_STUB IIcadText_put_TextString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadText_get_Thickness_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pThick);


void __RPC_STUB IIcadText_get_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadText_put_Thickness_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [in] */ double Thick);


void __RPC_STUB IIcadText_put_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadText_get_VerticalAlignment_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [retval][out] */ VerticalAlignment __RPC_FAR *pVertAlign);


void __RPC_STUB IIcadText_get_VerticalAlignment_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadText_put_VerticalAlignment_Proxy( 
    IIcadText __RPC_FAR * This,
    /* [in] */ VerticalAlignment VertiAlign);


void __RPC_STUB IIcadText_put_VerticalAlignment_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadText_INTERFACE_DEFINED__ */


#ifndef __IIcadTolerance_INTERFACE_DEFINED__
#define __IIcadTolerance_INTERFACE_DEFINED__

/* interface IIcadTolerance */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadTolerance;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c17c-7e36-11d1-bc5a-0060089608a4")
    IIcadTolerance : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DirectionVector( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DirectionVector( 
            /* [in] */ IIcadVector __RPC_FAR *Direction) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextHeight( 
            /* [retval][out] */ double __RPC_FAR *pHeight) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextHeight( 
            /* [in] */ double Height) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InsertionPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsertPoint) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_InsertionPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *InsertPoint) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StyleName( 
            /* [retval][out] */ BSTR __RPC_FAR *pStyleName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_StyleName( 
            /* [in] */ BSTR StyleName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextString( 
            /* [retval][out] */ BSTR __RPC_FAR *pText) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextString( 
            /* [in] */ BSTR Text) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadToleranceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadTolerance __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadTolerance __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadTolerance __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadTolerance __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadTolerance __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadTolerance __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadTolerance __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadTolerance __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadTolerance __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadTolerance __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadTolerance __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadTolerance __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadTolerance __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadTolerance __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadTolerance __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadTolerance __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadTolerance __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadTolerance __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadTolerance __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadTolerance __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DirectionVector )( 
            IIcadTolerance __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DirectionVector )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *Direction);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadTolerance __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextHeight )( 
            IIcadTolerance __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pHeight);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextHeight )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ double Height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InsertionPoint )( 
            IIcadTolerance __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsertPoint);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_InsertionPoint )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *InsertPoint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StyleName )( 
            IIcadTolerance __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pStyleName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StyleName )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ BSTR StyleName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextString )( 
            IIcadTolerance __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pText);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextString )( 
            IIcadTolerance __RPC_FAR * This,
            /* [in] */ BSTR Text);
        
        END_INTERFACE
    } IIcadToleranceVtbl;

    interface IIcadTolerance
    {
        CONST_VTBL struct IIcadToleranceVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadTolerance_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadTolerance_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadTolerance_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadTolerance_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadTolerance_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadTolerance_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadTolerance_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadTolerance_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadTolerance_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadTolerance_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadTolerance_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadTolerance__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadTolerance_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadTolerance_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadTolerance_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadTolerance_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadTolerance_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadTolerance_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadTolerance_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadTolerance_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadTolerance_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadTolerance_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadTolerance_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadTolerance_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadTolerance_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadTolerance_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadTolerance_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadTolerance_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadTolerance_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadTolerance_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadTolerance_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadTolerance_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadTolerance_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadTolerance_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadTolerance_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadTolerance_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadTolerance_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadTolerance_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadTolerance_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadTolerance_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadTolerance_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadTolerance_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadTolerance_get_DirectionVector(This,ppDirection)	\
    (This)->lpVtbl -> get_DirectionVector(This,ppDirection)

#define IIcadTolerance_put_DirectionVector(This,Direction)	\
    (This)->lpVtbl -> put_DirectionVector(This,Direction)

#define IIcadTolerance_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadTolerance_put_Normal(This,ExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ExtrusionDirection)

#define IIcadTolerance_get_TextHeight(This,pHeight)	\
    (This)->lpVtbl -> get_TextHeight(This,pHeight)

#define IIcadTolerance_put_TextHeight(This,Height)	\
    (This)->lpVtbl -> put_TextHeight(This,Height)

#define IIcadTolerance_get_InsertionPoint(This,ppInsertPoint)	\
    (This)->lpVtbl -> get_InsertionPoint(This,ppInsertPoint)

#define IIcadTolerance_put_InsertionPoint(This,InsertPoint)	\
    (This)->lpVtbl -> put_InsertionPoint(This,InsertPoint)

#define IIcadTolerance_get_StyleName(This,pStyleName)	\
    (This)->lpVtbl -> get_StyleName(This,pStyleName)

#define IIcadTolerance_put_StyleName(This,StyleName)	\
    (This)->lpVtbl -> put_StyleName(This,StyleName)

#define IIcadTolerance_get_TextString(This,pText)	\
    (This)->lpVtbl -> get_TextString(This,pText)

#define IIcadTolerance_put_TextString(This,Text)	\
    (This)->lpVtbl -> put_TextString(This,Text)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadTolerance_get_DirectionVector_Proxy( 
    IIcadTolerance __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppDirection);


void __RPC_STUB IIcadTolerance_get_DirectionVector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadTolerance_put_DirectionVector_Proxy( 
    IIcadTolerance __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *Direction);


void __RPC_STUB IIcadTolerance_put_DirectionVector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadTolerance_get_Normal_Proxy( 
    IIcadTolerance __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);


void __RPC_STUB IIcadTolerance_get_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadTolerance_put_Normal_Proxy( 
    IIcadTolerance __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);


void __RPC_STUB IIcadTolerance_put_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadTolerance_get_TextHeight_Proxy( 
    IIcadTolerance __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pHeight);


void __RPC_STUB IIcadTolerance_get_TextHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadTolerance_put_TextHeight_Proxy( 
    IIcadTolerance __RPC_FAR * This,
    /* [in] */ double Height);


void __RPC_STUB IIcadTolerance_put_TextHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadTolerance_get_InsertionPoint_Proxy( 
    IIcadTolerance __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsertPoint);


void __RPC_STUB IIcadTolerance_get_InsertionPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadTolerance_put_InsertionPoint_Proxy( 
    IIcadTolerance __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *InsertPoint);


void __RPC_STUB IIcadTolerance_put_InsertionPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadTolerance_get_StyleName_Proxy( 
    IIcadTolerance __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pStyleName);


void __RPC_STUB IIcadTolerance_get_StyleName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadTolerance_put_StyleName_Proxy( 
    IIcadTolerance __RPC_FAR * This,
    /* [in] */ BSTR StyleName);


void __RPC_STUB IIcadTolerance_put_StyleName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadTolerance_get_TextString_Proxy( 
    IIcadTolerance __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pText);


void __RPC_STUB IIcadTolerance_get_TextString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadTolerance_put_TextString_Proxy( 
    IIcadTolerance __RPC_FAR * This,
    /* [in] */ BSTR Text);


void __RPC_STUB IIcadTolerance_put_TextString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadTolerance_INTERFACE_DEFINED__ */


#ifndef __IIcadTrace_INTERFACE_DEFINED__
#define __IIcadTrace_INTERFACE_DEFINED__

/* interface IIcadTrace */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadTrace;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c17d-7e36-11d1-bc5a-0060089608a4")
    IIcadTrace : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ IIcadPoints __RPC_FAR *Coords) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double __RPC_FAR *pThick) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double Thick) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadTraceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadTrace __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadTrace __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadTrace __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadTrace __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadTrace __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadTrace __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadTrace __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadTrace __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadTrace __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadTrace __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadTrace __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadTrace __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadTrace __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadTrace __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadTrace __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadTrace __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadTrace __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadTrace __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadTrace __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadTrace __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Coordinates )( 
            IIcadTrace __RPC_FAR * This,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Coordinates )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Coords);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadTrace __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Thickness )( 
            IIcadTrace __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pThick);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Thickness )( 
            IIcadTrace __RPC_FAR * This,
            /* [in] */ double Thick);
        
        END_INTERFACE
    } IIcadTraceVtbl;

    interface IIcadTrace
    {
        CONST_VTBL struct IIcadTraceVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadTrace_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadTrace_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadTrace_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadTrace_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadTrace_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadTrace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadTrace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadTrace_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadTrace_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadTrace_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadTrace_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadTrace__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadTrace_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadTrace_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadTrace_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadTrace_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadTrace_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadTrace_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadTrace_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadTrace_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadTrace_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadTrace_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadTrace_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadTrace_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadTrace_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadTrace_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadTrace_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadTrace_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadTrace_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadTrace_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadTrace_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadTrace_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadTrace_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadTrace_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadTrace_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadTrace_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadTrace_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadTrace_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadTrace_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadTrace_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadTrace_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadTrace_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadTrace_get_Coordinates(This,ppCoords)	\
    (This)->lpVtbl -> get_Coordinates(This,ppCoords)

#define IIcadTrace_put_Coordinates(This,Coords)	\
    (This)->lpVtbl -> put_Coordinates(This,Coords)

#define IIcadTrace_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadTrace_put_Normal(This,ExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ExtrusionDirection)

#define IIcadTrace_get_Thickness(This,pThick)	\
    (This)->lpVtbl -> get_Thickness(This,pThick)

#define IIcadTrace_put_Thickness(This,Thick)	\
    (This)->lpVtbl -> put_Thickness(This,Thick)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadTrace_get_Coordinates_Proxy( 
    IIcadTrace __RPC_FAR * This,
    /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppCoords);


void __RPC_STUB IIcadTrace_get_Coordinates_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadTrace_put_Coordinates_Proxy( 
    IIcadTrace __RPC_FAR * This,
    /* [in] */ IIcadPoints __RPC_FAR *Coords);


void __RPC_STUB IIcadTrace_put_Coordinates_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadTrace_get_Normal_Proxy( 
    IIcadTrace __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);


void __RPC_STUB IIcadTrace_get_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadTrace_put_Normal_Proxy( 
    IIcadTrace __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);


void __RPC_STUB IIcadTrace_put_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadTrace_get_Thickness_Proxy( 
    IIcadTrace __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pThick);


void __RPC_STUB IIcadTrace_get_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadTrace_put_Thickness_Proxy( 
    IIcadTrace __RPC_FAR * This,
    /* [in] */ double Thick);


void __RPC_STUB IIcadTrace_put_Thickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadTrace_INTERFACE_DEFINED__ */


#ifndef __IIcadInfiniteLine_INTERFACE_DEFINED__
#define __IIcadInfiniteLine_INTERFACE_DEFINED__

/* interface IIcadInfiniteLine */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadInfiniteLine;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c17e-7e36-11d1-bc5a-0060089608a4")
    IIcadInfiniteLine : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BasePoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppSnapBasePoint) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BasePoint( 
            /* [in] */ IIcadPoint __RPC_FAR *SnapBasePoint) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DirectionVector( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DirectionVector( 
            /* [in] */ IIcadVector __RPC_FAR *Direction) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Offset( 
            /* [in] */ double Offset,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadInfiniteLineVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadInfiniteLine __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadInfiniteLine __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadInfiniteLine __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadInfiniteLine __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadInfiniteLine __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_BasePoint )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppSnapBasePoint);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_BasePoint )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *SnapBasePoint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DirectionVector )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DirectionVector )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *Direction);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Offset )( 
            IIcadInfiniteLine __RPC_FAR * This,
            /* [in] */ double Offset,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);
        
        END_INTERFACE
    } IIcadInfiniteLineVtbl;

    interface IIcadInfiniteLine
    {
        CONST_VTBL struct IIcadInfiniteLineVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadInfiniteLine_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadInfiniteLine_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadInfiniteLine_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadInfiniteLine_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadInfiniteLine_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadInfiniteLine_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadInfiniteLine_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadInfiniteLine_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadInfiniteLine_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadInfiniteLine_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadInfiniteLine_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadInfiniteLine__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadInfiniteLine_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadInfiniteLine_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadInfiniteLine_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadInfiniteLine_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadInfiniteLine_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadInfiniteLine_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadInfiniteLine_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadInfiniteLine_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadInfiniteLine_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadInfiniteLine_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadInfiniteLine_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadInfiniteLine_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadInfiniteLine_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadInfiniteLine_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadInfiniteLine_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadInfiniteLine_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadInfiniteLine_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadInfiniteLine_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadInfiniteLine_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadInfiniteLine_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadInfiniteLine_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadInfiniteLine_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadInfiniteLine_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadInfiniteLine_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadInfiniteLine_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadInfiniteLine_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadInfiniteLine_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadInfiniteLine_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadInfiniteLine_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadInfiniteLine_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadInfiniteLine_get_BasePoint(This,ppSnapBasePoint)	\
    (This)->lpVtbl -> get_BasePoint(This,ppSnapBasePoint)

#define IIcadInfiniteLine_put_BasePoint(This,SnapBasePoint)	\
    (This)->lpVtbl -> put_BasePoint(This,SnapBasePoint)

#define IIcadInfiniteLine_get_DirectionVector(This,ppDirection)	\
    (This)->lpVtbl -> get_DirectionVector(This,ppDirection)

#define IIcadInfiniteLine_put_DirectionVector(This,Direction)	\
    (This)->lpVtbl -> put_DirectionVector(This,Direction)

#define IIcadInfiniteLine_Offset(This,Offset,ppArrayOfEntities)	\
    (This)->lpVtbl -> Offset(This,Offset,ppArrayOfEntities)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadInfiniteLine_get_BasePoint_Proxy( 
    IIcadInfiniteLine __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppSnapBasePoint);


void __RPC_STUB IIcadInfiniteLine_get_BasePoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadInfiniteLine_put_BasePoint_Proxy( 
    IIcadInfiniteLine __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *SnapBasePoint);


void __RPC_STUB IIcadInfiniteLine_put_BasePoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadInfiniteLine_get_DirectionVector_Proxy( 
    IIcadInfiniteLine __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppDirection);


void __RPC_STUB IIcadInfiniteLine_get_DirectionVector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadInfiniteLine_put_DirectionVector_Proxy( 
    IIcadInfiniteLine __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *Direction);


void __RPC_STUB IIcadInfiniteLine_put_DirectionVector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadInfiniteLine_Offset_Proxy( 
    IIcadInfiniteLine __RPC_FAR * This,
    /* [in] */ double Offset,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppArrayOfEntities);


void __RPC_STUB IIcadInfiniteLine_Offset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadInfiniteLine_INTERFACE_DEFINED__ */


#ifndef __IIcadExternalReference_INTERFACE_DEFINED__
#define __IIcadExternalReference_INTERFACE_DEFINED__

/* interface IIcadExternalReference */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadExternalReference;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c17f-7e36-11d1-bc5a-0060089608a4")
    IIcadExternalReference : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InsertionPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsertPoint) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_InsertionPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *InsertPoint) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR __RPC_FAR *Name) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR Name) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_HasAttributes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbHasAttributes) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
            /* [retval][out] */ BSTR __RPC_FAR *Path) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Path( 
            /* [in] */ BSTR Path) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ double __RPC_FAR *pRotation) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ double Rotation) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_XScaleFactor( 
            /* [retval][out] */ double __RPC_FAR *pScaleFactor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_XScaleFactor( 
            /* [in] */ double ScaleFactor) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_YScaleFactor( 
            /* [retval][out] */ double __RPC_FAR *pScaleFactor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_YScaleFactor( 
            /* [in] */ double ScaleFactor) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ZScaleFactor( 
            /* [retval][out] */ double __RPC_FAR *pScaleFactor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ZScaleFactor( 
            /* [in] */ double ScaleFactor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAttributes( 
            /* [retval][out] */ IIcadAttributes __RPC_FAR *__RPC_FAR *ppAttributes) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadExternalReferenceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadExternalReference __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadExternalReference __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadExternalReference __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadExternalReference __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadExternalReference __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InsertionPoint )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsertPoint);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_InsertionPoint )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *InsertPoint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *Name);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ BSTR Name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HasAttributes )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbHasAttributes);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Path )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *Path);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Path )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ BSTR Path);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rotation )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pRotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rotation )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_XScaleFactor )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_XScaleFactor )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_YScaleFactor )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_YScaleFactor )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ZScaleFactor )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ZScaleFactor )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttributes )( 
            IIcadExternalReference __RPC_FAR * This,
            /* [retval][out] */ IIcadAttributes __RPC_FAR *__RPC_FAR *ppAttributes);
        
        END_INTERFACE
    } IIcadExternalReferenceVtbl;

    interface IIcadExternalReference
    {
        CONST_VTBL struct IIcadExternalReferenceVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadExternalReference_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadExternalReference_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadExternalReference_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadExternalReference_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadExternalReference_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadExternalReference_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadExternalReference_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadExternalReference_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadExternalReference_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadExternalReference_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadExternalReference_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadExternalReference__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadExternalReference_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadExternalReference_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadExternalReference_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadExternalReference_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadExternalReference_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadExternalReference_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadExternalReference_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadExternalReference_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadExternalReference_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadExternalReference_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadExternalReference_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadExternalReference_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadExternalReference_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadExternalReference_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadExternalReference_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadExternalReference_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadExternalReference_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadExternalReference_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadExternalReference_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadExternalReference_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadExternalReference_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadExternalReference_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadExternalReference_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadExternalReference_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadExternalReference_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadExternalReference_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadExternalReference_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadExternalReference_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadExternalReference_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadExternalReference_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadExternalReference_get_InsertionPoint(This,ppInsertPoint)	\
    (This)->lpVtbl -> get_InsertionPoint(This,ppInsertPoint)

#define IIcadExternalReference_put_InsertionPoint(This,InsertPoint)	\
    (This)->lpVtbl -> put_InsertionPoint(This,InsertPoint)

#define IIcadExternalReference_get_Name(This,Name)	\
    (This)->lpVtbl -> get_Name(This,Name)

#define IIcadExternalReference_put_Name(This,Name)	\
    (This)->lpVtbl -> put_Name(This,Name)

#define IIcadExternalReference_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadExternalReference_put_Normal(This,ExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ExtrusionDirection)

#define IIcadExternalReference_get_HasAttributes(This,pbHasAttributes)	\
    (This)->lpVtbl -> get_HasAttributes(This,pbHasAttributes)

#define IIcadExternalReference_get_Path(This,Path)	\
    (This)->lpVtbl -> get_Path(This,Path)

#define IIcadExternalReference_put_Path(This,Path)	\
    (This)->lpVtbl -> put_Path(This,Path)

#define IIcadExternalReference_get_Rotation(This,pRotation)	\
    (This)->lpVtbl -> get_Rotation(This,pRotation)

#define IIcadExternalReference_put_Rotation(This,Rotation)	\
    (This)->lpVtbl -> put_Rotation(This,Rotation)

#define IIcadExternalReference_get_XScaleFactor(This,pScaleFactor)	\
    (This)->lpVtbl -> get_XScaleFactor(This,pScaleFactor)

#define IIcadExternalReference_put_XScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> put_XScaleFactor(This,ScaleFactor)

#define IIcadExternalReference_get_YScaleFactor(This,pScaleFactor)	\
    (This)->lpVtbl -> get_YScaleFactor(This,pScaleFactor)

#define IIcadExternalReference_put_YScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> put_YScaleFactor(This,ScaleFactor)

#define IIcadExternalReference_get_ZScaleFactor(This,pScaleFactor)	\
    (This)->lpVtbl -> get_ZScaleFactor(This,pScaleFactor)

#define IIcadExternalReference_put_ZScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> put_ZScaleFactor(This,ScaleFactor)

#define IIcadExternalReference_GetAttributes(This,ppAttributes)	\
    (This)->lpVtbl -> GetAttributes(This,ppAttributes)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadExternalReference_get_InsertionPoint_Proxy( 
    IIcadExternalReference __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *ppInsertPoint);


void __RPC_STUB IIcadExternalReference_get_InsertionPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadExternalReference_put_InsertionPoint_Proxy( 
    IIcadExternalReference __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *InsertPoint);


void __RPC_STUB IIcadExternalReference_put_InsertionPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadExternalReference_get_Name_Proxy( 
    IIcadExternalReference __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *Name);


void __RPC_STUB IIcadExternalReference_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadExternalReference_put_Name_Proxy( 
    IIcadExternalReference __RPC_FAR * This,
    /* [in] */ BSTR Name);


void __RPC_STUB IIcadExternalReference_put_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadExternalReference_get_Normal_Proxy( 
    IIcadExternalReference __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);


void __RPC_STUB IIcadExternalReference_get_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadExternalReference_put_Normal_Proxy( 
    IIcadExternalReference __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *ExtrusionDirection);


void __RPC_STUB IIcadExternalReference_put_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadExternalReference_get_HasAttributes_Proxy( 
    IIcadExternalReference __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbHasAttributes);


void __RPC_STUB IIcadExternalReference_get_HasAttributes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadExternalReference_get_Path_Proxy( 
    IIcadExternalReference __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *Path);


void __RPC_STUB IIcadExternalReference_get_Path_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadExternalReference_put_Path_Proxy( 
    IIcadExternalReference __RPC_FAR * This,
    /* [in] */ BSTR Path);


void __RPC_STUB IIcadExternalReference_put_Path_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadExternalReference_get_Rotation_Proxy( 
    IIcadExternalReference __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pRotation);


void __RPC_STUB IIcadExternalReference_get_Rotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadExternalReference_put_Rotation_Proxy( 
    IIcadExternalReference __RPC_FAR * This,
    /* [in] */ double Rotation);


void __RPC_STUB IIcadExternalReference_put_Rotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadExternalReference_get_XScaleFactor_Proxy( 
    IIcadExternalReference __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pScaleFactor);


void __RPC_STUB IIcadExternalReference_get_XScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadExternalReference_put_XScaleFactor_Proxy( 
    IIcadExternalReference __RPC_FAR * This,
    /* [in] */ double ScaleFactor);


void __RPC_STUB IIcadExternalReference_put_XScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadExternalReference_get_YScaleFactor_Proxy( 
    IIcadExternalReference __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pScaleFactor);


void __RPC_STUB IIcadExternalReference_get_YScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadExternalReference_put_YScaleFactor_Proxy( 
    IIcadExternalReference __RPC_FAR * This,
    /* [in] */ double ScaleFactor);


void __RPC_STUB IIcadExternalReference_put_YScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadExternalReference_get_ZScaleFactor_Proxy( 
    IIcadExternalReference __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pScaleFactor);


void __RPC_STUB IIcadExternalReference_get_ZScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadExternalReference_put_ZScaleFactor_Proxy( 
    IIcadExternalReference __RPC_FAR * This,
    /* [in] */ double ScaleFactor);


void __RPC_STUB IIcadExternalReference_put_ZScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadExternalReference_GetAttributes_Proxy( 
    IIcadExternalReference __RPC_FAR * This,
    /* [retval][out] */ IIcadAttributes __RPC_FAR *__RPC_FAR *ppAttributes);


void __RPC_STUB IIcadExternalReference_GetAttributes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadExternalReference_INTERFACE_DEFINED__ */


#ifndef __IIcadDimension_INTERFACE_DEFINED__
#define __IIcadDimension_INTERFACE_DEFINED__

/* interface IIcadDimension */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadDimension;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c16a-7e36-11d1-bc5a-0060089608a4")
    IIcadDimension : public IIcadEntity
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadSize( 
            /* [retval][out] */ double __RPC_FAR *ArrowheadSize) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadSize( 
            /* [in] */ double ArrowheadSize) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DecimalSeparator( 
            /* [retval][out] */ BSTR __RPC_FAR *DecimalSeparator) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DecimalSeparator( 
            /* [in] */ BSTR DecimalSeparator) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineOffset( 
            /* [retval][out] */ double __RPC_FAR *Offset) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineOffset( 
            /* [in] */ double Offset) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Measurement( 
            /* [retval][out] */ double __RPC_FAR *Value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Measurement( 
            /* [in] */ double Value) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ IIcadVector __RPC_FAR *ppExtrusionDirection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ double __RPC_FAR *Rotation) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ double Rotation) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ScaleFactor( 
            /* [retval][out] */ double __RPC_FAR *ScaleFactor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ScaleFactor( 
            /* [in] */ double ScaleFactor) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StyleName( 
            /* [retval][out] */ BSTR __RPC_FAR *StyleName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_StyleName( 
            /* [in] */ BSTR StyleName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressLeadingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SuppressLeadingZeroes( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressTrailingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SuppressTrailingZeroes( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextColor( 
            /* [retval][out] */ Colors __RPC_FAR *Color) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextColor( 
            /* [in] */ Colors Color) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextGap( 
            /* [retval][out] */ double __RPC_FAR *Gap) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextGap( 
            /* [in] */ double Gap) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextHeight( 
            /* [retval][out] */ double __RPC_FAR *Height) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextHeight( 
            /* [in] */ double Height) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextMovement( 
            /* [retval][out] */ DimTextMovement __RPC_FAR *Movement) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextMovement( 
            /* [in] */ DimTextMovement Movement) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextPosition( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Position) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextPosition( 
            /* [in] */ IIcadPoint __RPC_FAR *Position) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextOverride( 
            /* [retval][out] */ BSTR __RPC_FAR *String) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextOverride( 
            /* [in] */ BSTR String) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextPrefix( 
            /* [retval][out] */ BSTR __RPC_FAR *PrefixString) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextPrefix( 
            /* [in] */ BSTR PrefixString) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextString( 
            /* [retval][out] */ BSTR __RPC_FAR *String) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextString( 
            /* [in] */ BSTR String) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextRotation( 
            /* [retval][out] */ double __RPC_FAR *Rotation) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextRotation( 
            /* [in] */ double Rotation) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextStyle( 
            /* [retval][out] */ BSTR __RPC_FAR *StyleName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextStyle( 
            /* [in] */ BSTR StyleName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextSuffix( 
            /* [retval][out] */ BSTR __RPC_FAR *SuffixString) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextSuffix( 
            /* [in] */ BSTR SuffixString) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceDisplay( 
            /* [retval][out] */ DimToleranceMethod __RPC_FAR *TolDisplay) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceDisplay( 
            /* [in] */ DimToleranceMethod TolDisplay) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceHeightScale( 
            /* [retval][out] */ double __RPC_FAR *HeightScale) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceHeightScale( 
            /* [in] */ double HeightScale) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceJustification( 
            /* [retval][out] */ DimToleranceJustify __RPC_FAR *TolJustify) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceJustification( 
            /* [in] */ DimToleranceJustify TolJustify) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceLowerLimit( 
            /* [retval][out] */ double __RPC_FAR *Limit) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceLowerLimit( 
            /* [in] */ double Limit) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceSuppressLeadingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceSuppressLeadingZeroes( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceSuppressTrailingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceSuppressTrailingZeroes( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceUpperLimit( 
            /* [retval][out] */ double __RPC_FAR *Limit) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceUpperLimit( 
            /* [in] */ double Limit) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TolerancePrecision( 
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TolerancePrecision( 
            /* [in] */ DimPrecision Precision) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_UnitsFormat( 
            /* [retval][out] */ DimLUnits __RPC_FAR *Units) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UnitsFormat( 
            /* [in] */ DimLUnits Units) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VerticalTextPosition( 
            /* [retval][out] */ DimVerticalJustification __RPC_FAR *Position) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VerticalTextPosition( 
            /* [in] */ DimVerticalJustification Position) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadDimensionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadDimension __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadDimension __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadDimension __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadDimension __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadDimension __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadDimension __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadDimension __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ArrowheadSize )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *ArrowheadSize);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ArrowheadSize )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ double ArrowheadSize);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DecimalSeparator )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *DecimalSeparator);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DecimalSeparator )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ BSTR DecimalSeparator);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtensionLineOffset )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Offset);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtensionLineOffset )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ double Offset);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Measurement )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Measurement )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ double Value);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ppExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rotation )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Rotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rotation )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ScaleFactor )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *ScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ScaleFactor )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StyleName )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *StyleName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StyleName )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ BSTR StyleName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressLeadingZeroes )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressLeadingZeroes )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressTrailingZeroes )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressTrailingZeroes )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextColor )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *Color);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextColor )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextGap )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Gap);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextGap )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ double Gap);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextHeight )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Height);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextHeight )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ double Height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextMovement )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ DimTextMovement __RPC_FAR *Movement);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextMovement )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ DimTextMovement Movement);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextPosition )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Position);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextPosition )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Position);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextOverride )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *String);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextOverride )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ BSTR String);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextPrefix )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *PrefixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextPrefix )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ BSTR PrefixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextString )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *String);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextString )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ BSTR String);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextRotation )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Rotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextRotation )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextStyle )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *StyleName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextStyle )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ BSTR StyleName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextSuffix )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *SuffixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextSuffix )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ BSTR SuffixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceDisplay )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ DimToleranceMethod __RPC_FAR *TolDisplay);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceDisplay )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ DimToleranceMethod TolDisplay);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceHeightScale )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *HeightScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceHeightScale )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ double HeightScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceJustification )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ DimToleranceJustify __RPC_FAR *TolJustify);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceJustification )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ DimToleranceJustify TolJustify);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceLowerLimit )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Limit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceLowerLimit )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ double Limit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressLeadingZeroes )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressLeadingZeroes )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressTrailingZeroes )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressTrailingZeroes )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressZeroInches )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressZeroInches )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressZeroFeet )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressZeroFeet )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceUpperLimit )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Limit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceUpperLimit )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ double Limit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TolerancePrecision )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TolerancePrecision )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UnitsFormat )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ DimLUnits __RPC_FAR *Units);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_UnitsFormat )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ DimLUnits Units);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VerticalTextPosition )( 
            IIcadDimension __RPC_FAR * This,
            /* [retval][out] */ DimVerticalJustification __RPC_FAR *Position);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VerticalTextPosition )( 
            IIcadDimension __RPC_FAR * This,
            /* [in] */ DimVerticalJustification Position);
        
        END_INTERFACE
    } IIcadDimensionVtbl;

    interface IIcadDimension
    {
        CONST_VTBL struct IIcadDimensionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadDimension_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadDimension_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadDimension_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadDimension_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadDimension_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadDimension_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadDimension_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadDimension_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadDimension_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadDimension_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadDimension_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadDimension__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadDimension_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadDimension_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadDimension_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadDimension_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadDimension_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadDimension_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadDimension_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadDimension_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadDimension_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadDimension_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadDimension_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadDimension_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadDimension_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadDimension_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadDimension_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadDimension_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadDimension_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadDimension_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadDimension_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadDimension_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadDimension_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadDimension_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadDimension_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadDimension_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadDimension_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadDimension_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadDimension_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadDimension_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadDimension_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadDimension_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadDimension_get_ArrowheadSize(This,ArrowheadSize)	\
    (This)->lpVtbl -> get_ArrowheadSize(This,ArrowheadSize)

#define IIcadDimension_put_ArrowheadSize(This,ArrowheadSize)	\
    (This)->lpVtbl -> put_ArrowheadSize(This,ArrowheadSize)

#define IIcadDimension_get_DecimalSeparator(This,DecimalSeparator)	\
    (This)->lpVtbl -> get_DecimalSeparator(This,DecimalSeparator)

#define IIcadDimension_put_DecimalSeparator(This,DecimalSeparator)	\
    (This)->lpVtbl -> put_DecimalSeparator(This,DecimalSeparator)

#define IIcadDimension_get_ExtensionLineOffset(This,Offset)	\
    (This)->lpVtbl -> get_ExtensionLineOffset(This,Offset)

#define IIcadDimension_put_ExtensionLineOffset(This,Offset)	\
    (This)->lpVtbl -> put_ExtensionLineOffset(This,Offset)

#define IIcadDimension_get_Measurement(This,Value)	\
    (This)->lpVtbl -> get_Measurement(This,Value)

#define IIcadDimension_put_Measurement(This,Value)	\
    (This)->lpVtbl -> put_Measurement(This,Value)

#define IIcadDimension_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadDimension_put_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ppExtrusionDirection)

#define IIcadDimension_get_Rotation(This,Rotation)	\
    (This)->lpVtbl -> get_Rotation(This,Rotation)

#define IIcadDimension_put_Rotation(This,Rotation)	\
    (This)->lpVtbl -> put_Rotation(This,Rotation)

#define IIcadDimension_get_ScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> get_ScaleFactor(This,ScaleFactor)

#define IIcadDimension_put_ScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> put_ScaleFactor(This,ScaleFactor)

#define IIcadDimension_get_StyleName(This,StyleName)	\
    (This)->lpVtbl -> get_StyleName(This,StyleName)

#define IIcadDimension_put_StyleName(This,StyleName)	\
    (This)->lpVtbl -> put_StyleName(This,StyleName)

#define IIcadDimension_get_SuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_SuppressLeadingZeroes(This,Supress)

#define IIcadDimension_put_SuppressLeadingZeroes(This,Suppress)	\
    (This)->lpVtbl -> put_SuppressLeadingZeroes(This,Suppress)

#define IIcadDimension_get_SuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_SuppressTrailingZeroes(This,Supress)

#define IIcadDimension_put_SuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_SuppressTrailingZeroes(This,Supress)

#define IIcadDimension_get_TextColor(This,Color)	\
    (This)->lpVtbl -> get_TextColor(This,Color)

#define IIcadDimension_put_TextColor(This,Color)	\
    (This)->lpVtbl -> put_TextColor(This,Color)

#define IIcadDimension_get_TextGap(This,Gap)	\
    (This)->lpVtbl -> get_TextGap(This,Gap)

#define IIcadDimension_put_TextGap(This,Gap)	\
    (This)->lpVtbl -> put_TextGap(This,Gap)

#define IIcadDimension_get_TextHeight(This,Height)	\
    (This)->lpVtbl -> get_TextHeight(This,Height)

#define IIcadDimension_put_TextHeight(This,Height)	\
    (This)->lpVtbl -> put_TextHeight(This,Height)

#define IIcadDimension_get_TextMovement(This,Movement)	\
    (This)->lpVtbl -> get_TextMovement(This,Movement)

#define IIcadDimension_put_TextMovement(This,Movement)	\
    (This)->lpVtbl -> put_TextMovement(This,Movement)

#define IIcadDimension_get_TextPosition(This,Position)	\
    (This)->lpVtbl -> get_TextPosition(This,Position)

#define IIcadDimension_put_TextPosition(This,Position)	\
    (This)->lpVtbl -> put_TextPosition(This,Position)

#define IIcadDimension_get_TextOverride(This,String)	\
    (This)->lpVtbl -> get_TextOverride(This,String)

#define IIcadDimension_put_TextOverride(This,String)	\
    (This)->lpVtbl -> put_TextOverride(This,String)

#define IIcadDimension_get_TextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> get_TextPrefix(This,PrefixString)

#define IIcadDimension_put_TextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> put_TextPrefix(This,PrefixString)

#define IIcadDimension_get_TextString(This,String)	\
    (This)->lpVtbl -> get_TextString(This,String)

#define IIcadDimension_put_TextString(This,String)	\
    (This)->lpVtbl -> put_TextString(This,String)

#define IIcadDimension_get_TextRotation(This,Rotation)	\
    (This)->lpVtbl -> get_TextRotation(This,Rotation)

#define IIcadDimension_put_TextRotation(This,Rotation)	\
    (This)->lpVtbl -> put_TextRotation(This,Rotation)

#define IIcadDimension_get_TextStyle(This,StyleName)	\
    (This)->lpVtbl -> get_TextStyle(This,StyleName)

#define IIcadDimension_put_TextStyle(This,StyleName)	\
    (This)->lpVtbl -> put_TextStyle(This,StyleName)

#define IIcadDimension_get_TextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> get_TextSuffix(This,SuffixString)

#define IIcadDimension_put_TextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> put_TextSuffix(This,SuffixString)

#define IIcadDimension_get_ToleranceDisplay(This,TolDisplay)	\
    (This)->lpVtbl -> get_ToleranceDisplay(This,TolDisplay)

#define IIcadDimension_put_ToleranceDisplay(This,TolDisplay)	\
    (This)->lpVtbl -> put_ToleranceDisplay(This,TolDisplay)

#define IIcadDimension_get_ToleranceHeightScale(This,HeightScale)	\
    (This)->lpVtbl -> get_ToleranceHeightScale(This,HeightScale)

#define IIcadDimension_put_ToleranceHeightScale(This,HeightScale)	\
    (This)->lpVtbl -> put_ToleranceHeightScale(This,HeightScale)

#define IIcadDimension_get_ToleranceJustification(This,TolJustify)	\
    (This)->lpVtbl -> get_ToleranceJustification(This,TolJustify)

#define IIcadDimension_put_ToleranceJustification(This,TolJustify)	\
    (This)->lpVtbl -> put_ToleranceJustification(This,TolJustify)

#define IIcadDimension_get_ToleranceLowerLimit(This,Limit)	\
    (This)->lpVtbl -> get_ToleranceLowerLimit(This,Limit)

#define IIcadDimension_put_ToleranceLowerLimit(This,Limit)	\
    (This)->lpVtbl -> put_ToleranceLowerLimit(This,Limit)

#define IIcadDimension_get_ToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimension_put_ToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimension_get_ToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimension_put_ToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimension_get_ToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressZeroInches(This,Supress)

#define IIcadDimension_put_ToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressZeroInches(This,Supress)

#define IIcadDimension_get_ToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimension_put_ToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimension_get_ToleranceUpperLimit(This,Limit)	\
    (This)->lpVtbl -> get_ToleranceUpperLimit(This,Limit)

#define IIcadDimension_put_ToleranceUpperLimit(This,Limit)	\
    (This)->lpVtbl -> put_ToleranceUpperLimit(This,Limit)

#define IIcadDimension_get_TolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> get_TolerancePrecision(This,Precision)

#define IIcadDimension_put_TolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> put_TolerancePrecision(This,Precision)

#define IIcadDimension_get_UnitsFormat(This,Units)	\
    (This)->lpVtbl -> get_UnitsFormat(This,Units)

#define IIcadDimension_put_UnitsFormat(This,Units)	\
    (This)->lpVtbl -> put_UnitsFormat(This,Units)

#define IIcadDimension_get_VerticalTextPosition(This,Position)	\
    (This)->lpVtbl -> get_VerticalTextPosition(This,Position)

#define IIcadDimension_put_VerticalTextPosition(This,Position)	\
    (This)->lpVtbl -> put_VerticalTextPosition(This,Position)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_ArrowheadSize_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *ArrowheadSize);


void __RPC_STUB IIcadDimension_get_ArrowheadSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_ArrowheadSize_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ double ArrowheadSize);


void __RPC_STUB IIcadDimension_put_ArrowheadSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_DecimalSeparator_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *DecimalSeparator);


void __RPC_STUB IIcadDimension_get_DecimalSeparator_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_DecimalSeparator_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ BSTR DecimalSeparator);


void __RPC_STUB IIcadDimension_put_DecimalSeparator_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_ExtensionLineOffset_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Offset);


void __RPC_STUB IIcadDimension_get_ExtensionLineOffset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_ExtensionLineOffset_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ double Offset);


void __RPC_STUB IIcadDimension_put_ExtensionLineOffset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_Measurement_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Value);


void __RPC_STUB IIcadDimension_get_Measurement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_Measurement_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ double Value);


void __RPC_STUB IIcadDimension_put_Measurement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_Normal_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);


void __RPC_STUB IIcadDimension_get_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_Normal_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ IIcadVector __RPC_FAR *ppExtrusionDirection);


void __RPC_STUB IIcadDimension_put_Normal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_Rotation_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Rotation);


void __RPC_STUB IIcadDimension_get_Rotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_Rotation_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ double Rotation);


void __RPC_STUB IIcadDimension_put_Rotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_ScaleFactor_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *ScaleFactor);


void __RPC_STUB IIcadDimension_get_ScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_ScaleFactor_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ double ScaleFactor);


void __RPC_STUB IIcadDimension_put_ScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_StyleName_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *StyleName);


void __RPC_STUB IIcadDimension_get_StyleName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_StyleName_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ BSTR StyleName);


void __RPC_STUB IIcadDimension_put_StyleName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_SuppressLeadingZeroes_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimension_get_SuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_SuppressLeadingZeroes_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDimension_put_SuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_SuppressTrailingZeroes_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimension_get_SuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_SuppressTrailingZeroes_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimension_put_SuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_TextColor_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ Colors __RPC_FAR *Color);


void __RPC_STUB IIcadDimension_get_TextColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_TextColor_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ Colors Color);


void __RPC_STUB IIcadDimension_put_TextColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_TextGap_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Gap);


void __RPC_STUB IIcadDimension_get_TextGap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_TextGap_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ double Gap);


void __RPC_STUB IIcadDimension_put_TextGap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_TextHeight_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Height);


void __RPC_STUB IIcadDimension_get_TextHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_TextHeight_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ double Height);


void __RPC_STUB IIcadDimension_put_TextHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_TextMovement_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ DimTextMovement __RPC_FAR *Movement);


void __RPC_STUB IIcadDimension_get_TextMovement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_TextMovement_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ DimTextMovement Movement);


void __RPC_STUB IIcadDimension_put_TextMovement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_TextPosition_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Position);


void __RPC_STUB IIcadDimension_get_TextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_TextPosition_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Position);


void __RPC_STUB IIcadDimension_put_TextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_TextOverride_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *String);


void __RPC_STUB IIcadDimension_get_TextOverride_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_TextOverride_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ BSTR String);


void __RPC_STUB IIcadDimension_put_TextOverride_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_TextPrefix_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *PrefixString);


void __RPC_STUB IIcadDimension_get_TextPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_TextPrefix_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ BSTR PrefixString);


void __RPC_STUB IIcadDimension_put_TextPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_TextString_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *String);


void __RPC_STUB IIcadDimension_get_TextString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_TextString_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ BSTR String);


void __RPC_STUB IIcadDimension_put_TextString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_TextRotation_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Rotation);


void __RPC_STUB IIcadDimension_get_TextRotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_TextRotation_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ double Rotation);


void __RPC_STUB IIcadDimension_put_TextRotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_TextStyle_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *StyleName);


void __RPC_STUB IIcadDimension_get_TextStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_TextStyle_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ BSTR StyleName);


void __RPC_STUB IIcadDimension_put_TextStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_TextSuffix_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *SuffixString);


void __RPC_STUB IIcadDimension_get_TextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_TextSuffix_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ BSTR SuffixString);


void __RPC_STUB IIcadDimension_put_TextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_ToleranceDisplay_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ DimToleranceMethod __RPC_FAR *TolDisplay);


void __RPC_STUB IIcadDimension_get_ToleranceDisplay_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_ToleranceDisplay_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ DimToleranceMethod TolDisplay);


void __RPC_STUB IIcadDimension_put_ToleranceDisplay_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_ToleranceHeightScale_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *HeightScale);


void __RPC_STUB IIcadDimension_get_ToleranceHeightScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_ToleranceHeightScale_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ double HeightScale);


void __RPC_STUB IIcadDimension_put_ToleranceHeightScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_ToleranceJustification_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ DimToleranceJustify __RPC_FAR *TolJustify);


void __RPC_STUB IIcadDimension_get_ToleranceJustification_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_ToleranceJustification_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ DimToleranceJustify TolJustify);


void __RPC_STUB IIcadDimension_put_ToleranceJustification_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_ToleranceLowerLimit_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Limit);


void __RPC_STUB IIcadDimension_get_ToleranceLowerLimit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_ToleranceLowerLimit_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ double Limit);


void __RPC_STUB IIcadDimension_put_ToleranceLowerLimit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_ToleranceSuppressLeadingZeroes_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimension_get_ToleranceSuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_ToleranceSuppressLeadingZeroes_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimension_put_ToleranceSuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_ToleranceSuppressTrailingZeroes_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimension_get_ToleranceSuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_ToleranceSuppressTrailingZeroes_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimension_put_ToleranceSuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_ToleranceSuppressZeroInches_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimension_get_ToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_ToleranceSuppressZeroInches_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimension_put_ToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_ToleranceSuppressZeroFeet_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimension_get_ToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_ToleranceSuppressZeroFeet_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimension_put_ToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_ToleranceUpperLimit_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Limit);


void __RPC_STUB IIcadDimension_get_ToleranceUpperLimit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_ToleranceUpperLimit_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ double Limit);


void __RPC_STUB IIcadDimension_put_ToleranceUpperLimit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_TolerancePrecision_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ DimPrecision __RPC_FAR *Precision);


void __RPC_STUB IIcadDimension_get_TolerancePrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_TolerancePrecision_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ DimPrecision Precision);


void __RPC_STUB IIcadDimension_put_TolerancePrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_UnitsFormat_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ DimLUnits __RPC_FAR *Units);


void __RPC_STUB IIcadDimension_get_UnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_UnitsFormat_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ DimLUnits Units);


void __RPC_STUB IIcadDimension_put_UnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimension_get_VerticalTextPosition_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [retval][out] */ DimVerticalJustification __RPC_FAR *Position);


void __RPC_STUB IIcadDimension_get_VerticalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimension_put_VerticalTextPosition_Proxy( 
    IIcadDimension __RPC_FAR * This,
    /* [in] */ DimVerticalJustification Position);


void __RPC_STUB IIcadDimension_put_VerticalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadDimension_INTERFACE_DEFINED__ */


#ifndef __IIcadDimAngular_INTERFACE_DEFINED__
#define __IIcadDimAngular_INTERFACE_DEFINED__

/* interface IIcadDimAngular */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadDimAngular;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c184-7e36-11d1-bc5a-0060089608a4")
    IIcadDimAngular : public IIcadDimension
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AngleFormat( 
            /* [retval][out] */ AngleUnits __RPC_FAR *Movement) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AngleFormat( 
            /* [in] */ AngleUnits Movement) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead1Block( 
            /* [retval][out] */ BSTR __RPC_FAR *BlockName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead1Block( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead1Type( 
            /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead1Type( 
            /* [in] */ DimArrowheadType ArrowheadType) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead2Block( 
            /* [retval][out] */ BSTR __RPC_FAR *BlockName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead2Block( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead2Type( 
            /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead2Type( 
            /* [in] */ DimArrowheadType ArrowheadType) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineColor( 
            /* [retval][out] */ Colors __RPC_FAR *Color) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineColor( 
            /* [in] */ Colors Color) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimLine1Suppress( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimLine1Suppress( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimLine2Suppress( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimLine2Suppress( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimLineInside( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimLineInside( 
            /* [in] */ VARIANT_BOOL Inside) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineColor( 
            /* [retval][out] */ Colors __RPC_FAR *Color) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineColor( 
            /* [in] */ Colors Color) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineExtend( 
            /* [retval][out] */ double __RPC_FAR *Extension) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineExtend( 
            /* [in] */ double Extension) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1StartPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1StartPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *Point) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1EndPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1EndPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *Point) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1Suppress( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1Suppress( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2EndPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2EndPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *Point) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2StartPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2StartPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *Point) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2Suppress( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2Suppress( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Fit( 
            /* [retval][out] */ DimFit __RPC_FAR *Fit) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Fit( 
            /* [in] */ DimFit Fit) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ForceLineInside( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ForceLineInside( 
            /* [in] */ VARIANT_BOOL Inside) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_HorizontalTextPosition( 
            /* [retval][out] */ DimHorizontalJustification __RPC_FAR *Position) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HorizontalTextPosition( 
            /* [in] */ DimHorizontalJustification Position) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextInside( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextInside( 
            /* [in] */ VARIANT_BOOL Inside) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextInsideAlign( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextInsideAlign( 
            /* [in] */ VARIANT_BOOL Alignment) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextOutsideAlign( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextOutsideAlign( 
            /* [in] */ VARIANT_BOOL Alignment) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextPrecision( 
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextPrecision( 
            /* [in] */ DimPrecision Precision) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadDimAngularVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadDimAngular __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadDimAngular __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadDimAngular __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadDimAngular __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadDimAngular __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ArrowheadSize )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *ArrowheadSize);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ArrowheadSize )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ double ArrowheadSize);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DecimalSeparator )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *DecimalSeparator);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DecimalSeparator )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ BSTR DecimalSeparator);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtensionLineOffset )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Offset);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtensionLineOffset )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ double Offset);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Measurement )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Measurement )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ double Value);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ppExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rotation )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Rotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rotation )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ScaleFactor )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *ScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ScaleFactor )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StyleName )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *StyleName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StyleName )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ BSTR StyleName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressLeadingZeroes )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressLeadingZeroes )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressTrailingZeroes )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressTrailingZeroes )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextColor )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *Color);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextColor )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextGap )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Gap);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextGap )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ double Gap);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextHeight )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Height);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextHeight )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ double Height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextMovement )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ DimTextMovement __RPC_FAR *Movement);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextMovement )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ DimTextMovement Movement);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextPosition )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Position);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextPosition )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Position);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextOverride )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *String);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextOverride )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ BSTR String);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextPrefix )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *PrefixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextPrefix )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ BSTR PrefixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextString )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *String);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextString )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ BSTR String);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextRotation )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Rotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextRotation )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextStyle )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *StyleName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextStyle )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ BSTR StyleName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextSuffix )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *SuffixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextSuffix )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ BSTR SuffixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceDisplay )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ DimToleranceMethod __RPC_FAR *TolDisplay);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceDisplay )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ DimToleranceMethod TolDisplay);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceHeightScale )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *HeightScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceHeightScale )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ double HeightScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceJustification )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ DimToleranceJustify __RPC_FAR *TolJustify);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceJustification )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ DimToleranceJustify TolJustify);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceLowerLimit )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Limit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceLowerLimit )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ double Limit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressLeadingZeroes )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressLeadingZeroes )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressTrailingZeroes )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressTrailingZeroes )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressZeroInches )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressZeroInches )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressZeroFeet )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressZeroFeet )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceUpperLimit )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Limit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceUpperLimit )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ double Limit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TolerancePrecision )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TolerancePrecision )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UnitsFormat )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ DimLUnits __RPC_FAR *Units);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_UnitsFormat )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ DimLUnits Units);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VerticalTextPosition )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ DimVerticalJustification __RPC_FAR *Position);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VerticalTextPosition )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ DimVerticalJustification Position);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AngleFormat )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ AngleUnits __RPC_FAR *Movement);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AngleFormat )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ AngleUnits Movement);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Arrowhead1Block )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *BlockName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Arrowhead1Block )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Arrowhead1Type )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Arrowhead1Type )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ DimArrowheadType ArrowheadType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Arrowhead2Block )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *BlockName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Arrowhead2Block )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Arrowhead2Type )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Arrowhead2Type )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ DimArrowheadType ArrowheadType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimensionLineColor )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *Color);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimensionLineColor )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimLine1Suppress )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimLine1Suppress )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimLine2Suppress )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimLine2Suppress )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimLineInside )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimLineInside )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Inside);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtensionLineColor )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *Color);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtensionLineColor )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtensionLineExtend )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Extension);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtensionLineExtend )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ double Extension);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtLine1StartPoint )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtLine1StartPoint )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtLine1EndPoint )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtLine1EndPoint )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtLine1Suppress )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtLine1Suppress )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtLine2EndPoint )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtLine2EndPoint )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtLine2StartPoint )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtLine2StartPoint )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtLine2Suppress )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtLine2Suppress )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Fit )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ DimFit __RPC_FAR *Fit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Fit )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ DimFit Fit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ForceLineInside )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ForceLineInside )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Inside);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HorizontalTextPosition )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ DimHorizontalJustification __RPC_FAR *Position);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_HorizontalTextPosition )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ DimHorizontalJustification Position);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextInside )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextInside )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Inside);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextInsideAlign )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextInsideAlign )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Alignment);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextOutsideAlign )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextOutsideAlign )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Alignment);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextPrecision )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextPrecision )( 
            IIcadDimAngular __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        END_INTERFACE
    } IIcadDimAngularVtbl;

    interface IIcadDimAngular
    {
        CONST_VTBL struct IIcadDimAngularVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadDimAngular_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadDimAngular_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadDimAngular_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadDimAngular_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadDimAngular_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadDimAngular_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadDimAngular_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadDimAngular_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadDimAngular_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadDimAngular_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadDimAngular_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadDimAngular__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadDimAngular_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadDimAngular_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadDimAngular_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadDimAngular_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadDimAngular_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadDimAngular_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadDimAngular_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadDimAngular_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadDimAngular_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadDimAngular_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadDimAngular_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadDimAngular_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadDimAngular_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadDimAngular_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadDimAngular_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadDimAngular_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadDimAngular_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadDimAngular_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadDimAngular_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadDimAngular_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadDimAngular_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadDimAngular_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadDimAngular_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadDimAngular_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadDimAngular_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadDimAngular_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadDimAngular_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadDimAngular_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadDimAngular_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadDimAngular_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadDimAngular_get_ArrowheadSize(This,ArrowheadSize)	\
    (This)->lpVtbl -> get_ArrowheadSize(This,ArrowheadSize)

#define IIcadDimAngular_put_ArrowheadSize(This,ArrowheadSize)	\
    (This)->lpVtbl -> put_ArrowheadSize(This,ArrowheadSize)

#define IIcadDimAngular_get_DecimalSeparator(This,DecimalSeparator)	\
    (This)->lpVtbl -> get_DecimalSeparator(This,DecimalSeparator)

#define IIcadDimAngular_put_DecimalSeparator(This,DecimalSeparator)	\
    (This)->lpVtbl -> put_DecimalSeparator(This,DecimalSeparator)

#define IIcadDimAngular_get_ExtensionLineOffset(This,Offset)	\
    (This)->lpVtbl -> get_ExtensionLineOffset(This,Offset)

#define IIcadDimAngular_put_ExtensionLineOffset(This,Offset)	\
    (This)->lpVtbl -> put_ExtensionLineOffset(This,Offset)

#define IIcadDimAngular_get_Measurement(This,Value)	\
    (This)->lpVtbl -> get_Measurement(This,Value)

#define IIcadDimAngular_put_Measurement(This,Value)	\
    (This)->lpVtbl -> put_Measurement(This,Value)

#define IIcadDimAngular_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadDimAngular_put_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ppExtrusionDirection)

#define IIcadDimAngular_get_Rotation(This,Rotation)	\
    (This)->lpVtbl -> get_Rotation(This,Rotation)

#define IIcadDimAngular_put_Rotation(This,Rotation)	\
    (This)->lpVtbl -> put_Rotation(This,Rotation)

#define IIcadDimAngular_get_ScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> get_ScaleFactor(This,ScaleFactor)

#define IIcadDimAngular_put_ScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> put_ScaleFactor(This,ScaleFactor)

#define IIcadDimAngular_get_StyleName(This,StyleName)	\
    (This)->lpVtbl -> get_StyleName(This,StyleName)

#define IIcadDimAngular_put_StyleName(This,StyleName)	\
    (This)->lpVtbl -> put_StyleName(This,StyleName)

#define IIcadDimAngular_get_SuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_SuppressLeadingZeroes(This,Supress)

#define IIcadDimAngular_put_SuppressLeadingZeroes(This,Suppress)	\
    (This)->lpVtbl -> put_SuppressLeadingZeroes(This,Suppress)

#define IIcadDimAngular_get_SuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_SuppressTrailingZeroes(This,Supress)

#define IIcadDimAngular_put_SuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_SuppressTrailingZeroes(This,Supress)

#define IIcadDimAngular_get_TextColor(This,Color)	\
    (This)->lpVtbl -> get_TextColor(This,Color)

#define IIcadDimAngular_put_TextColor(This,Color)	\
    (This)->lpVtbl -> put_TextColor(This,Color)

#define IIcadDimAngular_get_TextGap(This,Gap)	\
    (This)->lpVtbl -> get_TextGap(This,Gap)

#define IIcadDimAngular_put_TextGap(This,Gap)	\
    (This)->lpVtbl -> put_TextGap(This,Gap)

#define IIcadDimAngular_get_TextHeight(This,Height)	\
    (This)->lpVtbl -> get_TextHeight(This,Height)

#define IIcadDimAngular_put_TextHeight(This,Height)	\
    (This)->lpVtbl -> put_TextHeight(This,Height)

#define IIcadDimAngular_get_TextMovement(This,Movement)	\
    (This)->lpVtbl -> get_TextMovement(This,Movement)

#define IIcadDimAngular_put_TextMovement(This,Movement)	\
    (This)->lpVtbl -> put_TextMovement(This,Movement)

#define IIcadDimAngular_get_TextPosition(This,Position)	\
    (This)->lpVtbl -> get_TextPosition(This,Position)

#define IIcadDimAngular_put_TextPosition(This,Position)	\
    (This)->lpVtbl -> put_TextPosition(This,Position)

#define IIcadDimAngular_get_TextOverride(This,String)	\
    (This)->lpVtbl -> get_TextOverride(This,String)

#define IIcadDimAngular_put_TextOverride(This,String)	\
    (This)->lpVtbl -> put_TextOverride(This,String)

#define IIcadDimAngular_get_TextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> get_TextPrefix(This,PrefixString)

#define IIcadDimAngular_put_TextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> put_TextPrefix(This,PrefixString)

#define IIcadDimAngular_get_TextString(This,String)	\
    (This)->lpVtbl -> get_TextString(This,String)

#define IIcadDimAngular_put_TextString(This,String)	\
    (This)->lpVtbl -> put_TextString(This,String)

#define IIcadDimAngular_get_TextRotation(This,Rotation)	\
    (This)->lpVtbl -> get_TextRotation(This,Rotation)

#define IIcadDimAngular_put_TextRotation(This,Rotation)	\
    (This)->lpVtbl -> put_TextRotation(This,Rotation)

#define IIcadDimAngular_get_TextStyle(This,StyleName)	\
    (This)->lpVtbl -> get_TextStyle(This,StyleName)

#define IIcadDimAngular_put_TextStyle(This,StyleName)	\
    (This)->lpVtbl -> put_TextStyle(This,StyleName)

#define IIcadDimAngular_get_TextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> get_TextSuffix(This,SuffixString)

#define IIcadDimAngular_put_TextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> put_TextSuffix(This,SuffixString)

#define IIcadDimAngular_get_ToleranceDisplay(This,TolDisplay)	\
    (This)->lpVtbl -> get_ToleranceDisplay(This,TolDisplay)

#define IIcadDimAngular_put_ToleranceDisplay(This,TolDisplay)	\
    (This)->lpVtbl -> put_ToleranceDisplay(This,TolDisplay)

#define IIcadDimAngular_get_ToleranceHeightScale(This,HeightScale)	\
    (This)->lpVtbl -> get_ToleranceHeightScale(This,HeightScale)

#define IIcadDimAngular_put_ToleranceHeightScale(This,HeightScale)	\
    (This)->lpVtbl -> put_ToleranceHeightScale(This,HeightScale)

#define IIcadDimAngular_get_ToleranceJustification(This,TolJustify)	\
    (This)->lpVtbl -> get_ToleranceJustification(This,TolJustify)

#define IIcadDimAngular_put_ToleranceJustification(This,TolJustify)	\
    (This)->lpVtbl -> put_ToleranceJustification(This,TolJustify)

#define IIcadDimAngular_get_ToleranceLowerLimit(This,Limit)	\
    (This)->lpVtbl -> get_ToleranceLowerLimit(This,Limit)

#define IIcadDimAngular_put_ToleranceLowerLimit(This,Limit)	\
    (This)->lpVtbl -> put_ToleranceLowerLimit(This,Limit)

#define IIcadDimAngular_get_ToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimAngular_put_ToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimAngular_get_ToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimAngular_put_ToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimAngular_get_ToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressZeroInches(This,Supress)

#define IIcadDimAngular_put_ToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressZeroInches(This,Supress)

#define IIcadDimAngular_get_ToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimAngular_put_ToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimAngular_get_ToleranceUpperLimit(This,Limit)	\
    (This)->lpVtbl -> get_ToleranceUpperLimit(This,Limit)

#define IIcadDimAngular_put_ToleranceUpperLimit(This,Limit)	\
    (This)->lpVtbl -> put_ToleranceUpperLimit(This,Limit)

#define IIcadDimAngular_get_TolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> get_TolerancePrecision(This,Precision)

#define IIcadDimAngular_put_TolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> put_TolerancePrecision(This,Precision)

#define IIcadDimAngular_get_UnitsFormat(This,Units)	\
    (This)->lpVtbl -> get_UnitsFormat(This,Units)

#define IIcadDimAngular_put_UnitsFormat(This,Units)	\
    (This)->lpVtbl -> put_UnitsFormat(This,Units)

#define IIcadDimAngular_get_VerticalTextPosition(This,Position)	\
    (This)->lpVtbl -> get_VerticalTextPosition(This,Position)

#define IIcadDimAngular_put_VerticalTextPosition(This,Position)	\
    (This)->lpVtbl -> put_VerticalTextPosition(This,Position)


#define IIcadDimAngular_get_AngleFormat(This,Movement)	\
    (This)->lpVtbl -> get_AngleFormat(This,Movement)

#define IIcadDimAngular_put_AngleFormat(This,Movement)	\
    (This)->lpVtbl -> put_AngleFormat(This,Movement)

#define IIcadDimAngular_get_Arrowhead1Block(This,BlockName)	\
    (This)->lpVtbl -> get_Arrowhead1Block(This,BlockName)

#define IIcadDimAngular_put_Arrowhead1Block(This,BlockName)	\
    (This)->lpVtbl -> put_Arrowhead1Block(This,BlockName)

#define IIcadDimAngular_get_Arrowhead1Type(This,ArrowheadType)	\
    (This)->lpVtbl -> get_Arrowhead1Type(This,ArrowheadType)

#define IIcadDimAngular_put_Arrowhead1Type(This,ArrowheadType)	\
    (This)->lpVtbl -> put_Arrowhead1Type(This,ArrowheadType)

#define IIcadDimAngular_get_Arrowhead2Block(This,BlockName)	\
    (This)->lpVtbl -> get_Arrowhead2Block(This,BlockName)

#define IIcadDimAngular_put_Arrowhead2Block(This,BlockName)	\
    (This)->lpVtbl -> put_Arrowhead2Block(This,BlockName)

#define IIcadDimAngular_get_Arrowhead2Type(This,ArrowheadType)	\
    (This)->lpVtbl -> get_Arrowhead2Type(This,ArrowheadType)

#define IIcadDimAngular_put_Arrowhead2Type(This,ArrowheadType)	\
    (This)->lpVtbl -> put_Arrowhead2Type(This,ArrowheadType)

#define IIcadDimAngular_get_DimensionLineColor(This,Color)	\
    (This)->lpVtbl -> get_DimensionLineColor(This,Color)

#define IIcadDimAngular_put_DimensionLineColor(This,Color)	\
    (This)->lpVtbl -> put_DimensionLineColor(This,Color)

#define IIcadDimAngular_get_DimLine1Suppress(This,Supress)	\
    (This)->lpVtbl -> get_DimLine1Suppress(This,Supress)

#define IIcadDimAngular_put_DimLine1Suppress(This,Suppress)	\
    (This)->lpVtbl -> put_DimLine1Suppress(This,Suppress)

#define IIcadDimAngular_get_DimLine2Suppress(This,Supress)	\
    (This)->lpVtbl -> get_DimLine2Suppress(This,Supress)

#define IIcadDimAngular_put_DimLine2Suppress(This,Suppress)	\
    (This)->lpVtbl -> put_DimLine2Suppress(This,Suppress)

#define IIcadDimAngular_get_DimLineInside(This,Inside)	\
    (This)->lpVtbl -> get_DimLineInside(This,Inside)

#define IIcadDimAngular_put_DimLineInside(This,Inside)	\
    (This)->lpVtbl -> put_DimLineInside(This,Inside)

#define IIcadDimAngular_get_ExtensionLineColor(This,Color)	\
    (This)->lpVtbl -> get_ExtensionLineColor(This,Color)

#define IIcadDimAngular_put_ExtensionLineColor(This,Color)	\
    (This)->lpVtbl -> put_ExtensionLineColor(This,Color)

#define IIcadDimAngular_get_ExtensionLineExtend(This,Extension)	\
    (This)->lpVtbl -> get_ExtensionLineExtend(This,Extension)

#define IIcadDimAngular_put_ExtensionLineExtend(This,Extension)	\
    (This)->lpVtbl -> put_ExtensionLineExtend(This,Extension)

#define IIcadDimAngular_get_ExtLine1StartPoint(This,Point)	\
    (This)->lpVtbl -> get_ExtLine1StartPoint(This,Point)

#define IIcadDimAngular_put_ExtLine1StartPoint(This,Point)	\
    (This)->lpVtbl -> put_ExtLine1StartPoint(This,Point)

#define IIcadDimAngular_get_ExtLine1EndPoint(This,Point)	\
    (This)->lpVtbl -> get_ExtLine1EndPoint(This,Point)

#define IIcadDimAngular_put_ExtLine1EndPoint(This,Point)	\
    (This)->lpVtbl -> put_ExtLine1EndPoint(This,Point)

#define IIcadDimAngular_get_ExtLine1Suppress(This,Supress)	\
    (This)->lpVtbl -> get_ExtLine1Suppress(This,Supress)

#define IIcadDimAngular_put_ExtLine1Suppress(This,Suppress)	\
    (This)->lpVtbl -> put_ExtLine1Suppress(This,Suppress)

#define IIcadDimAngular_get_ExtLine2EndPoint(This,Point)	\
    (This)->lpVtbl -> get_ExtLine2EndPoint(This,Point)

#define IIcadDimAngular_put_ExtLine2EndPoint(This,Point)	\
    (This)->lpVtbl -> put_ExtLine2EndPoint(This,Point)

#define IIcadDimAngular_get_ExtLine2StartPoint(This,Point)	\
    (This)->lpVtbl -> get_ExtLine2StartPoint(This,Point)

#define IIcadDimAngular_put_ExtLine2StartPoint(This,Point)	\
    (This)->lpVtbl -> put_ExtLine2StartPoint(This,Point)

#define IIcadDimAngular_get_ExtLine2Suppress(This,Supress)	\
    (This)->lpVtbl -> get_ExtLine2Suppress(This,Supress)

#define IIcadDimAngular_put_ExtLine2Suppress(This,Suppress)	\
    (This)->lpVtbl -> put_ExtLine2Suppress(This,Suppress)

#define IIcadDimAngular_get_Fit(This,Fit)	\
    (This)->lpVtbl -> get_Fit(This,Fit)

#define IIcadDimAngular_put_Fit(This,Fit)	\
    (This)->lpVtbl -> put_Fit(This,Fit)

#define IIcadDimAngular_get_ForceLineInside(This,Inside)	\
    (This)->lpVtbl -> get_ForceLineInside(This,Inside)

#define IIcadDimAngular_put_ForceLineInside(This,Inside)	\
    (This)->lpVtbl -> put_ForceLineInside(This,Inside)

#define IIcadDimAngular_get_HorizontalTextPosition(This,Position)	\
    (This)->lpVtbl -> get_HorizontalTextPosition(This,Position)

#define IIcadDimAngular_put_HorizontalTextPosition(This,Position)	\
    (This)->lpVtbl -> put_HorizontalTextPosition(This,Position)

#define IIcadDimAngular_get_TextInside(This,Inside)	\
    (This)->lpVtbl -> get_TextInside(This,Inside)

#define IIcadDimAngular_put_TextInside(This,Inside)	\
    (This)->lpVtbl -> put_TextInside(This,Inside)

#define IIcadDimAngular_get_TextInsideAlign(This,Alignment)	\
    (This)->lpVtbl -> get_TextInsideAlign(This,Alignment)

#define IIcadDimAngular_put_TextInsideAlign(This,Alignment)	\
    (This)->lpVtbl -> put_TextInsideAlign(This,Alignment)

#define IIcadDimAngular_get_TextOutsideAlign(This,Alignment)	\
    (This)->lpVtbl -> get_TextOutsideAlign(This,Alignment)

#define IIcadDimAngular_put_TextOutsideAlign(This,Alignment)	\
    (This)->lpVtbl -> put_TextOutsideAlign(This,Alignment)

#define IIcadDimAngular_get_TextPrecision(This,Precision)	\
    (This)->lpVtbl -> get_TextPrecision(This,Precision)

#define IIcadDimAngular_put_TextPrecision(This,Precision)	\
    (This)->lpVtbl -> put_TextPrecision(This,Precision)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_AngleFormat_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ AngleUnits __RPC_FAR *Movement);


void __RPC_STUB IIcadDimAngular_get_AngleFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_AngleFormat_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ AngleUnits Movement);


void __RPC_STUB IIcadDimAngular_put_AngleFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_Arrowhead1Block_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *BlockName);


void __RPC_STUB IIcadDimAngular_get_Arrowhead1Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_Arrowhead1Block_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IIcadDimAngular_put_Arrowhead1Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_Arrowhead1Type_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType);


void __RPC_STUB IIcadDimAngular_get_Arrowhead1Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_Arrowhead1Type_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ DimArrowheadType ArrowheadType);


void __RPC_STUB IIcadDimAngular_put_Arrowhead1Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_Arrowhead2Block_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *BlockName);


void __RPC_STUB IIcadDimAngular_get_Arrowhead2Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_Arrowhead2Block_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IIcadDimAngular_put_Arrowhead2Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_Arrowhead2Type_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType);


void __RPC_STUB IIcadDimAngular_get_Arrowhead2Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_Arrowhead2Type_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ DimArrowheadType ArrowheadType);


void __RPC_STUB IIcadDimAngular_put_Arrowhead2Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_DimensionLineColor_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ Colors __RPC_FAR *Color);


void __RPC_STUB IIcadDimAngular_get_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_DimensionLineColor_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ Colors Color);


void __RPC_STUB IIcadDimAngular_put_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_DimLine1Suppress_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimAngular_get_DimLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_DimLine1Suppress_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDimAngular_put_DimLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_DimLine2Suppress_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimAngular_get_DimLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_DimLine2Suppress_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDimAngular_put_DimLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_DimLineInside_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);


void __RPC_STUB IIcadDimAngular_get_DimLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_DimLineInside_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Inside);


void __RPC_STUB IIcadDimAngular_put_DimLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_ExtensionLineColor_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ Colors __RPC_FAR *Color);


void __RPC_STUB IIcadDimAngular_get_ExtensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_ExtensionLineColor_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ Colors Color);


void __RPC_STUB IIcadDimAngular_put_ExtensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_ExtensionLineExtend_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Extension);


void __RPC_STUB IIcadDimAngular_get_ExtensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_ExtensionLineExtend_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ double Extension);


void __RPC_STUB IIcadDimAngular_put_ExtensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_ExtLine1StartPoint_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);


void __RPC_STUB IIcadDimAngular_get_ExtLine1StartPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_ExtLine1StartPoint_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point);


void __RPC_STUB IIcadDimAngular_put_ExtLine1StartPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_ExtLine1EndPoint_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);


void __RPC_STUB IIcadDimAngular_get_ExtLine1EndPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_ExtLine1EndPoint_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point);


void __RPC_STUB IIcadDimAngular_put_ExtLine1EndPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_ExtLine1Suppress_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimAngular_get_ExtLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_ExtLine1Suppress_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDimAngular_put_ExtLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_ExtLine2EndPoint_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);


void __RPC_STUB IIcadDimAngular_get_ExtLine2EndPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_ExtLine2EndPoint_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point);


void __RPC_STUB IIcadDimAngular_put_ExtLine2EndPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_ExtLine2StartPoint_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);


void __RPC_STUB IIcadDimAngular_get_ExtLine2StartPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_ExtLine2StartPoint_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point);


void __RPC_STUB IIcadDimAngular_put_ExtLine2StartPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_ExtLine2Suppress_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimAngular_get_ExtLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_ExtLine2Suppress_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDimAngular_put_ExtLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_Fit_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ DimFit __RPC_FAR *Fit);


void __RPC_STUB IIcadDimAngular_get_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_Fit_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ DimFit Fit);


void __RPC_STUB IIcadDimAngular_put_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_ForceLineInside_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);


void __RPC_STUB IIcadDimAngular_get_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_ForceLineInside_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Inside);


void __RPC_STUB IIcadDimAngular_put_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_HorizontalTextPosition_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ DimHorizontalJustification __RPC_FAR *Position);


void __RPC_STUB IIcadDimAngular_get_HorizontalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_HorizontalTextPosition_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ DimHorizontalJustification Position);


void __RPC_STUB IIcadDimAngular_put_HorizontalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_TextInside_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);


void __RPC_STUB IIcadDimAngular_get_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_TextInside_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Inside);


void __RPC_STUB IIcadDimAngular_put_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_TextInsideAlign_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);


void __RPC_STUB IIcadDimAngular_get_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_TextInsideAlign_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Alignment);


void __RPC_STUB IIcadDimAngular_put_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_TextOutsideAlign_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);


void __RPC_STUB IIcadDimAngular_get_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_TextOutsideAlign_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Alignment);


void __RPC_STUB IIcadDimAngular_put_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_get_TextPrecision_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [retval][out] */ DimPrecision __RPC_FAR *Precision);


void __RPC_STUB IIcadDimAngular_get_TextPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAngular_put_TextPrecision_Proxy( 
    IIcadDimAngular __RPC_FAR * This,
    /* [in] */ DimPrecision Precision);


void __RPC_STUB IIcadDimAngular_put_TextPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadDimAngular_INTERFACE_DEFINED__ */


#ifndef __IIcadDimAligned_INTERFACE_DEFINED__
#define __IIcadDimAligned_INTERFACE_DEFINED__

/* interface IIcadDimAligned */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadDimAligned;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c185-7e36-11d1-bc5a-0060089608a4")
    IIcadDimAligned : public IIcadDimension
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltRoundDistance( 
            /* [retval][out] */ double __RPC_FAR *Round) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltRoundDistance( 
            /* [in] */ double Round) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressLeadingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressLeadingZeroes( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressTrailingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressTrailingZeroes( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextPrefix( 
            /* [retval][out] */ BSTR __RPC_FAR *PrefixString) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltTextPrefix( 
            /* [in] */ BSTR PrefixString) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextSuffix( 
            /* [retval][out] */ BSTR __RPC_FAR *SuffixString) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltTextSuffix( 
            /* [in] */ BSTR SuffixString) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltTolerancePrecision( 
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltTolerancePrecision( 
            /* [in] */ DimPrecision Precision) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressLeadingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressLeadingZeroes( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressTrailingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressTrailingZeroes( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnits( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Enable) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltUnits( 
            /* [in] */ VARIANT_BOOL Enable) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsFormat( 
            /* [retval][out] */ DimLUnits __RPC_FAR *Units) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsFormat( 
            /* [in] */ DimLUnits Units) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsPrecision( 
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsPrecision( 
            /* [in] */ DimPrecision Precision) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsScale( 
            /* [retval][out] */ double __RPC_FAR *Scale) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsScale( 
            /* [in] */ double Scale) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead1Block( 
            /* [retval][out] */ BSTR __RPC_FAR *BlockName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead1Block( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead1Type( 
            /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead1Type( 
            /* [in] */ DimArrowheadType ArrowheadType) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead2Block( 
            /* [retval][out] */ BSTR __RPC_FAR *BlockName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead2Block( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead2Type( 
            /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead2Type( 
            /* [in] */ DimArrowheadType ArrowheadType) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineColor( 
            /* [retval][out] */ Colors __RPC_FAR *Color) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineColor( 
            /* [in] */ Colors Color) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineExtend( 
            /* [retval][out] */ double __RPC_FAR *pScaleFactor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineExtend( 
            /* [in] */ double ScaleFactor) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimLine1Suppress( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimLine1Suppress( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimLine2Suppress( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimLine2Suppress( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimLineInside( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimLineInside( 
            /* [in] */ VARIANT_BOOL Inside) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineColor( 
            /* [retval][out] */ Colors __RPC_FAR *Color) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineColor( 
            /* [in] */ Colors Color) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineExtend( 
            /* [retval][out] */ double __RPC_FAR *Extension) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineExtend( 
            /* [in] */ double Extension) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1Point( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1Point( 
            /* [in] */ IIcadPoint __RPC_FAR *Point) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1Suppress( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1Suppress( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2Point( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2Point( 
            /* [in] */ IIcadPoint __RPC_FAR *Point) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2Suppress( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2Suppress( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Fit( 
            /* [retval][out] */ DimFit __RPC_FAR *Fit) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Fit( 
            /* [in] */ DimFit Fit) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ForceLineInside( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ForceLineInside( 
            /* [in] */ VARIANT_BOOL Inside) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_HorizontalTextPosition( 
            /* [retval][out] */ DimHorizontalJustification __RPC_FAR *Position) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HorizontalTextPosition( 
            /* [in] */ DimHorizontalJustification Position) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FractionFormat( 
            /* [retval][out] */ DimFractionType __RPC_FAR *Format) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FractionFormat( 
            /* [in] */ DimFractionType Format) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LinearScaleFactor( 
            /* [retval][out] */ double __RPC_FAR *ScaleFactor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LinearScaleFactor( 
            /* [in] */ double ScaleFactor) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PrimaryUnitsPrecision( 
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PrimaryUnitsPrecision( 
            /* [in] */ DimPrecision Precision) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RoundDistance( 
            /* [retval][out] */ double __RPC_FAR *Round) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RoundDistance( 
            /* [in] */ double Round) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroInches( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextInside( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextInside( 
            /* [in] */ VARIANT_BOOL Inside) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextInsideAlign( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextInsideAlign( 
            /* [in] */ VARIANT_BOOL Alignment) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextOutsideAlign( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextOutsideAlign( 
            /* [in] */ VARIANT_BOOL Alignment) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextPrecision( 
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextPrecision( 
            /* [in] */ DimPrecision Precision) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadDimAlignedVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadDimAligned __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadDimAligned __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadDimAligned __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadDimAligned __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadDimAligned __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ArrowheadSize )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *ArrowheadSize);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ArrowheadSize )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ double ArrowheadSize);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DecimalSeparator )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *DecimalSeparator);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DecimalSeparator )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ BSTR DecimalSeparator);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtensionLineOffset )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Offset);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtensionLineOffset )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ double Offset);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Measurement )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Measurement )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ double Value);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ppExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rotation )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Rotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rotation )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ScaleFactor )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *ScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ScaleFactor )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StyleName )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *StyleName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StyleName )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ BSTR StyleName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressLeadingZeroes )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressLeadingZeroes )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressTrailingZeroes )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressTrailingZeroes )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextColor )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *Color);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextColor )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextGap )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Gap);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextGap )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ double Gap);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextHeight )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Height);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextHeight )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ double Height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextMovement )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ DimTextMovement __RPC_FAR *Movement);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextMovement )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ DimTextMovement Movement);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextPosition )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Position);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextPosition )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Position);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextOverride )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *String);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextOverride )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ BSTR String);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextPrefix )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *PrefixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextPrefix )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ BSTR PrefixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextString )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *String);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextString )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ BSTR String);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextRotation )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Rotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextRotation )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextStyle )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *StyleName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextStyle )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ BSTR StyleName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextSuffix )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *SuffixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextSuffix )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ BSTR SuffixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceDisplay )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ DimToleranceMethod __RPC_FAR *TolDisplay);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceDisplay )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ DimToleranceMethod TolDisplay);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceHeightScale )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *HeightScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceHeightScale )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ double HeightScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceJustification )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ DimToleranceJustify __RPC_FAR *TolJustify);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceJustification )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ DimToleranceJustify TolJustify);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceLowerLimit )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Limit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceLowerLimit )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ double Limit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressLeadingZeroes )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressLeadingZeroes )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressTrailingZeroes )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressTrailingZeroes )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressZeroInches )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressZeroInches )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressZeroFeet )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressZeroFeet )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceUpperLimit )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Limit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceUpperLimit )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ double Limit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TolerancePrecision )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TolerancePrecision )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UnitsFormat )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ DimLUnits __RPC_FAR *Units);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_UnitsFormat )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ DimLUnits Units);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VerticalTextPosition )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ DimVerticalJustification __RPC_FAR *Position);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VerticalTextPosition )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ DimVerticalJustification Position);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltRoundDistance )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Round);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltRoundDistance )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ double Round);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltSuppressLeadingZeroes )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltSuppressLeadingZeroes )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltSuppressTrailingZeroes )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltSuppressTrailingZeroes )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltSuppressZeroInches )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltSuppressZeroInches )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltSuppressZeroFeet )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltSuppressZeroFeet )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltTextPrefix )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *PrefixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltTextPrefix )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ BSTR PrefixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltTextSuffix )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *SuffixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltTextSuffix )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ BSTR SuffixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltTolerancePrecision )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltTolerancePrecision )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltToleranceSuppressLeadingZeroes )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltToleranceSuppressLeadingZeroes )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltToleranceSuppressTrailingZeroes )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltToleranceSuppressTrailingZeroes )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltToleranceSuppressZeroInches )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltToleranceSuppressZeroInches )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltToleranceSuppressZeroFeet )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltToleranceSuppressZeroFeet )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltUnits )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Enable);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltUnits )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Enable);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltUnitsFormat )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ DimLUnits __RPC_FAR *Units);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltUnitsFormat )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ DimLUnits Units);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltUnitsPrecision )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltUnitsPrecision )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltUnitsScale )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Scale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltUnitsScale )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ double Scale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Arrowhead1Block )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *BlockName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Arrowhead1Block )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Arrowhead1Type )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Arrowhead1Type )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ DimArrowheadType ArrowheadType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Arrowhead2Block )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *BlockName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Arrowhead2Block )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Arrowhead2Type )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Arrowhead2Type )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ DimArrowheadType ArrowheadType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimensionLineColor )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *Color);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimensionLineColor )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimensionLineExtend )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *pScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimensionLineExtend )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimLine1Suppress )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimLine1Suppress )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimLine2Suppress )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimLine2Suppress )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimLineInside )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimLineInside )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Inside);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtensionLineColor )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *Color);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtensionLineColor )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtensionLineExtend )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Extension);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtensionLineExtend )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ double Extension);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtLine1Point )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtLine1Point )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtLine1Suppress )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtLine1Suppress )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtLine2Point )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtLine2Point )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtLine2Suppress )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtLine2Suppress )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Fit )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ DimFit __RPC_FAR *Fit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Fit )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ DimFit Fit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ForceLineInside )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ForceLineInside )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Inside);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HorizontalTextPosition )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ DimHorizontalJustification __RPC_FAR *Position);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_HorizontalTextPosition )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ DimHorizontalJustification Position);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FractionFormat )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ DimFractionType __RPC_FAR *Format);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_FractionFormat )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ DimFractionType Format);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinearScaleFactor )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *ScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinearScaleFactor )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PrimaryUnitsPrecision )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PrimaryUnitsPrecision )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RoundDistance )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Round);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RoundDistance )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ double Round);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressZeroInches )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressZeroInches )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressZeroFeet )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressZeroFeet )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextInside )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextInside )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Inside);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextInsideAlign )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextInsideAlign )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Alignment);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextOutsideAlign )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextOutsideAlign )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Alignment);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextPrecision )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextPrecision )( 
            IIcadDimAligned __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        END_INTERFACE
    } IIcadDimAlignedVtbl;

    interface IIcadDimAligned
    {
        CONST_VTBL struct IIcadDimAlignedVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadDimAligned_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadDimAligned_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadDimAligned_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadDimAligned_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadDimAligned_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadDimAligned_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadDimAligned_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadDimAligned_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadDimAligned_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadDimAligned_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadDimAligned_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadDimAligned__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadDimAligned_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadDimAligned_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadDimAligned_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadDimAligned_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadDimAligned_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadDimAligned_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadDimAligned_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadDimAligned_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadDimAligned_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadDimAligned_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadDimAligned_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadDimAligned_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadDimAligned_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadDimAligned_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadDimAligned_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadDimAligned_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadDimAligned_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadDimAligned_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadDimAligned_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadDimAligned_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadDimAligned_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadDimAligned_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadDimAligned_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadDimAligned_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadDimAligned_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadDimAligned_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadDimAligned_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadDimAligned_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadDimAligned_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadDimAligned_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadDimAligned_get_ArrowheadSize(This,ArrowheadSize)	\
    (This)->lpVtbl -> get_ArrowheadSize(This,ArrowheadSize)

#define IIcadDimAligned_put_ArrowheadSize(This,ArrowheadSize)	\
    (This)->lpVtbl -> put_ArrowheadSize(This,ArrowheadSize)

#define IIcadDimAligned_get_DecimalSeparator(This,DecimalSeparator)	\
    (This)->lpVtbl -> get_DecimalSeparator(This,DecimalSeparator)

#define IIcadDimAligned_put_DecimalSeparator(This,DecimalSeparator)	\
    (This)->lpVtbl -> put_DecimalSeparator(This,DecimalSeparator)

#define IIcadDimAligned_get_ExtensionLineOffset(This,Offset)	\
    (This)->lpVtbl -> get_ExtensionLineOffset(This,Offset)

#define IIcadDimAligned_put_ExtensionLineOffset(This,Offset)	\
    (This)->lpVtbl -> put_ExtensionLineOffset(This,Offset)

#define IIcadDimAligned_get_Measurement(This,Value)	\
    (This)->lpVtbl -> get_Measurement(This,Value)

#define IIcadDimAligned_put_Measurement(This,Value)	\
    (This)->lpVtbl -> put_Measurement(This,Value)

#define IIcadDimAligned_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadDimAligned_put_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ppExtrusionDirection)

#define IIcadDimAligned_get_Rotation(This,Rotation)	\
    (This)->lpVtbl -> get_Rotation(This,Rotation)

#define IIcadDimAligned_put_Rotation(This,Rotation)	\
    (This)->lpVtbl -> put_Rotation(This,Rotation)

#define IIcadDimAligned_get_ScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> get_ScaleFactor(This,ScaleFactor)

#define IIcadDimAligned_put_ScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> put_ScaleFactor(This,ScaleFactor)

#define IIcadDimAligned_get_StyleName(This,StyleName)	\
    (This)->lpVtbl -> get_StyleName(This,StyleName)

#define IIcadDimAligned_put_StyleName(This,StyleName)	\
    (This)->lpVtbl -> put_StyleName(This,StyleName)

#define IIcadDimAligned_get_SuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_SuppressLeadingZeroes(This,Supress)

#define IIcadDimAligned_put_SuppressLeadingZeroes(This,Suppress)	\
    (This)->lpVtbl -> put_SuppressLeadingZeroes(This,Suppress)

#define IIcadDimAligned_get_SuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_SuppressTrailingZeroes(This,Supress)

#define IIcadDimAligned_put_SuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_SuppressTrailingZeroes(This,Supress)

#define IIcadDimAligned_get_TextColor(This,Color)	\
    (This)->lpVtbl -> get_TextColor(This,Color)

#define IIcadDimAligned_put_TextColor(This,Color)	\
    (This)->lpVtbl -> put_TextColor(This,Color)

#define IIcadDimAligned_get_TextGap(This,Gap)	\
    (This)->lpVtbl -> get_TextGap(This,Gap)

#define IIcadDimAligned_put_TextGap(This,Gap)	\
    (This)->lpVtbl -> put_TextGap(This,Gap)

#define IIcadDimAligned_get_TextHeight(This,Height)	\
    (This)->lpVtbl -> get_TextHeight(This,Height)

#define IIcadDimAligned_put_TextHeight(This,Height)	\
    (This)->lpVtbl -> put_TextHeight(This,Height)

#define IIcadDimAligned_get_TextMovement(This,Movement)	\
    (This)->lpVtbl -> get_TextMovement(This,Movement)

#define IIcadDimAligned_put_TextMovement(This,Movement)	\
    (This)->lpVtbl -> put_TextMovement(This,Movement)

#define IIcadDimAligned_get_TextPosition(This,Position)	\
    (This)->lpVtbl -> get_TextPosition(This,Position)

#define IIcadDimAligned_put_TextPosition(This,Position)	\
    (This)->lpVtbl -> put_TextPosition(This,Position)

#define IIcadDimAligned_get_TextOverride(This,String)	\
    (This)->lpVtbl -> get_TextOverride(This,String)

#define IIcadDimAligned_put_TextOverride(This,String)	\
    (This)->lpVtbl -> put_TextOverride(This,String)

#define IIcadDimAligned_get_TextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> get_TextPrefix(This,PrefixString)

#define IIcadDimAligned_put_TextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> put_TextPrefix(This,PrefixString)

#define IIcadDimAligned_get_TextString(This,String)	\
    (This)->lpVtbl -> get_TextString(This,String)

#define IIcadDimAligned_put_TextString(This,String)	\
    (This)->lpVtbl -> put_TextString(This,String)

#define IIcadDimAligned_get_TextRotation(This,Rotation)	\
    (This)->lpVtbl -> get_TextRotation(This,Rotation)

#define IIcadDimAligned_put_TextRotation(This,Rotation)	\
    (This)->lpVtbl -> put_TextRotation(This,Rotation)

#define IIcadDimAligned_get_TextStyle(This,StyleName)	\
    (This)->lpVtbl -> get_TextStyle(This,StyleName)

#define IIcadDimAligned_put_TextStyle(This,StyleName)	\
    (This)->lpVtbl -> put_TextStyle(This,StyleName)

#define IIcadDimAligned_get_TextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> get_TextSuffix(This,SuffixString)

#define IIcadDimAligned_put_TextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> put_TextSuffix(This,SuffixString)

#define IIcadDimAligned_get_ToleranceDisplay(This,TolDisplay)	\
    (This)->lpVtbl -> get_ToleranceDisplay(This,TolDisplay)

#define IIcadDimAligned_put_ToleranceDisplay(This,TolDisplay)	\
    (This)->lpVtbl -> put_ToleranceDisplay(This,TolDisplay)

#define IIcadDimAligned_get_ToleranceHeightScale(This,HeightScale)	\
    (This)->lpVtbl -> get_ToleranceHeightScale(This,HeightScale)

#define IIcadDimAligned_put_ToleranceHeightScale(This,HeightScale)	\
    (This)->lpVtbl -> put_ToleranceHeightScale(This,HeightScale)

#define IIcadDimAligned_get_ToleranceJustification(This,TolJustify)	\
    (This)->lpVtbl -> get_ToleranceJustification(This,TolJustify)

#define IIcadDimAligned_put_ToleranceJustification(This,TolJustify)	\
    (This)->lpVtbl -> put_ToleranceJustification(This,TolJustify)

#define IIcadDimAligned_get_ToleranceLowerLimit(This,Limit)	\
    (This)->lpVtbl -> get_ToleranceLowerLimit(This,Limit)

#define IIcadDimAligned_put_ToleranceLowerLimit(This,Limit)	\
    (This)->lpVtbl -> put_ToleranceLowerLimit(This,Limit)

#define IIcadDimAligned_get_ToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimAligned_put_ToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimAligned_get_ToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimAligned_put_ToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimAligned_get_ToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressZeroInches(This,Supress)

#define IIcadDimAligned_put_ToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressZeroInches(This,Supress)

#define IIcadDimAligned_get_ToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimAligned_put_ToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimAligned_get_ToleranceUpperLimit(This,Limit)	\
    (This)->lpVtbl -> get_ToleranceUpperLimit(This,Limit)

#define IIcadDimAligned_put_ToleranceUpperLimit(This,Limit)	\
    (This)->lpVtbl -> put_ToleranceUpperLimit(This,Limit)

#define IIcadDimAligned_get_TolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> get_TolerancePrecision(This,Precision)

#define IIcadDimAligned_put_TolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> put_TolerancePrecision(This,Precision)

#define IIcadDimAligned_get_UnitsFormat(This,Units)	\
    (This)->lpVtbl -> get_UnitsFormat(This,Units)

#define IIcadDimAligned_put_UnitsFormat(This,Units)	\
    (This)->lpVtbl -> put_UnitsFormat(This,Units)

#define IIcadDimAligned_get_VerticalTextPosition(This,Position)	\
    (This)->lpVtbl -> get_VerticalTextPosition(This,Position)

#define IIcadDimAligned_put_VerticalTextPosition(This,Position)	\
    (This)->lpVtbl -> put_VerticalTextPosition(This,Position)


#define IIcadDimAligned_get_AltRoundDistance(This,Round)	\
    (This)->lpVtbl -> get_AltRoundDistance(This,Round)

#define IIcadDimAligned_put_AltRoundDistance(This,Round)	\
    (This)->lpVtbl -> put_AltRoundDistance(This,Round)

#define IIcadDimAligned_get_AltSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_AltSuppressLeadingZeroes(This,Supress)

#define IIcadDimAligned_put_AltSuppressLeadingZeroes(This,Suppress)	\
    (This)->lpVtbl -> put_AltSuppressLeadingZeroes(This,Suppress)

#define IIcadDimAligned_get_AltSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_AltSuppressTrailingZeroes(This,Supress)

#define IIcadDimAligned_put_AltSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_AltSuppressTrailingZeroes(This,Supress)

#define IIcadDimAligned_get_AltSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_AltSuppressZeroInches(This,Supress)

#define IIcadDimAligned_put_AltSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_AltSuppressZeroInches(This,Supress)

#define IIcadDimAligned_get_AltSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_AltSuppressZeroFeet(This,Supress)

#define IIcadDimAligned_put_AltSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_AltSuppressZeroFeet(This,Supress)

#define IIcadDimAligned_get_AltTextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> get_AltTextPrefix(This,PrefixString)

#define IIcadDimAligned_put_AltTextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> put_AltTextPrefix(This,PrefixString)

#define IIcadDimAligned_get_AltTextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> get_AltTextSuffix(This,SuffixString)

#define IIcadDimAligned_put_AltTextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> put_AltTextSuffix(This,SuffixString)

#define IIcadDimAligned_get_AltTolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> get_AltTolerancePrecision(This,Precision)

#define IIcadDimAligned_put_AltTolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> put_AltTolerancePrecision(This,Precision)

#define IIcadDimAligned_get_AltToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_AltToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimAligned_put_AltToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_AltToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimAligned_get_AltToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_AltToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimAligned_put_AltToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_AltToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimAligned_get_AltToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_AltToleranceSuppressZeroInches(This,Supress)

#define IIcadDimAligned_put_AltToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_AltToleranceSuppressZeroInches(This,Supress)

#define IIcadDimAligned_get_AltToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_AltToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimAligned_put_AltToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_AltToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimAligned_get_AltUnits(This,Enable)	\
    (This)->lpVtbl -> get_AltUnits(This,Enable)

#define IIcadDimAligned_put_AltUnits(This,Enable)	\
    (This)->lpVtbl -> put_AltUnits(This,Enable)

#define IIcadDimAligned_get_AltUnitsFormat(This,Units)	\
    (This)->lpVtbl -> get_AltUnitsFormat(This,Units)

#define IIcadDimAligned_put_AltUnitsFormat(This,Units)	\
    (This)->lpVtbl -> put_AltUnitsFormat(This,Units)

#define IIcadDimAligned_get_AltUnitsPrecision(This,Precision)	\
    (This)->lpVtbl -> get_AltUnitsPrecision(This,Precision)

#define IIcadDimAligned_put_AltUnitsPrecision(This,Precision)	\
    (This)->lpVtbl -> put_AltUnitsPrecision(This,Precision)

#define IIcadDimAligned_get_AltUnitsScale(This,Scale)	\
    (This)->lpVtbl -> get_AltUnitsScale(This,Scale)

#define IIcadDimAligned_put_AltUnitsScale(This,Scale)	\
    (This)->lpVtbl -> put_AltUnitsScale(This,Scale)

#define IIcadDimAligned_get_Arrowhead1Block(This,BlockName)	\
    (This)->lpVtbl -> get_Arrowhead1Block(This,BlockName)

#define IIcadDimAligned_put_Arrowhead1Block(This,BlockName)	\
    (This)->lpVtbl -> put_Arrowhead1Block(This,BlockName)

#define IIcadDimAligned_get_Arrowhead1Type(This,ArrowheadType)	\
    (This)->lpVtbl -> get_Arrowhead1Type(This,ArrowheadType)

#define IIcadDimAligned_put_Arrowhead1Type(This,ArrowheadType)	\
    (This)->lpVtbl -> put_Arrowhead1Type(This,ArrowheadType)

#define IIcadDimAligned_get_Arrowhead2Block(This,BlockName)	\
    (This)->lpVtbl -> get_Arrowhead2Block(This,BlockName)

#define IIcadDimAligned_put_Arrowhead2Block(This,BlockName)	\
    (This)->lpVtbl -> put_Arrowhead2Block(This,BlockName)

#define IIcadDimAligned_get_Arrowhead2Type(This,ArrowheadType)	\
    (This)->lpVtbl -> get_Arrowhead2Type(This,ArrowheadType)

#define IIcadDimAligned_put_Arrowhead2Type(This,ArrowheadType)	\
    (This)->lpVtbl -> put_Arrowhead2Type(This,ArrowheadType)

#define IIcadDimAligned_get_DimensionLineColor(This,Color)	\
    (This)->lpVtbl -> get_DimensionLineColor(This,Color)

#define IIcadDimAligned_put_DimensionLineColor(This,Color)	\
    (This)->lpVtbl -> put_DimensionLineColor(This,Color)

#define IIcadDimAligned_get_DimensionLineExtend(This,pScaleFactor)	\
    (This)->lpVtbl -> get_DimensionLineExtend(This,pScaleFactor)

#define IIcadDimAligned_put_DimensionLineExtend(This,ScaleFactor)	\
    (This)->lpVtbl -> put_DimensionLineExtend(This,ScaleFactor)

#define IIcadDimAligned_get_DimLine1Suppress(This,Supress)	\
    (This)->lpVtbl -> get_DimLine1Suppress(This,Supress)

#define IIcadDimAligned_put_DimLine1Suppress(This,Suppress)	\
    (This)->lpVtbl -> put_DimLine1Suppress(This,Suppress)

#define IIcadDimAligned_get_DimLine2Suppress(This,Supress)	\
    (This)->lpVtbl -> get_DimLine2Suppress(This,Supress)

#define IIcadDimAligned_put_DimLine2Suppress(This,Suppress)	\
    (This)->lpVtbl -> put_DimLine2Suppress(This,Suppress)

#define IIcadDimAligned_get_DimLineInside(This,Inside)	\
    (This)->lpVtbl -> get_DimLineInside(This,Inside)

#define IIcadDimAligned_put_DimLineInside(This,Inside)	\
    (This)->lpVtbl -> put_DimLineInside(This,Inside)

#define IIcadDimAligned_get_ExtensionLineColor(This,Color)	\
    (This)->lpVtbl -> get_ExtensionLineColor(This,Color)

#define IIcadDimAligned_put_ExtensionLineColor(This,Color)	\
    (This)->lpVtbl -> put_ExtensionLineColor(This,Color)

#define IIcadDimAligned_get_ExtensionLineExtend(This,Extension)	\
    (This)->lpVtbl -> get_ExtensionLineExtend(This,Extension)

#define IIcadDimAligned_put_ExtensionLineExtend(This,Extension)	\
    (This)->lpVtbl -> put_ExtensionLineExtend(This,Extension)

#define IIcadDimAligned_get_ExtLine1Point(This,Point)	\
    (This)->lpVtbl -> get_ExtLine1Point(This,Point)

#define IIcadDimAligned_put_ExtLine1Point(This,Point)	\
    (This)->lpVtbl -> put_ExtLine1Point(This,Point)

#define IIcadDimAligned_get_ExtLine1Suppress(This,Supress)	\
    (This)->lpVtbl -> get_ExtLine1Suppress(This,Supress)

#define IIcadDimAligned_put_ExtLine1Suppress(This,Suppress)	\
    (This)->lpVtbl -> put_ExtLine1Suppress(This,Suppress)

#define IIcadDimAligned_get_ExtLine2Point(This,Point)	\
    (This)->lpVtbl -> get_ExtLine2Point(This,Point)

#define IIcadDimAligned_put_ExtLine2Point(This,Point)	\
    (This)->lpVtbl -> put_ExtLine2Point(This,Point)

#define IIcadDimAligned_get_ExtLine2Suppress(This,Supress)	\
    (This)->lpVtbl -> get_ExtLine2Suppress(This,Supress)

#define IIcadDimAligned_put_ExtLine2Suppress(This,Suppress)	\
    (This)->lpVtbl -> put_ExtLine2Suppress(This,Suppress)

#define IIcadDimAligned_get_Fit(This,Fit)	\
    (This)->lpVtbl -> get_Fit(This,Fit)

#define IIcadDimAligned_put_Fit(This,Fit)	\
    (This)->lpVtbl -> put_Fit(This,Fit)

#define IIcadDimAligned_get_ForceLineInside(This,Inside)	\
    (This)->lpVtbl -> get_ForceLineInside(This,Inside)

#define IIcadDimAligned_put_ForceLineInside(This,Inside)	\
    (This)->lpVtbl -> put_ForceLineInside(This,Inside)

#define IIcadDimAligned_get_HorizontalTextPosition(This,Position)	\
    (This)->lpVtbl -> get_HorizontalTextPosition(This,Position)

#define IIcadDimAligned_put_HorizontalTextPosition(This,Position)	\
    (This)->lpVtbl -> put_HorizontalTextPosition(This,Position)

#define IIcadDimAligned_get_FractionFormat(This,Format)	\
    (This)->lpVtbl -> get_FractionFormat(This,Format)

#define IIcadDimAligned_put_FractionFormat(This,Format)	\
    (This)->lpVtbl -> put_FractionFormat(This,Format)

#define IIcadDimAligned_get_LinearScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> get_LinearScaleFactor(This,ScaleFactor)

#define IIcadDimAligned_put_LinearScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> put_LinearScaleFactor(This,ScaleFactor)

#define IIcadDimAligned_get_PrimaryUnitsPrecision(This,Precision)	\
    (This)->lpVtbl -> get_PrimaryUnitsPrecision(This,Precision)

#define IIcadDimAligned_put_PrimaryUnitsPrecision(This,Precision)	\
    (This)->lpVtbl -> put_PrimaryUnitsPrecision(This,Precision)

#define IIcadDimAligned_get_RoundDistance(This,Round)	\
    (This)->lpVtbl -> get_RoundDistance(This,Round)

#define IIcadDimAligned_put_RoundDistance(This,Round)	\
    (This)->lpVtbl -> put_RoundDistance(This,Round)

#define IIcadDimAligned_get_SuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_SuppressZeroInches(This,Supress)

#define IIcadDimAligned_put_SuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_SuppressZeroInches(This,Supress)

#define IIcadDimAligned_get_SuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_SuppressZeroFeet(This,Supress)

#define IIcadDimAligned_put_SuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_SuppressZeroFeet(This,Supress)

#define IIcadDimAligned_get_TextInside(This,Inside)	\
    (This)->lpVtbl -> get_TextInside(This,Inside)

#define IIcadDimAligned_put_TextInside(This,Inside)	\
    (This)->lpVtbl -> put_TextInside(This,Inside)

#define IIcadDimAligned_get_TextInsideAlign(This,Alignment)	\
    (This)->lpVtbl -> get_TextInsideAlign(This,Alignment)

#define IIcadDimAligned_put_TextInsideAlign(This,Alignment)	\
    (This)->lpVtbl -> put_TextInsideAlign(This,Alignment)

#define IIcadDimAligned_get_TextOutsideAlign(This,Alignment)	\
    (This)->lpVtbl -> get_TextOutsideAlign(This,Alignment)

#define IIcadDimAligned_put_TextOutsideAlign(This,Alignment)	\
    (This)->lpVtbl -> put_TextOutsideAlign(This,Alignment)

#define IIcadDimAligned_get_TextPrecision(This,Precision)	\
    (This)->lpVtbl -> get_TextPrecision(This,Precision)

#define IIcadDimAligned_put_TextPrecision(This,Precision)	\
    (This)->lpVtbl -> put_TextPrecision(This,Precision)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_AltRoundDistance_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Round);


void __RPC_STUB IIcadDimAligned_get_AltRoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_AltRoundDistance_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ double Round);


void __RPC_STUB IIcadDimAligned_put_AltRoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_AltSuppressLeadingZeroes_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimAligned_get_AltSuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_AltSuppressLeadingZeroes_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDimAligned_put_AltSuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_AltSuppressTrailingZeroes_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimAligned_get_AltSuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_AltSuppressTrailingZeroes_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimAligned_put_AltSuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_AltSuppressZeroInches_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimAligned_get_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_AltSuppressZeroInches_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimAligned_put_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_AltSuppressZeroFeet_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimAligned_get_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_AltSuppressZeroFeet_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimAligned_put_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_AltTextPrefix_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *PrefixString);


void __RPC_STUB IIcadDimAligned_get_AltTextPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_AltTextPrefix_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ BSTR PrefixString);


void __RPC_STUB IIcadDimAligned_put_AltTextPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_AltTextSuffix_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *SuffixString);


void __RPC_STUB IIcadDimAligned_get_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_AltTextSuffix_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ BSTR SuffixString);


void __RPC_STUB IIcadDimAligned_put_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_AltTolerancePrecision_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ DimPrecision __RPC_FAR *Precision);


void __RPC_STUB IIcadDimAligned_get_AltTolerancePrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_AltTolerancePrecision_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ DimPrecision Precision);


void __RPC_STUB IIcadDimAligned_put_AltTolerancePrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_AltToleranceSuppressLeadingZeroes_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimAligned_get_AltToleranceSuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_AltToleranceSuppressLeadingZeroes_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimAligned_put_AltToleranceSuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_AltToleranceSuppressTrailingZeroes_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimAligned_get_AltToleranceSuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_AltToleranceSuppressTrailingZeroes_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimAligned_put_AltToleranceSuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_AltToleranceSuppressZeroInches_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimAligned_get_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_AltToleranceSuppressZeroInches_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimAligned_put_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_AltToleranceSuppressZeroFeet_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimAligned_get_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_AltToleranceSuppressZeroFeet_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimAligned_put_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_AltUnits_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Enable);


void __RPC_STUB IIcadDimAligned_get_AltUnits_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_AltUnits_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Enable);


void __RPC_STUB IIcadDimAligned_put_AltUnits_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_AltUnitsFormat_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ DimLUnits __RPC_FAR *Units);


void __RPC_STUB IIcadDimAligned_get_AltUnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_AltUnitsFormat_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ DimLUnits Units);


void __RPC_STUB IIcadDimAligned_put_AltUnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_AltUnitsPrecision_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ DimPrecision __RPC_FAR *Precision);


void __RPC_STUB IIcadDimAligned_get_AltUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_AltUnitsPrecision_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ DimPrecision Precision);


void __RPC_STUB IIcadDimAligned_put_AltUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_AltUnitsScale_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Scale);


void __RPC_STUB IIcadDimAligned_get_AltUnitsScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_AltUnitsScale_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ double Scale);


void __RPC_STUB IIcadDimAligned_put_AltUnitsScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_Arrowhead1Block_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *BlockName);


void __RPC_STUB IIcadDimAligned_get_Arrowhead1Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_Arrowhead1Block_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IIcadDimAligned_put_Arrowhead1Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_Arrowhead1Type_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType);


void __RPC_STUB IIcadDimAligned_get_Arrowhead1Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_Arrowhead1Type_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ DimArrowheadType ArrowheadType);


void __RPC_STUB IIcadDimAligned_put_Arrowhead1Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_Arrowhead2Block_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *BlockName);


void __RPC_STUB IIcadDimAligned_get_Arrowhead2Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_Arrowhead2Block_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IIcadDimAligned_put_Arrowhead2Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_Arrowhead2Type_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType);


void __RPC_STUB IIcadDimAligned_get_Arrowhead2Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_Arrowhead2Type_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ DimArrowheadType ArrowheadType);


void __RPC_STUB IIcadDimAligned_put_Arrowhead2Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_DimensionLineColor_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ Colors __RPC_FAR *Color);


void __RPC_STUB IIcadDimAligned_get_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_DimensionLineColor_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ Colors Color);


void __RPC_STUB IIcadDimAligned_put_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_DimensionLineExtend_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *pScaleFactor);


void __RPC_STUB IIcadDimAligned_get_DimensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_DimensionLineExtend_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ double ScaleFactor);


void __RPC_STUB IIcadDimAligned_put_DimensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_DimLine1Suppress_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimAligned_get_DimLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_DimLine1Suppress_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDimAligned_put_DimLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_DimLine2Suppress_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimAligned_get_DimLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_DimLine2Suppress_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDimAligned_put_DimLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_DimLineInside_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);


void __RPC_STUB IIcadDimAligned_get_DimLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_DimLineInside_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Inside);


void __RPC_STUB IIcadDimAligned_put_DimLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_ExtensionLineColor_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ Colors __RPC_FAR *Color);


void __RPC_STUB IIcadDimAligned_get_ExtensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_ExtensionLineColor_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ Colors Color);


void __RPC_STUB IIcadDimAligned_put_ExtensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_ExtensionLineExtend_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Extension);


void __RPC_STUB IIcadDimAligned_get_ExtensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_ExtensionLineExtend_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ double Extension);


void __RPC_STUB IIcadDimAligned_put_ExtensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_ExtLine1Point_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);


void __RPC_STUB IIcadDimAligned_get_ExtLine1Point_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_ExtLine1Point_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point);


void __RPC_STUB IIcadDimAligned_put_ExtLine1Point_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_ExtLine1Suppress_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimAligned_get_ExtLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_ExtLine1Suppress_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDimAligned_put_ExtLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_ExtLine2Point_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);


void __RPC_STUB IIcadDimAligned_get_ExtLine2Point_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_ExtLine2Point_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point);


void __RPC_STUB IIcadDimAligned_put_ExtLine2Point_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_ExtLine2Suppress_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimAligned_get_ExtLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_ExtLine2Suppress_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDimAligned_put_ExtLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_Fit_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ DimFit __RPC_FAR *Fit);


void __RPC_STUB IIcadDimAligned_get_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_Fit_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ DimFit Fit);


void __RPC_STUB IIcadDimAligned_put_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_ForceLineInside_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);


void __RPC_STUB IIcadDimAligned_get_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_ForceLineInside_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Inside);


void __RPC_STUB IIcadDimAligned_put_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_HorizontalTextPosition_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ DimHorizontalJustification __RPC_FAR *Position);


void __RPC_STUB IIcadDimAligned_get_HorizontalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_HorizontalTextPosition_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ DimHorizontalJustification Position);


void __RPC_STUB IIcadDimAligned_put_HorizontalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_FractionFormat_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ DimFractionType __RPC_FAR *Format);


void __RPC_STUB IIcadDimAligned_get_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_FractionFormat_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ DimFractionType Format);


void __RPC_STUB IIcadDimAligned_put_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_LinearScaleFactor_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *ScaleFactor);


void __RPC_STUB IIcadDimAligned_get_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_LinearScaleFactor_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ double ScaleFactor);


void __RPC_STUB IIcadDimAligned_put_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_PrimaryUnitsPrecision_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ DimPrecision __RPC_FAR *Precision);


void __RPC_STUB IIcadDimAligned_get_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_PrimaryUnitsPrecision_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ DimPrecision Precision);


void __RPC_STUB IIcadDimAligned_put_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_RoundDistance_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Round);


void __RPC_STUB IIcadDimAligned_get_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_RoundDistance_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ double Round);


void __RPC_STUB IIcadDimAligned_put_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_SuppressZeroInches_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimAligned_get_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_SuppressZeroInches_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimAligned_put_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_SuppressZeroFeet_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimAligned_get_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_SuppressZeroFeet_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimAligned_put_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_TextInside_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);


void __RPC_STUB IIcadDimAligned_get_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_TextInside_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Inside);


void __RPC_STUB IIcadDimAligned_put_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_TextInsideAlign_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);


void __RPC_STUB IIcadDimAligned_get_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_TextInsideAlign_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Alignment);


void __RPC_STUB IIcadDimAligned_put_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_TextOutsideAlign_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);


void __RPC_STUB IIcadDimAligned_get_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_TextOutsideAlign_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Alignment);


void __RPC_STUB IIcadDimAligned_put_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_get_TextPrecision_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [retval][out] */ DimPrecision __RPC_FAR *Precision);


void __RPC_STUB IIcadDimAligned_get_TextPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimAligned_put_TextPrecision_Proxy( 
    IIcadDimAligned __RPC_FAR * This,
    /* [in] */ DimPrecision Precision);


void __RPC_STUB IIcadDimAligned_put_TextPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadDimAligned_INTERFACE_DEFINED__ */


#ifndef __IIcadDimDiametric_INTERFACE_DEFINED__
#define __IIcadDimDiametric_INTERFACE_DEFINED__

/* interface IIcadDimDiametric */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadDimDiametric;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c186-7e36-11d1-bc5a-0060089608a4")
    IIcadDimDiametric : public IIcadDimension
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltRoundDistance( 
            /* [retval][out] */ double __RPC_FAR *Round) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltRoundDistance( 
            /* [in] */ double Round) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressLeadingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressLeadingZeroes( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressTrailingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressTrailingZeroes( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextPrefix( 
            /* [retval][out] */ BSTR __RPC_FAR *PrefixString) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltTextPrefix( 
            /* [in] */ BSTR PrefixString) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextSuffix( 
            /* [retval][out] */ BSTR __RPC_FAR *SuffixString) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltTextSuffix( 
            /* [in] */ BSTR SuffixString) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltTolerancePrecision( 
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltTolerancePrecision( 
            /* [in] */ DimPrecision Precision) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressLeadingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressLeadingZeroes( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressTrailingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressTrailingZeroes( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnits( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Enable) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltUnits( 
            /* [in] */ VARIANT_BOOL Enable) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsFormat( 
            /* [retval][out] */ DimLUnits __RPC_FAR *Units) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsFormat( 
            /* [in] */ DimLUnits Units) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsPrecision( 
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsPrecision( 
            /* [in] */ DimPrecision Precision) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsScale( 
            /* [retval][out] */ double __RPC_FAR *Scale) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsScale( 
            /* [in] */ double Scale) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead1Block( 
            /* [retval][out] */ BSTR __RPC_FAR *BlockName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead1Block( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead1Type( 
            /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead1Type( 
            /* [in] */ DimArrowheadType ArrowheadType) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead2Block( 
            /* [retval][out] */ BSTR __RPC_FAR *BlockName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead2Block( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead2Type( 
            /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead2Type( 
            /* [in] */ DimArrowheadType ArrowheadType) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CenterMarkSize( 
            /* [retval][out] */ double __RPC_FAR *Size) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CenterMarkSize( 
            /* [in] */ double Size) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CenterType( 
            /* [retval][out] */ DimCenterType __RPC_FAR *Type) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CenterType( 
            /* [in] */ DimCenterType Type) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineColor( 
            /* [retval][out] */ Colors __RPC_FAR *Color) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineColor( 
            /* [in] */ Colors Color) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimLine1Suppress( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimLine1Suppress( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimLine2Suppress( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimLine2Suppress( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Fit( 
            /* [retval][out] */ DimFit __RPC_FAR *Fit) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Fit( 
            /* [in] */ DimFit Fit) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ForceLineInside( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ForceLineInside( 
            /* [in] */ VARIANT_BOOL Inside) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FractionFormat( 
            /* [retval][out] */ DimFractionType __RPC_FAR *Format) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FractionFormat( 
            /* [in] */ DimFractionType Format) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_HorizontalTextPosition( 
            /* [retval][out] */ DimHorizontalJustification __RPC_FAR *Position) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HorizontalTextPosition( 
            /* [in] */ DimHorizontalJustification Position) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LeaderLength( 
            /* [retval][out] */ double __RPC_FAR *LeaderLength) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LeaderLength( 
            /* [in] */ double LeaderLength) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LinearScaleFactor( 
            /* [retval][out] */ double __RPC_FAR *ScaleFactor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LinearScaleFactor( 
            /* [in] */ double ScaleFactor) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PrimaryUnitsPrecision( 
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PrimaryUnitsPrecision( 
            /* [in] */ DimPrecision Precision) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RoundDistance( 
            /* [retval][out] */ double __RPC_FAR *Round) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RoundDistance( 
            /* [in] */ double Round) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroInches( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextInside( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextInside( 
            /* [in] */ VARIANT_BOOL Inside) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextInsideAlign( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextInsideAlign( 
            /* [in] */ VARIANT_BOOL Alignment) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextOutsideAlign( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextOutsideAlign( 
            /* [in] */ VARIANT_BOOL Alignment) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextPrecision( 
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextPrecision( 
            /* [in] */ DimPrecision Precision) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadDimDiametricVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadDimDiametric __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadDimDiametric __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadDimDiametric __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadDimDiametric __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadDimDiametric __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ArrowheadSize )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *ArrowheadSize);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ArrowheadSize )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ double ArrowheadSize);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DecimalSeparator )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *DecimalSeparator);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DecimalSeparator )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ BSTR DecimalSeparator);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtensionLineOffset )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Offset);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtensionLineOffset )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ double Offset);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Measurement )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Measurement )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ double Value);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ppExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rotation )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Rotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rotation )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ScaleFactor )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *ScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ScaleFactor )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StyleName )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *StyleName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StyleName )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ BSTR StyleName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressLeadingZeroes )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressLeadingZeroes )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressTrailingZeroes )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressTrailingZeroes )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextColor )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *Color);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextColor )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextGap )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Gap);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextGap )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ double Gap);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextHeight )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Height);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextHeight )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ double Height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextMovement )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ DimTextMovement __RPC_FAR *Movement);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextMovement )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ DimTextMovement Movement);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextPosition )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Position);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextPosition )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Position);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextOverride )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *String);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextOverride )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ BSTR String);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextPrefix )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *PrefixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextPrefix )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ BSTR PrefixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextString )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *String);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextString )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ BSTR String);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextRotation )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Rotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextRotation )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextStyle )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *StyleName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextStyle )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ BSTR StyleName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextSuffix )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *SuffixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextSuffix )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ BSTR SuffixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceDisplay )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ DimToleranceMethod __RPC_FAR *TolDisplay);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceDisplay )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ DimToleranceMethod TolDisplay);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceHeightScale )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *HeightScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceHeightScale )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ double HeightScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceJustification )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ DimToleranceJustify __RPC_FAR *TolJustify);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceJustification )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ DimToleranceJustify TolJustify);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceLowerLimit )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Limit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceLowerLimit )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ double Limit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressLeadingZeroes )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressLeadingZeroes )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressTrailingZeroes )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressTrailingZeroes )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressZeroInches )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressZeroInches )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressZeroFeet )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressZeroFeet )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceUpperLimit )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Limit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceUpperLimit )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ double Limit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TolerancePrecision )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TolerancePrecision )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UnitsFormat )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ DimLUnits __RPC_FAR *Units);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_UnitsFormat )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ DimLUnits Units);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VerticalTextPosition )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ DimVerticalJustification __RPC_FAR *Position);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VerticalTextPosition )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ DimVerticalJustification Position);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltRoundDistance )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Round);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltRoundDistance )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ double Round);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltSuppressLeadingZeroes )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltSuppressLeadingZeroes )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltSuppressTrailingZeroes )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltSuppressTrailingZeroes )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltSuppressZeroInches )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltSuppressZeroInches )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltSuppressZeroFeet )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltSuppressZeroFeet )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltTextPrefix )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *PrefixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltTextPrefix )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ BSTR PrefixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltTextSuffix )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *SuffixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltTextSuffix )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ BSTR SuffixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltTolerancePrecision )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltTolerancePrecision )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltToleranceSuppressLeadingZeroes )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltToleranceSuppressLeadingZeroes )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltToleranceSuppressTrailingZeroes )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltToleranceSuppressTrailingZeroes )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltToleranceSuppressZeroInches )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltToleranceSuppressZeroInches )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltToleranceSuppressZeroFeet )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltToleranceSuppressZeroFeet )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltUnits )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Enable);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltUnits )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Enable);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltUnitsFormat )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ DimLUnits __RPC_FAR *Units);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltUnitsFormat )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ DimLUnits Units);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltUnitsPrecision )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltUnitsPrecision )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltUnitsScale )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Scale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltUnitsScale )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ double Scale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Arrowhead1Block )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *BlockName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Arrowhead1Block )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Arrowhead1Type )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Arrowhead1Type )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ DimArrowheadType ArrowheadType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Arrowhead2Block )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *BlockName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Arrowhead2Block )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Arrowhead2Type )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Arrowhead2Type )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ DimArrowheadType ArrowheadType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CenterMarkSize )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Size);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CenterMarkSize )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ double Size);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CenterType )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ DimCenterType __RPC_FAR *Type);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CenterType )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ DimCenterType Type);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimensionLineColor )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *Color);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimensionLineColor )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimLine1Suppress )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimLine1Suppress )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimLine2Suppress )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimLine2Suppress )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Fit )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ DimFit __RPC_FAR *Fit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Fit )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ DimFit Fit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ForceLineInside )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ForceLineInside )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Inside);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FractionFormat )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ DimFractionType __RPC_FAR *Format);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_FractionFormat )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ DimFractionType Format);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HorizontalTextPosition )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ DimHorizontalJustification __RPC_FAR *Position);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_HorizontalTextPosition )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ DimHorizontalJustification Position);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LeaderLength )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LeaderLength);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LeaderLength )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ double LeaderLength);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinearScaleFactor )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *ScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinearScaleFactor )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PrimaryUnitsPrecision )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PrimaryUnitsPrecision )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RoundDistance )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Round);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RoundDistance )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ double Round);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressZeroInches )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressZeroInches )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressZeroFeet )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressZeroFeet )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextInside )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextInside )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Inside);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextInsideAlign )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextInsideAlign )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Alignment);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextOutsideAlign )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextOutsideAlign )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Alignment);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextPrecision )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextPrecision )( 
            IIcadDimDiametric __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        END_INTERFACE
    } IIcadDimDiametricVtbl;

    interface IIcadDimDiametric
    {
        CONST_VTBL struct IIcadDimDiametricVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadDimDiametric_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadDimDiametric_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadDimDiametric_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadDimDiametric_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadDimDiametric_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadDimDiametric_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadDimDiametric_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadDimDiametric_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadDimDiametric_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadDimDiametric_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadDimDiametric_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadDimDiametric__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadDimDiametric_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadDimDiametric_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadDimDiametric_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadDimDiametric_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadDimDiametric_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadDimDiametric_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadDimDiametric_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadDimDiametric_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadDimDiametric_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadDimDiametric_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadDimDiametric_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadDimDiametric_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadDimDiametric_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadDimDiametric_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadDimDiametric_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadDimDiametric_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadDimDiametric_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadDimDiametric_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadDimDiametric_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadDimDiametric_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadDimDiametric_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadDimDiametric_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadDimDiametric_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadDimDiametric_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadDimDiametric_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadDimDiametric_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadDimDiametric_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadDimDiametric_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadDimDiametric_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadDimDiametric_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadDimDiametric_get_ArrowheadSize(This,ArrowheadSize)	\
    (This)->lpVtbl -> get_ArrowheadSize(This,ArrowheadSize)

#define IIcadDimDiametric_put_ArrowheadSize(This,ArrowheadSize)	\
    (This)->lpVtbl -> put_ArrowheadSize(This,ArrowheadSize)

#define IIcadDimDiametric_get_DecimalSeparator(This,DecimalSeparator)	\
    (This)->lpVtbl -> get_DecimalSeparator(This,DecimalSeparator)

#define IIcadDimDiametric_put_DecimalSeparator(This,DecimalSeparator)	\
    (This)->lpVtbl -> put_DecimalSeparator(This,DecimalSeparator)

#define IIcadDimDiametric_get_ExtensionLineOffset(This,Offset)	\
    (This)->lpVtbl -> get_ExtensionLineOffset(This,Offset)

#define IIcadDimDiametric_put_ExtensionLineOffset(This,Offset)	\
    (This)->lpVtbl -> put_ExtensionLineOffset(This,Offset)

#define IIcadDimDiametric_get_Measurement(This,Value)	\
    (This)->lpVtbl -> get_Measurement(This,Value)

#define IIcadDimDiametric_put_Measurement(This,Value)	\
    (This)->lpVtbl -> put_Measurement(This,Value)

#define IIcadDimDiametric_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadDimDiametric_put_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ppExtrusionDirection)

#define IIcadDimDiametric_get_Rotation(This,Rotation)	\
    (This)->lpVtbl -> get_Rotation(This,Rotation)

#define IIcadDimDiametric_put_Rotation(This,Rotation)	\
    (This)->lpVtbl -> put_Rotation(This,Rotation)

#define IIcadDimDiametric_get_ScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> get_ScaleFactor(This,ScaleFactor)

#define IIcadDimDiametric_put_ScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> put_ScaleFactor(This,ScaleFactor)

#define IIcadDimDiametric_get_StyleName(This,StyleName)	\
    (This)->lpVtbl -> get_StyleName(This,StyleName)

#define IIcadDimDiametric_put_StyleName(This,StyleName)	\
    (This)->lpVtbl -> put_StyleName(This,StyleName)

#define IIcadDimDiametric_get_SuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_SuppressLeadingZeroes(This,Supress)

#define IIcadDimDiametric_put_SuppressLeadingZeroes(This,Suppress)	\
    (This)->lpVtbl -> put_SuppressLeadingZeroes(This,Suppress)

#define IIcadDimDiametric_get_SuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_SuppressTrailingZeroes(This,Supress)

#define IIcadDimDiametric_put_SuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_SuppressTrailingZeroes(This,Supress)

#define IIcadDimDiametric_get_TextColor(This,Color)	\
    (This)->lpVtbl -> get_TextColor(This,Color)

#define IIcadDimDiametric_put_TextColor(This,Color)	\
    (This)->lpVtbl -> put_TextColor(This,Color)

#define IIcadDimDiametric_get_TextGap(This,Gap)	\
    (This)->lpVtbl -> get_TextGap(This,Gap)

#define IIcadDimDiametric_put_TextGap(This,Gap)	\
    (This)->lpVtbl -> put_TextGap(This,Gap)

#define IIcadDimDiametric_get_TextHeight(This,Height)	\
    (This)->lpVtbl -> get_TextHeight(This,Height)

#define IIcadDimDiametric_put_TextHeight(This,Height)	\
    (This)->lpVtbl -> put_TextHeight(This,Height)

#define IIcadDimDiametric_get_TextMovement(This,Movement)	\
    (This)->lpVtbl -> get_TextMovement(This,Movement)

#define IIcadDimDiametric_put_TextMovement(This,Movement)	\
    (This)->lpVtbl -> put_TextMovement(This,Movement)

#define IIcadDimDiametric_get_TextPosition(This,Position)	\
    (This)->lpVtbl -> get_TextPosition(This,Position)

#define IIcadDimDiametric_put_TextPosition(This,Position)	\
    (This)->lpVtbl -> put_TextPosition(This,Position)

#define IIcadDimDiametric_get_TextOverride(This,String)	\
    (This)->lpVtbl -> get_TextOverride(This,String)

#define IIcadDimDiametric_put_TextOverride(This,String)	\
    (This)->lpVtbl -> put_TextOverride(This,String)

#define IIcadDimDiametric_get_TextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> get_TextPrefix(This,PrefixString)

#define IIcadDimDiametric_put_TextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> put_TextPrefix(This,PrefixString)

#define IIcadDimDiametric_get_TextString(This,String)	\
    (This)->lpVtbl -> get_TextString(This,String)

#define IIcadDimDiametric_put_TextString(This,String)	\
    (This)->lpVtbl -> put_TextString(This,String)

#define IIcadDimDiametric_get_TextRotation(This,Rotation)	\
    (This)->lpVtbl -> get_TextRotation(This,Rotation)

#define IIcadDimDiametric_put_TextRotation(This,Rotation)	\
    (This)->lpVtbl -> put_TextRotation(This,Rotation)

#define IIcadDimDiametric_get_TextStyle(This,StyleName)	\
    (This)->lpVtbl -> get_TextStyle(This,StyleName)

#define IIcadDimDiametric_put_TextStyle(This,StyleName)	\
    (This)->lpVtbl -> put_TextStyle(This,StyleName)

#define IIcadDimDiametric_get_TextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> get_TextSuffix(This,SuffixString)

#define IIcadDimDiametric_put_TextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> put_TextSuffix(This,SuffixString)

#define IIcadDimDiametric_get_ToleranceDisplay(This,TolDisplay)	\
    (This)->lpVtbl -> get_ToleranceDisplay(This,TolDisplay)

#define IIcadDimDiametric_put_ToleranceDisplay(This,TolDisplay)	\
    (This)->lpVtbl -> put_ToleranceDisplay(This,TolDisplay)

#define IIcadDimDiametric_get_ToleranceHeightScale(This,HeightScale)	\
    (This)->lpVtbl -> get_ToleranceHeightScale(This,HeightScale)

#define IIcadDimDiametric_put_ToleranceHeightScale(This,HeightScale)	\
    (This)->lpVtbl -> put_ToleranceHeightScale(This,HeightScale)

#define IIcadDimDiametric_get_ToleranceJustification(This,TolJustify)	\
    (This)->lpVtbl -> get_ToleranceJustification(This,TolJustify)

#define IIcadDimDiametric_put_ToleranceJustification(This,TolJustify)	\
    (This)->lpVtbl -> put_ToleranceJustification(This,TolJustify)

#define IIcadDimDiametric_get_ToleranceLowerLimit(This,Limit)	\
    (This)->lpVtbl -> get_ToleranceLowerLimit(This,Limit)

#define IIcadDimDiametric_put_ToleranceLowerLimit(This,Limit)	\
    (This)->lpVtbl -> put_ToleranceLowerLimit(This,Limit)

#define IIcadDimDiametric_get_ToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimDiametric_put_ToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimDiametric_get_ToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimDiametric_put_ToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimDiametric_get_ToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressZeroInches(This,Supress)

#define IIcadDimDiametric_put_ToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressZeroInches(This,Supress)

#define IIcadDimDiametric_get_ToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimDiametric_put_ToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimDiametric_get_ToleranceUpperLimit(This,Limit)	\
    (This)->lpVtbl -> get_ToleranceUpperLimit(This,Limit)

#define IIcadDimDiametric_put_ToleranceUpperLimit(This,Limit)	\
    (This)->lpVtbl -> put_ToleranceUpperLimit(This,Limit)

#define IIcadDimDiametric_get_TolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> get_TolerancePrecision(This,Precision)

#define IIcadDimDiametric_put_TolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> put_TolerancePrecision(This,Precision)

#define IIcadDimDiametric_get_UnitsFormat(This,Units)	\
    (This)->lpVtbl -> get_UnitsFormat(This,Units)

#define IIcadDimDiametric_put_UnitsFormat(This,Units)	\
    (This)->lpVtbl -> put_UnitsFormat(This,Units)

#define IIcadDimDiametric_get_VerticalTextPosition(This,Position)	\
    (This)->lpVtbl -> get_VerticalTextPosition(This,Position)

#define IIcadDimDiametric_put_VerticalTextPosition(This,Position)	\
    (This)->lpVtbl -> put_VerticalTextPosition(This,Position)


#define IIcadDimDiametric_get_AltRoundDistance(This,Round)	\
    (This)->lpVtbl -> get_AltRoundDistance(This,Round)

#define IIcadDimDiametric_put_AltRoundDistance(This,Round)	\
    (This)->lpVtbl -> put_AltRoundDistance(This,Round)

#define IIcadDimDiametric_get_AltSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_AltSuppressLeadingZeroes(This,Supress)

#define IIcadDimDiametric_put_AltSuppressLeadingZeroes(This,Suppress)	\
    (This)->lpVtbl -> put_AltSuppressLeadingZeroes(This,Suppress)

#define IIcadDimDiametric_get_AltSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_AltSuppressTrailingZeroes(This,Supress)

#define IIcadDimDiametric_put_AltSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_AltSuppressTrailingZeroes(This,Supress)

#define IIcadDimDiametric_get_AltSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_AltSuppressZeroInches(This,Supress)

#define IIcadDimDiametric_put_AltSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_AltSuppressZeroInches(This,Supress)

#define IIcadDimDiametric_get_AltSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_AltSuppressZeroFeet(This,Supress)

#define IIcadDimDiametric_put_AltSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_AltSuppressZeroFeet(This,Supress)

#define IIcadDimDiametric_get_AltTextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> get_AltTextPrefix(This,PrefixString)

#define IIcadDimDiametric_put_AltTextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> put_AltTextPrefix(This,PrefixString)

#define IIcadDimDiametric_get_AltTextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> get_AltTextSuffix(This,SuffixString)

#define IIcadDimDiametric_put_AltTextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> put_AltTextSuffix(This,SuffixString)

#define IIcadDimDiametric_get_AltTolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> get_AltTolerancePrecision(This,Precision)

#define IIcadDimDiametric_put_AltTolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> put_AltTolerancePrecision(This,Precision)

#define IIcadDimDiametric_get_AltToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_AltToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimDiametric_put_AltToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_AltToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimDiametric_get_AltToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_AltToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimDiametric_put_AltToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_AltToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimDiametric_get_AltToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_AltToleranceSuppressZeroInches(This,Supress)

#define IIcadDimDiametric_put_AltToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_AltToleranceSuppressZeroInches(This,Supress)

#define IIcadDimDiametric_get_AltToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_AltToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimDiametric_put_AltToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_AltToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimDiametric_get_AltUnits(This,Enable)	\
    (This)->lpVtbl -> get_AltUnits(This,Enable)

#define IIcadDimDiametric_put_AltUnits(This,Enable)	\
    (This)->lpVtbl -> put_AltUnits(This,Enable)

#define IIcadDimDiametric_get_AltUnitsFormat(This,Units)	\
    (This)->lpVtbl -> get_AltUnitsFormat(This,Units)

#define IIcadDimDiametric_put_AltUnitsFormat(This,Units)	\
    (This)->lpVtbl -> put_AltUnitsFormat(This,Units)

#define IIcadDimDiametric_get_AltUnitsPrecision(This,Precision)	\
    (This)->lpVtbl -> get_AltUnitsPrecision(This,Precision)

#define IIcadDimDiametric_put_AltUnitsPrecision(This,Precision)	\
    (This)->lpVtbl -> put_AltUnitsPrecision(This,Precision)

#define IIcadDimDiametric_get_AltUnitsScale(This,Scale)	\
    (This)->lpVtbl -> get_AltUnitsScale(This,Scale)

#define IIcadDimDiametric_put_AltUnitsScale(This,Scale)	\
    (This)->lpVtbl -> put_AltUnitsScale(This,Scale)

#define IIcadDimDiametric_get_Arrowhead1Block(This,BlockName)	\
    (This)->lpVtbl -> get_Arrowhead1Block(This,BlockName)

#define IIcadDimDiametric_put_Arrowhead1Block(This,BlockName)	\
    (This)->lpVtbl -> put_Arrowhead1Block(This,BlockName)

#define IIcadDimDiametric_get_Arrowhead1Type(This,ArrowheadType)	\
    (This)->lpVtbl -> get_Arrowhead1Type(This,ArrowheadType)

#define IIcadDimDiametric_put_Arrowhead1Type(This,ArrowheadType)	\
    (This)->lpVtbl -> put_Arrowhead1Type(This,ArrowheadType)

#define IIcadDimDiametric_get_Arrowhead2Block(This,BlockName)	\
    (This)->lpVtbl -> get_Arrowhead2Block(This,BlockName)

#define IIcadDimDiametric_put_Arrowhead2Block(This,BlockName)	\
    (This)->lpVtbl -> put_Arrowhead2Block(This,BlockName)

#define IIcadDimDiametric_get_Arrowhead2Type(This,ArrowheadType)	\
    (This)->lpVtbl -> get_Arrowhead2Type(This,ArrowheadType)

#define IIcadDimDiametric_put_Arrowhead2Type(This,ArrowheadType)	\
    (This)->lpVtbl -> put_Arrowhead2Type(This,ArrowheadType)

#define IIcadDimDiametric_get_CenterMarkSize(This,Size)	\
    (This)->lpVtbl -> get_CenterMarkSize(This,Size)

#define IIcadDimDiametric_put_CenterMarkSize(This,Size)	\
    (This)->lpVtbl -> put_CenterMarkSize(This,Size)

#define IIcadDimDiametric_get_CenterType(This,Type)	\
    (This)->lpVtbl -> get_CenterType(This,Type)

#define IIcadDimDiametric_put_CenterType(This,Type)	\
    (This)->lpVtbl -> put_CenterType(This,Type)

#define IIcadDimDiametric_get_DimensionLineColor(This,Color)	\
    (This)->lpVtbl -> get_DimensionLineColor(This,Color)

#define IIcadDimDiametric_put_DimensionLineColor(This,Color)	\
    (This)->lpVtbl -> put_DimensionLineColor(This,Color)

#define IIcadDimDiametric_get_DimLine1Suppress(This,Supress)	\
    (This)->lpVtbl -> get_DimLine1Suppress(This,Supress)

#define IIcadDimDiametric_put_DimLine1Suppress(This,Suppress)	\
    (This)->lpVtbl -> put_DimLine1Suppress(This,Suppress)

#define IIcadDimDiametric_get_DimLine2Suppress(This,Supress)	\
    (This)->lpVtbl -> get_DimLine2Suppress(This,Supress)

#define IIcadDimDiametric_put_DimLine2Suppress(This,Suppress)	\
    (This)->lpVtbl -> put_DimLine2Suppress(This,Suppress)

#define IIcadDimDiametric_get_Fit(This,Fit)	\
    (This)->lpVtbl -> get_Fit(This,Fit)

#define IIcadDimDiametric_put_Fit(This,Fit)	\
    (This)->lpVtbl -> put_Fit(This,Fit)

#define IIcadDimDiametric_get_ForceLineInside(This,Inside)	\
    (This)->lpVtbl -> get_ForceLineInside(This,Inside)

#define IIcadDimDiametric_put_ForceLineInside(This,Inside)	\
    (This)->lpVtbl -> put_ForceLineInside(This,Inside)

#define IIcadDimDiametric_get_FractionFormat(This,Format)	\
    (This)->lpVtbl -> get_FractionFormat(This,Format)

#define IIcadDimDiametric_put_FractionFormat(This,Format)	\
    (This)->lpVtbl -> put_FractionFormat(This,Format)

#define IIcadDimDiametric_get_HorizontalTextPosition(This,Position)	\
    (This)->lpVtbl -> get_HorizontalTextPosition(This,Position)

#define IIcadDimDiametric_put_HorizontalTextPosition(This,Position)	\
    (This)->lpVtbl -> put_HorizontalTextPosition(This,Position)

#define IIcadDimDiametric_get_LeaderLength(This,LeaderLength)	\
    (This)->lpVtbl -> get_LeaderLength(This,LeaderLength)

#define IIcadDimDiametric_put_LeaderLength(This,LeaderLength)	\
    (This)->lpVtbl -> put_LeaderLength(This,LeaderLength)

#define IIcadDimDiametric_get_LinearScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> get_LinearScaleFactor(This,ScaleFactor)

#define IIcadDimDiametric_put_LinearScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> put_LinearScaleFactor(This,ScaleFactor)

#define IIcadDimDiametric_get_PrimaryUnitsPrecision(This,Precision)	\
    (This)->lpVtbl -> get_PrimaryUnitsPrecision(This,Precision)

#define IIcadDimDiametric_put_PrimaryUnitsPrecision(This,Precision)	\
    (This)->lpVtbl -> put_PrimaryUnitsPrecision(This,Precision)

#define IIcadDimDiametric_get_RoundDistance(This,Round)	\
    (This)->lpVtbl -> get_RoundDistance(This,Round)

#define IIcadDimDiametric_put_RoundDistance(This,Round)	\
    (This)->lpVtbl -> put_RoundDistance(This,Round)

#define IIcadDimDiametric_get_SuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_SuppressZeroInches(This,Supress)

#define IIcadDimDiametric_put_SuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_SuppressZeroInches(This,Supress)

#define IIcadDimDiametric_get_SuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_SuppressZeroFeet(This,Supress)

#define IIcadDimDiametric_put_SuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_SuppressZeroFeet(This,Supress)

#define IIcadDimDiametric_get_TextInside(This,Inside)	\
    (This)->lpVtbl -> get_TextInside(This,Inside)

#define IIcadDimDiametric_put_TextInside(This,Inside)	\
    (This)->lpVtbl -> put_TextInside(This,Inside)

#define IIcadDimDiametric_get_TextInsideAlign(This,Alignment)	\
    (This)->lpVtbl -> get_TextInsideAlign(This,Alignment)

#define IIcadDimDiametric_put_TextInsideAlign(This,Alignment)	\
    (This)->lpVtbl -> put_TextInsideAlign(This,Alignment)

#define IIcadDimDiametric_get_TextOutsideAlign(This,Alignment)	\
    (This)->lpVtbl -> get_TextOutsideAlign(This,Alignment)

#define IIcadDimDiametric_put_TextOutsideAlign(This,Alignment)	\
    (This)->lpVtbl -> put_TextOutsideAlign(This,Alignment)

#define IIcadDimDiametric_get_TextPrecision(This,Precision)	\
    (This)->lpVtbl -> get_TextPrecision(This,Precision)

#define IIcadDimDiametric_put_TextPrecision(This,Precision)	\
    (This)->lpVtbl -> put_TextPrecision(This,Precision)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_AltRoundDistance_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Round);


void __RPC_STUB IIcadDimDiametric_get_AltRoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_AltRoundDistance_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ double Round);


void __RPC_STUB IIcadDimDiametric_put_AltRoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_AltSuppressLeadingZeroes_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimDiametric_get_AltSuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_AltSuppressLeadingZeroes_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDimDiametric_put_AltSuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_AltSuppressTrailingZeroes_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimDiametric_get_AltSuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_AltSuppressTrailingZeroes_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimDiametric_put_AltSuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_AltSuppressZeroInches_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimDiametric_get_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_AltSuppressZeroInches_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimDiametric_put_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_AltSuppressZeroFeet_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimDiametric_get_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_AltSuppressZeroFeet_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimDiametric_put_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_AltTextPrefix_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *PrefixString);


void __RPC_STUB IIcadDimDiametric_get_AltTextPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_AltTextPrefix_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ BSTR PrefixString);


void __RPC_STUB IIcadDimDiametric_put_AltTextPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_AltTextSuffix_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *SuffixString);


void __RPC_STUB IIcadDimDiametric_get_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_AltTextSuffix_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ BSTR SuffixString);


void __RPC_STUB IIcadDimDiametric_put_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_AltTolerancePrecision_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ DimPrecision __RPC_FAR *Precision);


void __RPC_STUB IIcadDimDiametric_get_AltTolerancePrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_AltTolerancePrecision_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ DimPrecision Precision);


void __RPC_STUB IIcadDimDiametric_put_AltTolerancePrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_AltToleranceSuppressLeadingZeroes_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimDiametric_get_AltToleranceSuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_AltToleranceSuppressLeadingZeroes_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimDiametric_put_AltToleranceSuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_AltToleranceSuppressTrailingZeroes_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimDiametric_get_AltToleranceSuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_AltToleranceSuppressTrailingZeroes_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimDiametric_put_AltToleranceSuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_AltToleranceSuppressZeroInches_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimDiametric_get_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_AltToleranceSuppressZeroInches_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimDiametric_put_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_AltToleranceSuppressZeroFeet_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimDiametric_get_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_AltToleranceSuppressZeroFeet_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimDiametric_put_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_AltUnits_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Enable);


void __RPC_STUB IIcadDimDiametric_get_AltUnits_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_AltUnits_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Enable);


void __RPC_STUB IIcadDimDiametric_put_AltUnits_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_AltUnitsFormat_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ DimLUnits __RPC_FAR *Units);


void __RPC_STUB IIcadDimDiametric_get_AltUnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_AltUnitsFormat_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ DimLUnits Units);


void __RPC_STUB IIcadDimDiametric_put_AltUnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_AltUnitsPrecision_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ DimPrecision __RPC_FAR *Precision);


void __RPC_STUB IIcadDimDiametric_get_AltUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_AltUnitsPrecision_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ DimPrecision Precision);


void __RPC_STUB IIcadDimDiametric_put_AltUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_AltUnitsScale_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Scale);


void __RPC_STUB IIcadDimDiametric_get_AltUnitsScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_AltUnitsScale_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ double Scale);


void __RPC_STUB IIcadDimDiametric_put_AltUnitsScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_Arrowhead1Block_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *BlockName);


void __RPC_STUB IIcadDimDiametric_get_Arrowhead1Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_Arrowhead1Block_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IIcadDimDiametric_put_Arrowhead1Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_Arrowhead1Type_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType);


void __RPC_STUB IIcadDimDiametric_get_Arrowhead1Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_Arrowhead1Type_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ DimArrowheadType ArrowheadType);


void __RPC_STUB IIcadDimDiametric_put_Arrowhead1Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_Arrowhead2Block_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *BlockName);


void __RPC_STUB IIcadDimDiametric_get_Arrowhead2Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_Arrowhead2Block_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IIcadDimDiametric_put_Arrowhead2Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_Arrowhead2Type_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType);


void __RPC_STUB IIcadDimDiametric_get_Arrowhead2Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_Arrowhead2Type_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ DimArrowheadType ArrowheadType);


void __RPC_STUB IIcadDimDiametric_put_Arrowhead2Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_CenterMarkSize_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Size);


void __RPC_STUB IIcadDimDiametric_get_CenterMarkSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_CenterMarkSize_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ double Size);


void __RPC_STUB IIcadDimDiametric_put_CenterMarkSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_CenterType_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ DimCenterType __RPC_FAR *Type);


void __RPC_STUB IIcadDimDiametric_get_CenterType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_CenterType_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ DimCenterType Type);


void __RPC_STUB IIcadDimDiametric_put_CenterType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_DimensionLineColor_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ Colors __RPC_FAR *Color);


void __RPC_STUB IIcadDimDiametric_get_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_DimensionLineColor_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ Colors Color);


void __RPC_STUB IIcadDimDiametric_put_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_DimLine1Suppress_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimDiametric_get_DimLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_DimLine1Suppress_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDimDiametric_put_DimLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_DimLine2Suppress_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimDiametric_get_DimLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_DimLine2Suppress_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDimDiametric_put_DimLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_Fit_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ DimFit __RPC_FAR *Fit);


void __RPC_STUB IIcadDimDiametric_get_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_Fit_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ DimFit Fit);


void __RPC_STUB IIcadDimDiametric_put_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_ForceLineInside_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);


void __RPC_STUB IIcadDimDiametric_get_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_ForceLineInside_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Inside);


void __RPC_STUB IIcadDimDiametric_put_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_FractionFormat_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ DimFractionType __RPC_FAR *Format);


void __RPC_STUB IIcadDimDiametric_get_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_FractionFormat_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ DimFractionType Format);


void __RPC_STUB IIcadDimDiametric_put_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_HorizontalTextPosition_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ DimHorizontalJustification __RPC_FAR *Position);


void __RPC_STUB IIcadDimDiametric_get_HorizontalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_HorizontalTextPosition_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ DimHorizontalJustification Position);


void __RPC_STUB IIcadDimDiametric_put_HorizontalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_LeaderLength_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *LeaderLength);


void __RPC_STUB IIcadDimDiametric_get_LeaderLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_LeaderLength_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ double LeaderLength);


void __RPC_STUB IIcadDimDiametric_put_LeaderLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_LinearScaleFactor_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *ScaleFactor);


void __RPC_STUB IIcadDimDiametric_get_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_LinearScaleFactor_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ double ScaleFactor);


void __RPC_STUB IIcadDimDiametric_put_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_PrimaryUnitsPrecision_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ DimPrecision __RPC_FAR *Precision);


void __RPC_STUB IIcadDimDiametric_get_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_PrimaryUnitsPrecision_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ DimPrecision Precision);


void __RPC_STUB IIcadDimDiametric_put_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_RoundDistance_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Round);


void __RPC_STUB IIcadDimDiametric_get_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_RoundDistance_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ double Round);


void __RPC_STUB IIcadDimDiametric_put_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_SuppressZeroInches_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimDiametric_get_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_SuppressZeroInches_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimDiametric_put_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_SuppressZeroFeet_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimDiametric_get_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_SuppressZeroFeet_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimDiametric_put_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_TextInside_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);


void __RPC_STUB IIcadDimDiametric_get_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_TextInside_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Inside);


void __RPC_STUB IIcadDimDiametric_put_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_TextInsideAlign_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);


void __RPC_STUB IIcadDimDiametric_get_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_TextInsideAlign_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Alignment);


void __RPC_STUB IIcadDimDiametric_put_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_TextOutsideAlign_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);


void __RPC_STUB IIcadDimDiametric_get_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_TextOutsideAlign_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Alignment);


void __RPC_STUB IIcadDimDiametric_put_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_get_TextPrecision_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [retval][out] */ DimPrecision __RPC_FAR *Precision);


void __RPC_STUB IIcadDimDiametric_get_TextPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimDiametric_put_TextPrecision_Proxy( 
    IIcadDimDiametric __RPC_FAR * This,
    /* [in] */ DimPrecision Precision);


void __RPC_STUB IIcadDimDiametric_put_TextPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadDimDiametric_INTERFACE_DEFINED__ */


#ifndef __IIcadDimOrdinate_INTERFACE_DEFINED__
#define __IIcadDimOrdinate_INTERFACE_DEFINED__

/* interface IIcadDimOrdinate */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadDimOrdinate;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c187-7e36-11d1-bc5a-0060089608a4")
    IIcadDimOrdinate : public IIcadDimension
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltRoundDistance( 
            /* [retval][out] */ double __RPC_FAR *Round) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltRoundDistance( 
            /* [in] */ double Round) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressLeadingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressLeadingZeroes( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressTrailingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressTrailingZeroes( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextPrefix( 
            /* [retval][out] */ BSTR __RPC_FAR *PrefixString) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltTextPrefix( 
            /* [in] */ BSTR PrefixString) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextSuffix( 
            /* [retval][out] */ BSTR __RPC_FAR *SuffixString) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltTextSuffix( 
            /* [in] */ BSTR SuffixString) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltTolerancePrecision( 
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltTolerancePrecision( 
            /* [in] */ DimPrecision Precision) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressLeadingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressLeadingZeroes( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressTrailingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressTrailingZeroes( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnits( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Enable) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltUnits( 
            /* [in] */ VARIANT_BOOL Enable) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsFormat( 
            /* [retval][out] */ DimLUnits __RPC_FAR *Units) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsFormat( 
            /* [in] */ DimLUnits Units) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsPrecision( 
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsPrecision( 
            /* [in] */ DimPrecision Precision) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsScale( 
            /* [retval][out] */ double __RPC_FAR *Scale) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsScale( 
            /* [in] */ double Scale) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineColor( 
            /* [retval][out] */ Colors __RPC_FAR *Color) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineColor( 
            /* [in] */ Colors Color) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FractionFormat( 
            /* [retval][out] */ DimFractionType __RPC_FAR *Format) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FractionFormat( 
            /* [in] */ DimFractionType Format) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LinearScaleFactor( 
            /* [retval][out] */ double __RPC_FAR *ScaleFactor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LinearScaleFactor( 
            /* [in] */ double ScaleFactor) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PrimaryUnitsPrecision( 
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PrimaryUnitsPrecision( 
            /* [in] */ DimPrecision Precision) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RoundDistance( 
            /* [retval][out] */ double __RPC_FAR *Round) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RoundDistance( 
            /* [in] */ double Round) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroInches( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadDimOrdinateVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadDimOrdinate __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadDimOrdinate __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadDimOrdinate __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadDimOrdinate __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadDimOrdinate __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ArrowheadSize )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *ArrowheadSize);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ArrowheadSize )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ double ArrowheadSize);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DecimalSeparator )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *DecimalSeparator);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DecimalSeparator )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ BSTR DecimalSeparator);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtensionLineOffset )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Offset);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtensionLineOffset )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ double Offset);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Measurement )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Measurement )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ double Value);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ppExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rotation )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Rotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rotation )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ScaleFactor )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *ScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ScaleFactor )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StyleName )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *StyleName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StyleName )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ BSTR StyleName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressLeadingZeroes )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressLeadingZeroes )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressTrailingZeroes )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressTrailingZeroes )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextColor )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *Color);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextColor )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextGap )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Gap);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextGap )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ double Gap);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextHeight )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Height);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextHeight )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ double Height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextMovement )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ DimTextMovement __RPC_FAR *Movement);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextMovement )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ DimTextMovement Movement);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextPosition )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Position);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextPosition )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Position);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextOverride )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *String);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextOverride )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ BSTR String);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextPrefix )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *PrefixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextPrefix )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ BSTR PrefixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextString )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *String);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextString )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ BSTR String);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextRotation )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Rotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextRotation )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextStyle )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *StyleName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextStyle )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ BSTR StyleName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextSuffix )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *SuffixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextSuffix )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ BSTR SuffixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceDisplay )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ DimToleranceMethod __RPC_FAR *TolDisplay);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceDisplay )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ DimToleranceMethod TolDisplay);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceHeightScale )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *HeightScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceHeightScale )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ double HeightScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceJustification )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ DimToleranceJustify __RPC_FAR *TolJustify);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceJustification )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ DimToleranceJustify TolJustify);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceLowerLimit )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Limit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceLowerLimit )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ double Limit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressLeadingZeroes )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressLeadingZeroes )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressTrailingZeroes )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressTrailingZeroes )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressZeroInches )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressZeroInches )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressZeroFeet )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressZeroFeet )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceUpperLimit )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Limit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceUpperLimit )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ double Limit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TolerancePrecision )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TolerancePrecision )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UnitsFormat )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ DimLUnits __RPC_FAR *Units);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_UnitsFormat )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ DimLUnits Units);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VerticalTextPosition )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ DimVerticalJustification __RPC_FAR *Position);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VerticalTextPosition )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ DimVerticalJustification Position);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltRoundDistance )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Round);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltRoundDistance )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ double Round);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltSuppressLeadingZeroes )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltSuppressLeadingZeroes )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltSuppressTrailingZeroes )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltSuppressTrailingZeroes )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltSuppressZeroInches )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltSuppressZeroInches )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltSuppressZeroFeet )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltSuppressZeroFeet )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltTextPrefix )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *PrefixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltTextPrefix )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ BSTR PrefixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltTextSuffix )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *SuffixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltTextSuffix )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ BSTR SuffixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltTolerancePrecision )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltTolerancePrecision )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltToleranceSuppressLeadingZeroes )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltToleranceSuppressLeadingZeroes )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltToleranceSuppressTrailingZeroes )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltToleranceSuppressTrailingZeroes )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltToleranceSuppressZeroInches )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltToleranceSuppressZeroInches )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltToleranceSuppressZeroFeet )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltToleranceSuppressZeroFeet )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltUnits )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Enable);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltUnits )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Enable);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltUnitsFormat )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ DimLUnits __RPC_FAR *Units);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltUnitsFormat )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ DimLUnits Units);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltUnitsPrecision )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltUnitsPrecision )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltUnitsScale )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Scale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltUnitsScale )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ double Scale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtensionLineColor )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *Color);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtensionLineColor )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FractionFormat )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ DimFractionType __RPC_FAR *Format);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_FractionFormat )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ DimFractionType Format);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinearScaleFactor )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *ScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinearScaleFactor )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PrimaryUnitsPrecision )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PrimaryUnitsPrecision )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RoundDistance )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Round);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RoundDistance )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ double Round);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressZeroInches )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressZeroInches )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressZeroFeet )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressZeroFeet )( 
            IIcadDimOrdinate __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        END_INTERFACE
    } IIcadDimOrdinateVtbl;

    interface IIcadDimOrdinate
    {
        CONST_VTBL struct IIcadDimOrdinateVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadDimOrdinate_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadDimOrdinate_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadDimOrdinate_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadDimOrdinate_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadDimOrdinate_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadDimOrdinate_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadDimOrdinate_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadDimOrdinate_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadDimOrdinate_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadDimOrdinate_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadDimOrdinate_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadDimOrdinate__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadDimOrdinate_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadDimOrdinate_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadDimOrdinate_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadDimOrdinate_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadDimOrdinate_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadDimOrdinate_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadDimOrdinate_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadDimOrdinate_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadDimOrdinate_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadDimOrdinate_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadDimOrdinate_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadDimOrdinate_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadDimOrdinate_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadDimOrdinate_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadDimOrdinate_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadDimOrdinate_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadDimOrdinate_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadDimOrdinate_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadDimOrdinate_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadDimOrdinate_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadDimOrdinate_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadDimOrdinate_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadDimOrdinate_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadDimOrdinate_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadDimOrdinate_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadDimOrdinate_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadDimOrdinate_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadDimOrdinate_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadDimOrdinate_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadDimOrdinate_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadDimOrdinate_get_ArrowheadSize(This,ArrowheadSize)	\
    (This)->lpVtbl -> get_ArrowheadSize(This,ArrowheadSize)

#define IIcadDimOrdinate_put_ArrowheadSize(This,ArrowheadSize)	\
    (This)->lpVtbl -> put_ArrowheadSize(This,ArrowheadSize)

#define IIcadDimOrdinate_get_DecimalSeparator(This,DecimalSeparator)	\
    (This)->lpVtbl -> get_DecimalSeparator(This,DecimalSeparator)

#define IIcadDimOrdinate_put_DecimalSeparator(This,DecimalSeparator)	\
    (This)->lpVtbl -> put_DecimalSeparator(This,DecimalSeparator)

#define IIcadDimOrdinate_get_ExtensionLineOffset(This,Offset)	\
    (This)->lpVtbl -> get_ExtensionLineOffset(This,Offset)

#define IIcadDimOrdinate_put_ExtensionLineOffset(This,Offset)	\
    (This)->lpVtbl -> put_ExtensionLineOffset(This,Offset)

#define IIcadDimOrdinate_get_Measurement(This,Value)	\
    (This)->lpVtbl -> get_Measurement(This,Value)

#define IIcadDimOrdinate_put_Measurement(This,Value)	\
    (This)->lpVtbl -> put_Measurement(This,Value)

#define IIcadDimOrdinate_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadDimOrdinate_put_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ppExtrusionDirection)

#define IIcadDimOrdinate_get_Rotation(This,Rotation)	\
    (This)->lpVtbl -> get_Rotation(This,Rotation)

#define IIcadDimOrdinate_put_Rotation(This,Rotation)	\
    (This)->lpVtbl -> put_Rotation(This,Rotation)

#define IIcadDimOrdinate_get_ScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> get_ScaleFactor(This,ScaleFactor)

#define IIcadDimOrdinate_put_ScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> put_ScaleFactor(This,ScaleFactor)

#define IIcadDimOrdinate_get_StyleName(This,StyleName)	\
    (This)->lpVtbl -> get_StyleName(This,StyleName)

#define IIcadDimOrdinate_put_StyleName(This,StyleName)	\
    (This)->lpVtbl -> put_StyleName(This,StyleName)

#define IIcadDimOrdinate_get_SuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_SuppressLeadingZeroes(This,Supress)

#define IIcadDimOrdinate_put_SuppressLeadingZeroes(This,Suppress)	\
    (This)->lpVtbl -> put_SuppressLeadingZeroes(This,Suppress)

#define IIcadDimOrdinate_get_SuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_SuppressTrailingZeroes(This,Supress)

#define IIcadDimOrdinate_put_SuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_SuppressTrailingZeroes(This,Supress)

#define IIcadDimOrdinate_get_TextColor(This,Color)	\
    (This)->lpVtbl -> get_TextColor(This,Color)

#define IIcadDimOrdinate_put_TextColor(This,Color)	\
    (This)->lpVtbl -> put_TextColor(This,Color)

#define IIcadDimOrdinate_get_TextGap(This,Gap)	\
    (This)->lpVtbl -> get_TextGap(This,Gap)

#define IIcadDimOrdinate_put_TextGap(This,Gap)	\
    (This)->lpVtbl -> put_TextGap(This,Gap)

#define IIcadDimOrdinate_get_TextHeight(This,Height)	\
    (This)->lpVtbl -> get_TextHeight(This,Height)

#define IIcadDimOrdinate_put_TextHeight(This,Height)	\
    (This)->lpVtbl -> put_TextHeight(This,Height)

#define IIcadDimOrdinate_get_TextMovement(This,Movement)	\
    (This)->lpVtbl -> get_TextMovement(This,Movement)

#define IIcadDimOrdinate_put_TextMovement(This,Movement)	\
    (This)->lpVtbl -> put_TextMovement(This,Movement)

#define IIcadDimOrdinate_get_TextPosition(This,Position)	\
    (This)->lpVtbl -> get_TextPosition(This,Position)

#define IIcadDimOrdinate_put_TextPosition(This,Position)	\
    (This)->lpVtbl -> put_TextPosition(This,Position)

#define IIcadDimOrdinate_get_TextOverride(This,String)	\
    (This)->lpVtbl -> get_TextOverride(This,String)

#define IIcadDimOrdinate_put_TextOverride(This,String)	\
    (This)->lpVtbl -> put_TextOverride(This,String)

#define IIcadDimOrdinate_get_TextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> get_TextPrefix(This,PrefixString)

#define IIcadDimOrdinate_put_TextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> put_TextPrefix(This,PrefixString)

#define IIcadDimOrdinate_get_TextString(This,String)	\
    (This)->lpVtbl -> get_TextString(This,String)

#define IIcadDimOrdinate_put_TextString(This,String)	\
    (This)->lpVtbl -> put_TextString(This,String)

#define IIcadDimOrdinate_get_TextRotation(This,Rotation)	\
    (This)->lpVtbl -> get_TextRotation(This,Rotation)

#define IIcadDimOrdinate_put_TextRotation(This,Rotation)	\
    (This)->lpVtbl -> put_TextRotation(This,Rotation)

#define IIcadDimOrdinate_get_TextStyle(This,StyleName)	\
    (This)->lpVtbl -> get_TextStyle(This,StyleName)

#define IIcadDimOrdinate_put_TextStyle(This,StyleName)	\
    (This)->lpVtbl -> put_TextStyle(This,StyleName)

#define IIcadDimOrdinate_get_TextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> get_TextSuffix(This,SuffixString)

#define IIcadDimOrdinate_put_TextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> put_TextSuffix(This,SuffixString)

#define IIcadDimOrdinate_get_ToleranceDisplay(This,TolDisplay)	\
    (This)->lpVtbl -> get_ToleranceDisplay(This,TolDisplay)

#define IIcadDimOrdinate_put_ToleranceDisplay(This,TolDisplay)	\
    (This)->lpVtbl -> put_ToleranceDisplay(This,TolDisplay)

#define IIcadDimOrdinate_get_ToleranceHeightScale(This,HeightScale)	\
    (This)->lpVtbl -> get_ToleranceHeightScale(This,HeightScale)

#define IIcadDimOrdinate_put_ToleranceHeightScale(This,HeightScale)	\
    (This)->lpVtbl -> put_ToleranceHeightScale(This,HeightScale)

#define IIcadDimOrdinate_get_ToleranceJustification(This,TolJustify)	\
    (This)->lpVtbl -> get_ToleranceJustification(This,TolJustify)

#define IIcadDimOrdinate_put_ToleranceJustification(This,TolJustify)	\
    (This)->lpVtbl -> put_ToleranceJustification(This,TolJustify)

#define IIcadDimOrdinate_get_ToleranceLowerLimit(This,Limit)	\
    (This)->lpVtbl -> get_ToleranceLowerLimit(This,Limit)

#define IIcadDimOrdinate_put_ToleranceLowerLimit(This,Limit)	\
    (This)->lpVtbl -> put_ToleranceLowerLimit(This,Limit)

#define IIcadDimOrdinate_get_ToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimOrdinate_put_ToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimOrdinate_get_ToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimOrdinate_put_ToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimOrdinate_get_ToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressZeroInches(This,Supress)

#define IIcadDimOrdinate_put_ToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressZeroInches(This,Supress)

#define IIcadDimOrdinate_get_ToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimOrdinate_put_ToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimOrdinate_get_ToleranceUpperLimit(This,Limit)	\
    (This)->lpVtbl -> get_ToleranceUpperLimit(This,Limit)

#define IIcadDimOrdinate_put_ToleranceUpperLimit(This,Limit)	\
    (This)->lpVtbl -> put_ToleranceUpperLimit(This,Limit)

#define IIcadDimOrdinate_get_TolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> get_TolerancePrecision(This,Precision)

#define IIcadDimOrdinate_put_TolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> put_TolerancePrecision(This,Precision)

#define IIcadDimOrdinate_get_UnitsFormat(This,Units)	\
    (This)->lpVtbl -> get_UnitsFormat(This,Units)

#define IIcadDimOrdinate_put_UnitsFormat(This,Units)	\
    (This)->lpVtbl -> put_UnitsFormat(This,Units)

#define IIcadDimOrdinate_get_VerticalTextPosition(This,Position)	\
    (This)->lpVtbl -> get_VerticalTextPosition(This,Position)

#define IIcadDimOrdinate_put_VerticalTextPosition(This,Position)	\
    (This)->lpVtbl -> put_VerticalTextPosition(This,Position)


#define IIcadDimOrdinate_get_AltRoundDistance(This,Round)	\
    (This)->lpVtbl -> get_AltRoundDistance(This,Round)

#define IIcadDimOrdinate_put_AltRoundDistance(This,Round)	\
    (This)->lpVtbl -> put_AltRoundDistance(This,Round)

#define IIcadDimOrdinate_get_AltSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_AltSuppressLeadingZeroes(This,Supress)

#define IIcadDimOrdinate_put_AltSuppressLeadingZeroes(This,Suppress)	\
    (This)->lpVtbl -> put_AltSuppressLeadingZeroes(This,Suppress)

#define IIcadDimOrdinate_get_AltSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_AltSuppressTrailingZeroes(This,Supress)

#define IIcadDimOrdinate_put_AltSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_AltSuppressTrailingZeroes(This,Supress)

#define IIcadDimOrdinate_get_AltSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_AltSuppressZeroInches(This,Supress)

#define IIcadDimOrdinate_put_AltSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_AltSuppressZeroInches(This,Supress)

#define IIcadDimOrdinate_get_AltSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_AltSuppressZeroFeet(This,Supress)

#define IIcadDimOrdinate_put_AltSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_AltSuppressZeroFeet(This,Supress)

#define IIcadDimOrdinate_get_AltTextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> get_AltTextPrefix(This,PrefixString)

#define IIcadDimOrdinate_put_AltTextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> put_AltTextPrefix(This,PrefixString)

#define IIcadDimOrdinate_get_AltTextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> get_AltTextSuffix(This,SuffixString)

#define IIcadDimOrdinate_put_AltTextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> put_AltTextSuffix(This,SuffixString)

#define IIcadDimOrdinate_get_AltTolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> get_AltTolerancePrecision(This,Precision)

#define IIcadDimOrdinate_put_AltTolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> put_AltTolerancePrecision(This,Precision)

#define IIcadDimOrdinate_get_AltToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_AltToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimOrdinate_put_AltToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_AltToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimOrdinate_get_AltToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_AltToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimOrdinate_put_AltToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_AltToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimOrdinate_get_AltToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_AltToleranceSuppressZeroInches(This,Supress)

#define IIcadDimOrdinate_put_AltToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_AltToleranceSuppressZeroInches(This,Supress)

#define IIcadDimOrdinate_get_AltToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_AltToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimOrdinate_put_AltToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_AltToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimOrdinate_get_AltUnits(This,Enable)	\
    (This)->lpVtbl -> get_AltUnits(This,Enable)

#define IIcadDimOrdinate_put_AltUnits(This,Enable)	\
    (This)->lpVtbl -> put_AltUnits(This,Enable)

#define IIcadDimOrdinate_get_AltUnitsFormat(This,Units)	\
    (This)->lpVtbl -> get_AltUnitsFormat(This,Units)

#define IIcadDimOrdinate_put_AltUnitsFormat(This,Units)	\
    (This)->lpVtbl -> put_AltUnitsFormat(This,Units)

#define IIcadDimOrdinate_get_AltUnitsPrecision(This,Precision)	\
    (This)->lpVtbl -> get_AltUnitsPrecision(This,Precision)

#define IIcadDimOrdinate_put_AltUnitsPrecision(This,Precision)	\
    (This)->lpVtbl -> put_AltUnitsPrecision(This,Precision)

#define IIcadDimOrdinate_get_AltUnitsScale(This,Scale)	\
    (This)->lpVtbl -> get_AltUnitsScale(This,Scale)

#define IIcadDimOrdinate_put_AltUnitsScale(This,Scale)	\
    (This)->lpVtbl -> put_AltUnitsScale(This,Scale)

#define IIcadDimOrdinate_get_ExtensionLineColor(This,Color)	\
    (This)->lpVtbl -> get_ExtensionLineColor(This,Color)

#define IIcadDimOrdinate_put_ExtensionLineColor(This,Color)	\
    (This)->lpVtbl -> put_ExtensionLineColor(This,Color)

#define IIcadDimOrdinate_get_FractionFormat(This,Format)	\
    (This)->lpVtbl -> get_FractionFormat(This,Format)

#define IIcadDimOrdinate_put_FractionFormat(This,Format)	\
    (This)->lpVtbl -> put_FractionFormat(This,Format)

#define IIcadDimOrdinate_get_LinearScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> get_LinearScaleFactor(This,ScaleFactor)

#define IIcadDimOrdinate_put_LinearScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> put_LinearScaleFactor(This,ScaleFactor)

#define IIcadDimOrdinate_get_PrimaryUnitsPrecision(This,Precision)	\
    (This)->lpVtbl -> get_PrimaryUnitsPrecision(This,Precision)

#define IIcadDimOrdinate_put_PrimaryUnitsPrecision(This,Precision)	\
    (This)->lpVtbl -> put_PrimaryUnitsPrecision(This,Precision)

#define IIcadDimOrdinate_get_RoundDistance(This,Round)	\
    (This)->lpVtbl -> get_RoundDistance(This,Round)

#define IIcadDimOrdinate_put_RoundDistance(This,Round)	\
    (This)->lpVtbl -> put_RoundDistance(This,Round)

#define IIcadDimOrdinate_get_SuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_SuppressZeroInches(This,Supress)

#define IIcadDimOrdinate_put_SuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_SuppressZeroInches(This,Supress)

#define IIcadDimOrdinate_get_SuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_SuppressZeroFeet(This,Supress)

#define IIcadDimOrdinate_put_SuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_SuppressZeroFeet(This,Supress)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_AltRoundDistance_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Round);


void __RPC_STUB IIcadDimOrdinate_get_AltRoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_AltRoundDistance_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ double Round);


void __RPC_STUB IIcadDimOrdinate_put_AltRoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_AltSuppressLeadingZeroes_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimOrdinate_get_AltSuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_AltSuppressLeadingZeroes_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDimOrdinate_put_AltSuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_AltSuppressTrailingZeroes_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimOrdinate_get_AltSuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_AltSuppressTrailingZeroes_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimOrdinate_put_AltSuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_AltSuppressZeroInches_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimOrdinate_get_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_AltSuppressZeroInches_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimOrdinate_put_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_AltSuppressZeroFeet_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimOrdinate_get_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_AltSuppressZeroFeet_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimOrdinate_put_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_AltTextPrefix_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *PrefixString);


void __RPC_STUB IIcadDimOrdinate_get_AltTextPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_AltTextPrefix_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ BSTR PrefixString);


void __RPC_STUB IIcadDimOrdinate_put_AltTextPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_AltTextSuffix_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *SuffixString);


void __RPC_STUB IIcadDimOrdinate_get_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_AltTextSuffix_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ BSTR SuffixString);


void __RPC_STUB IIcadDimOrdinate_put_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_AltTolerancePrecision_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ DimPrecision __RPC_FAR *Precision);


void __RPC_STUB IIcadDimOrdinate_get_AltTolerancePrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_AltTolerancePrecision_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ DimPrecision Precision);


void __RPC_STUB IIcadDimOrdinate_put_AltTolerancePrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_AltToleranceSuppressLeadingZeroes_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimOrdinate_get_AltToleranceSuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_AltToleranceSuppressLeadingZeroes_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimOrdinate_put_AltToleranceSuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_AltToleranceSuppressTrailingZeroes_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimOrdinate_get_AltToleranceSuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_AltToleranceSuppressTrailingZeroes_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimOrdinate_put_AltToleranceSuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_AltToleranceSuppressZeroInches_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimOrdinate_get_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_AltToleranceSuppressZeroInches_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimOrdinate_put_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_AltToleranceSuppressZeroFeet_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimOrdinate_get_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_AltToleranceSuppressZeroFeet_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimOrdinate_put_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_AltUnits_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Enable);


void __RPC_STUB IIcadDimOrdinate_get_AltUnits_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_AltUnits_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Enable);


void __RPC_STUB IIcadDimOrdinate_put_AltUnits_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_AltUnitsFormat_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ DimLUnits __RPC_FAR *Units);


void __RPC_STUB IIcadDimOrdinate_get_AltUnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_AltUnitsFormat_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ DimLUnits Units);


void __RPC_STUB IIcadDimOrdinate_put_AltUnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_AltUnitsPrecision_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ DimPrecision __RPC_FAR *Precision);


void __RPC_STUB IIcadDimOrdinate_get_AltUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_AltUnitsPrecision_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ DimPrecision Precision);


void __RPC_STUB IIcadDimOrdinate_put_AltUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_AltUnitsScale_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Scale);


void __RPC_STUB IIcadDimOrdinate_get_AltUnitsScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_AltUnitsScale_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ double Scale);


void __RPC_STUB IIcadDimOrdinate_put_AltUnitsScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_ExtensionLineColor_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ Colors __RPC_FAR *Color);


void __RPC_STUB IIcadDimOrdinate_get_ExtensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_ExtensionLineColor_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ Colors Color);


void __RPC_STUB IIcadDimOrdinate_put_ExtensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_FractionFormat_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ DimFractionType __RPC_FAR *Format);


void __RPC_STUB IIcadDimOrdinate_get_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_FractionFormat_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ DimFractionType Format);


void __RPC_STUB IIcadDimOrdinate_put_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_LinearScaleFactor_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *ScaleFactor);


void __RPC_STUB IIcadDimOrdinate_get_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_LinearScaleFactor_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ double ScaleFactor);


void __RPC_STUB IIcadDimOrdinate_put_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_PrimaryUnitsPrecision_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ DimPrecision __RPC_FAR *Precision);


void __RPC_STUB IIcadDimOrdinate_get_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_PrimaryUnitsPrecision_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ DimPrecision Precision);


void __RPC_STUB IIcadDimOrdinate_put_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_RoundDistance_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Round);


void __RPC_STUB IIcadDimOrdinate_get_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_RoundDistance_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ double Round);


void __RPC_STUB IIcadDimOrdinate_put_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_SuppressZeroInches_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimOrdinate_get_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_SuppressZeroInches_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimOrdinate_put_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_get_SuppressZeroFeet_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimOrdinate_get_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimOrdinate_put_SuppressZeroFeet_Proxy( 
    IIcadDimOrdinate __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimOrdinate_put_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadDimOrdinate_INTERFACE_DEFINED__ */


#ifndef __IIcadDimRadial_INTERFACE_DEFINED__
#define __IIcadDimRadial_INTERFACE_DEFINED__

/* interface IIcadDimRadial */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadDimRadial;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c188-7e36-11d1-bc5a-0060089608a4")
    IIcadDimRadial : public IIcadDimension
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltRoundDistance( 
            /* [retval][out] */ double __RPC_FAR *Round) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltRoundDistance( 
            /* [in] */ double Round) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressLeadingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressLeadingZeroes( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressTrailingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressTrailingZeroes( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextPrefix( 
            /* [retval][out] */ BSTR __RPC_FAR *PrefixString) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltTextPrefix( 
            /* [in] */ BSTR PrefixString) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextSuffix( 
            /* [retval][out] */ BSTR __RPC_FAR *SuffixString) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltTextSuffix( 
            /* [in] */ BSTR SuffixString) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltTolerancePrecision( 
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltTolerancePrecision( 
            /* [in] */ DimPrecision Precision) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressLeadingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressLeadingZeroes( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressTrailingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressTrailingZeroes( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnits( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Enable) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltUnits( 
            /* [in] */ VARIANT_BOOL Enable) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsFormat( 
            /* [retval][out] */ DimLUnits __RPC_FAR *Units) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsFormat( 
            /* [in] */ DimLUnits Units) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsPrecision( 
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsPrecision( 
            /* [in] */ DimPrecision Precision) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsScale( 
            /* [retval][out] */ double __RPC_FAR *Scale) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsScale( 
            /* [in] */ double Scale) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadBlock( 
            /* [retval][out] */ BSTR __RPC_FAR *BlockName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadBlock( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadType( 
            /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadType( 
            /* [in] */ DimArrowheadType ArrowheadType) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CenterMarkSize( 
            /* [retval][out] */ double __RPC_FAR *Size) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CenterMarkSize( 
            /* [in] */ double Size) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CenterType( 
            /* [retval][out] */ DimCenterType __RPC_FAR *Type) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CenterType( 
            /* [in] */ DimCenterType Type) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineColor( 
            /* [retval][out] */ Colors __RPC_FAR *Color) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineColor( 
            /* [in] */ Colors Color) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimLineSuppress( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimLineSuppress( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Fit( 
            /* [retval][out] */ DimFit __RPC_FAR *Fit) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Fit( 
            /* [in] */ DimFit Fit) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ForceLineInside( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ForceLineInside( 
            /* [in] */ VARIANT_BOOL Inside) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FractionFormat( 
            /* [retval][out] */ DimFractionType __RPC_FAR *Format) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FractionFormat( 
            /* [in] */ DimFractionType Format) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_HorizontalTextPosition( 
            /* [retval][out] */ DimHorizontalJustification __RPC_FAR *Position) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HorizontalTextPosition( 
            /* [in] */ DimHorizontalJustification Position) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LeaderLength( 
            /* [retval][out] */ double __RPC_FAR *LeaderLength) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LeaderLength( 
            /* [in] */ double LeaderLength) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LinearScaleFactor( 
            /* [retval][out] */ double __RPC_FAR *ScaleFactor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LinearScaleFactor( 
            /* [in] */ double ScaleFactor) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PrimaryUnitsPrecision( 
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PrimaryUnitsPrecision( 
            /* [in] */ DimPrecision Precision) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RoundDistance( 
            /* [retval][out] */ double __RPC_FAR *Round) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RoundDistance( 
            /* [in] */ double Round) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroInches( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextInside( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextInside( 
            /* [in] */ VARIANT_BOOL Inside) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextInsideAlign( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextInsideAlign( 
            /* [in] */ VARIANT_BOOL Alignment) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextOutsideAlign( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextOutsideAlign( 
            /* [in] */ VARIANT_BOOL Alignment) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextPrecision( 
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextPrecision( 
            /* [in] */ DimPrecision Precision) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadDimRadialVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadDimRadial __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadDimRadial __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadDimRadial __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadDimRadial __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadDimRadial __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ArrowheadSize )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *ArrowheadSize);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ArrowheadSize )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ double ArrowheadSize);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DecimalSeparator )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *DecimalSeparator);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DecimalSeparator )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ BSTR DecimalSeparator);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtensionLineOffset )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Offset);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtensionLineOffset )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ double Offset);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Measurement )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Measurement )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ double Value);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ppExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rotation )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Rotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rotation )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ScaleFactor )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *ScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ScaleFactor )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StyleName )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *StyleName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StyleName )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ BSTR StyleName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressLeadingZeroes )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressLeadingZeroes )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressTrailingZeroes )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressTrailingZeroes )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextColor )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *Color);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextColor )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextGap )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Gap);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextGap )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ double Gap);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextHeight )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Height);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextHeight )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ double Height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextMovement )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ DimTextMovement __RPC_FAR *Movement);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextMovement )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ DimTextMovement Movement);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextPosition )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Position);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextPosition )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Position);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextOverride )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *String);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextOverride )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ BSTR String);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextPrefix )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *PrefixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextPrefix )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ BSTR PrefixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextString )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *String);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextString )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ BSTR String);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextRotation )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Rotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextRotation )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextStyle )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *StyleName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextStyle )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ BSTR StyleName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextSuffix )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *SuffixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextSuffix )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ BSTR SuffixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceDisplay )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ DimToleranceMethod __RPC_FAR *TolDisplay);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceDisplay )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ DimToleranceMethod TolDisplay);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceHeightScale )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *HeightScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceHeightScale )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ double HeightScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceJustification )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ DimToleranceJustify __RPC_FAR *TolJustify);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceJustification )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ DimToleranceJustify TolJustify);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceLowerLimit )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Limit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceLowerLimit )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ double Limit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressLeadingZeroes )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressLeadingZeroes )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressTrailingZeroes )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressTrailingZeroes )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressZeroInches )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressZeroInches )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressZeroFeet )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressZeroFeet )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceUpperLimit )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Limit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceUpperLimit )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ double Limit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TolerancePrecision )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TolerancePrecision )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UnitsFormat )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ DimLUnits __RPC_FAR *Units);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_UnitsFormat )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ DimLUnits Units);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VerticalTextPosition )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ DimVerticalJustification __RPC_FAR *Position);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VerticalTextPosition )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ DimVerticalJustification Position);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltRoundDistance )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Round);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltRoundDistance )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ double Round);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltSuppressLeadingZeroes )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltSuppressLeadingZeroes )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltSuppressTrailingZeroes )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltSuppressTrailingZeroes )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltSuppressZeroInches )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltSuppressZeroInches )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltSuppressZeroFeet )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltSuppressZeroFeet )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltTextPrefix )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *PrefixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltTextPrefix )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ BSTR PrefixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltTextSuffix )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *SuffixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltTextSuffix )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ BSTR SuffixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltTolerancePrecision )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltTolerancePrecision )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltToleranceSuppressLeadingZeroes )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltToleranceSuppressLeadingZeroes )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltToleranceSuppressTrailingZeroes )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltToleranceSuppressTrailingZeroes )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltToleranceSuppressZeroInches )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltToleranceSuppressZeroInches )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltToleranceSuppressZeroFeet )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltToleranceSuppressZeroFeet )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltUnits )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Enable);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltUnits )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Enable);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltUnitsFormat )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ DimLUnits __RPC_FAR *Units);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltUnitsFormat )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ DimLUnits Units);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltUnitsPrecision )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltUnitsPrecision )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltUnitsScale )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Scale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltUnitsScale )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ double Scale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ArrowheadBlock )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *BlockName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ArrowheadBlock )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ArrowheadType )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ArrowheadType )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ DimArrowheadType ArrowheadType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CenterMarkSize )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Size);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CenterMarkSize )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ double Size);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CenterType )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ DimCenterType __RPC_FAR *Type);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CenterType )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ DimCenterType Type);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimensionLineColor )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *Color);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimensionLineColor )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimLineSuppress )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimLineSuppress )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Fit )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ DimFit __RPC_FAR *Fit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Fit )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ DimFit Fit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ForceLineInside )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ForceLineInside )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Inside);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FractionFormat )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ DimFractionType __RPC_FAR *Format);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_FractionFormat )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ DimFractionType Format);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HorizontalTextPosition )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ DimHorizontalJustification __RPC_FAR *Position);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_HorizontalTextPosition )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ DimHorizontalJustification Position);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LeaderLength )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LeaderLength);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LeaderLength )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ double LeaderLength);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinearScaleFactor )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *ScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinearScaleFactor )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PrimaryUnitsPrecision )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PrimaryUnitsPrecision )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RoundDistance )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Round);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RoundDistance )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ double Round);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressZeroInches )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressZeroInches )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressZeroFeet )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressZeroFeet )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextInside )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextInside )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Inside);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextInsideAlign )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextInsideAlign )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Alignment);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextOutsideAlign )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextOutsideAlign )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Alignment);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextPrecision )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextPrecision )( 
            IIcadDimRadial __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        END_INTERFACE
    } IIcadDimRadialVtbl;

    interface IIcadDimRadial
    {
        CONST_VTBL struct IIcadDimRadialVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadDimRadial_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadDimRadial_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadDimRadial_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadDimRadial_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadDimRadial_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadDimRadial_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadDimRadial_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadDimRadial_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadDimRadial_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadDimRadial_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadDimRadial_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadDimRadial__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadDimRadial_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadDimRadial_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadDimRadial_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadDimRadial_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadDimRadial_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadDimRadial_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadDimRadial_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadDimRadial_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadDimRadial_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadDimRadial_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadDimRadial_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadDimRadial_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadDimRadial_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadDimRadial_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadDimRadial_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadDimRadial_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadDimRadial_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadDimRadial_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadDimRadial_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadDimRadial_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadDimRadial_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadDimRadial_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadDimRadial_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadDimRadial_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadDimRadial_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadDimRadial_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadDimRadial_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadDimRadial_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadDimRadial_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadDimRadial_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadDimRadial_get_ArrowheadSize(This,ArrowheadSize)	\
    (This)->lpVtbl -> get_ArrowheadSize(This,ArrowheadSize)

#define IIcadDimRadial_put_ArrowheadSize(This,ArrowheadSize)	\
    (This)->lpVtbl -> put_ArrowheadSize(This,ArrowheadSize)

#define IIcadDimRadial_get_DecimalSeparator(This,DecimalSeparator)	\
    (This)->lpVtbl -> get_DecimalSeparator(This,DecimalSeparator)

#define IIcadDimRadial_put_DecimalSeparator(This,DecimalSeparator)	\
    (This)->lpVtbl -> put_DecimalSeparator(This,DecimalSeparator)

#define IIcadDimRadial_get_ExtensionLineOffset(This,Offset)	\
    (This)->lpVtbl -> get_ExtensionLineOffset(This,Offset)

#define IIcadDimRadial_put_ExtensionLineOffset(This,Offset)	\
    (This)->lpVtbl -> put_ExtensionLineOffset(This,Offset)

#define IIcadDimRadial_get_Measurement(This,Value)	\
    (This)->lpVtbl -> get_Measurement(This,Value)

#define IIcadDimRadial_put_Measurement(This,Value)	\
    (This)->lpVtbl -> put_Measurement(This,Value)

#define IIcadDimRadial_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadDimRadial_put_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ppExtrusionDirection)

#define IIcadDimRadial_get_Rotation(This,Rotation)	\
    (This)->lpVtbl -> get_Rotation(This,Rotation)

#define IIcadDimRadial_put_Rotation(This,Rotation)	\
    (This)->lpVtbl -> put_Rotation(This,Rotation)

#define IIcadDimRadial_get_ScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> get_ScaleFactor(This,ScaleFactor)

#define IIcadDimRadial_put_ScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> put_ScaleFactor(This,ScaleFactor)

#define IIcadDimRadial_get_StyleName(This,StyleName)	\
    (This)->lpVtbl -> get_StyleName(This,StyleName)

#define IIcadDimRadial_put_StyleName(This,StyleName)	\
    (This)->lpVtbl -> put_StyleName(This,StyleName)

#define IIcadDimRadial_get_SuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_SuppressLeadingZeroes(This,Supress)

#define IIcadDimRadial_put_SuppressLeadingZeroes(This,Suppress)	\
    (This)->lpVtbl -> put_SuppressLeadingZeroes(This,Suppress)

#define IIcadDimRadial_get_SuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_SuppressTrailingZeroes(This,Supress)

#define IIcadDimRadial_put_SuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_SuppressTrailingZeroes(This,Supress)

#define IIcadDimRadial_get_TextColor(This,Color)	\
    (This)->lpVtbl -> get_TextColor(This,Color)

#define IIcadDimRadial_put_TextColor(This,Color)	\
    (This)->lpVtbl -> put_TextColor(This,Color)

#define IIcadDimRadial_get_TextGap(This,Gap)	\
    (This)->lpVtbl -> get_TextGap(This,Gap)

#define IIcadDimRadial_put_TextGap(This,Gap)	\
    (This)->lpVtbl -> put_TextGap(This,Gap)

#define IIcadDimRadial_get_TextHeight(This,Height)	\
    (This)->lpVtbl -> get_TextHeight(This,Height)

#define IIcadDimRadial_put_TextHeight(This,Height)	\
    (This)->lpVtbl -> put_TextHeight(This,Height)

#define IIcadDimRadial_get_TextMovement(This,Movement)	\
    (This)->lpVtbl -> get_TextMovement(This,Movement)

#define IIcadDimRadial_put_TextMovement(This,Movement)	\
    (This)->lpVtbl -> put_TextMovement(This,Movement)

#define IIcadDimRadial_get_TextPosition(This,Position)	\
    (This)->lpVtbl -> get_TextPosition(This,Position)

#define IIcadDimRadial_put_TextPosition(This,Position)	\
    (This)->lpVtbl -> put_TextPosition(This,Position)

#define IIcadDimRadial_get_TextOverride(This,String)	\
    (This)->lpVtbl -> get_TextOverride(This,String)

#define IIcadDimRadial_put_TextOverride(This,String)	\
    (This)->lpVtbl -> put_TextOverride(This,String)

#define IIcadDimRadial_get_TextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> get_TextPrefix(This,PrefixString)

#define IIcadDimRadial_put_TextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> put_TextPrefix(This,PrefixString)

#define IIcadDimRadial_get_TextString(This,String)	\
    (This)->lpVtbl -> get_TextString(This,String)

#define IIcadDimRadial_put_TextString(This,String)	\
    (This)->lpVtbl -> put_TextString(This,String)

#define IIcadDimRadial_get_TextRotation(This,Rotation)	\
    (This)->lpVtbl -> get_TextRotation(This,Rotation)

#define IIcadDimRadial_put_TextRotation(This,Rotation)	\
    (This)->lpVtbl -> put_TextRotation(This,Rotation)

#define IIcadDimRadial_get_TextStyle(This,StyleName)	\
    (This)->lpVtbl -> get_TextStyle(This,StyleName)

#define IIcadDimRadial_put_TextStyle(This,StyleName)	\
    (This)->lpVtbl -> put_TextStyle(This,StyleName)

#define IIcadDimRadial_get_TextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> get_TextSuffix(This,SuffixString)

#define IIcadDimRadial_put_TextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> put_TextSuffix(This,SuffixString)

#define IIcadDimRadial_get_ToleranceDisplay(This,TolDisplay)	\
    (This)->lpVtbl -> get_ToleranceDisplay(This,TolDisplay)

#define IIcadDimRadial_put_ToleranceDisplay(This,TolDisplay)	\
    (This)->lpVtbl -> put_ToleranceDisplay(This,TolDisplay)

#define IIcadDimRadial_get_ToleranceHeightScale(This,HeightScale)	\
    (This)->lpVtbl -> get_ToleranceHeightScale(This,HeightScale)

#define IIcadDimRadial_put_ToleranceHeightScale(This,HeightScale)	\
    (This)->lpVtbl -> put_ToleranceHeightScale(This,HeightScale)

#define IIcadDimRadial_get_ToleranceJustification(This,TolJustify)	\
    (This)->lpVtbl -> get_ToleranceJustification(This,TolJustify)

#define IIcadDimRadial_put_ToleranceJustification(This,TolJustify)	\
    (This)->lpVtbl -> put_ToleranceJustification(This,TolJustify)

#define IIcadDimRadial_get_ToleranceLowerLimit(This,Limit)	\
    (This)->lpVtbl -> get_ToleranceLowerLimit(This,Limit)

#define IIcadDimRadial_put_ToleranceLowerLimit(This,Limit)	\
    (This)->lpVtbl -> put_ToleranceLowerLimit(This,Limit)

#define IIcadDimRadial_get_ToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimRadial_put_ToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimRadial_get_ToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimRadial_put_ToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimRadial_get_ToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressZeroInches(This,Supress)

#define IIcadDimRadial_put_ToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressZeroInches(This,Supress)

#define IIcadDimRadial_get_ToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimRadial_put_ToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimRadial_get_ToleranceUpperLimit(This,Limit)	\
    (This)->lpVtbl -> get_ToleranceUpperLimit(This,Limit)

#define IIcadDimRadial_put_ToleranceUpperLimit(This,Limit)	\
    (This)->lpVtbl -> put_ToleranceUpperLimit(This,Limit)

#define IIcadDimRadial_get_TolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> get_TolerancePrecision(This,Precision)

#define IIcadDimRadial_put_TolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> put_TolerancePrecision(This,Precision)

#define IIcadDimRadial_get_UnitsFormat(This,Units)	\
    (This)->lpVtbl -> get_UnitsFormat(This,Units)

#define IIcadDimRadial_put_UnitsFormat(This,Units)	\
    (This)->lpVtbl -> put_UnitsFormat(This,Units)

#define IIcadDimRadial_get_VerticalTextPosition(This,Position)	\
    (This)->lpVtbl -> get_VerticalTextPosition(This,Position)

#define IIcadDimRadial_put_VerticalTextPosition(This,Position)	\
    (This)->lpVtbl -> put_VerticalTextPosition(This,Position)


#define IIcadDimRadial_get_AltRoundDistance(This,Round)	\
    (This)->lpVtbl -> get_AltRoundDistance(This,Round)

#define IIcadDimRadial_put_AltRoundDistance(This,Round)	\
    (This)->lpVtbl -> put_AltRoundDistance(This,Round)

#define IIcadDimRadial_get_AltSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_AltSuppressLeadingZeroes(This,Supress)

#define IIcadDimRadial_put_AltSuppressLeadingZeroes(This,Suppress)	\
    (This)->lpVtbl -> put_AltSuppressLeadingZeroes(This,Suppress)

#define IIcadDimRadial_get_AltSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_AltSuppressTrailingZeroes(This,Supress)

#define IIcadDimRadial_put_AltSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_AltSuppressTrailingZeroes(This,Supress)

#define IIcadDimRadial_get_AltSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_AltSuppressZeroInches(This,Supress)

#define IIcadDimRadial_put_AltSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_AltSuppressZeroInches(This,Supress)

#define IIcadDimRadial_get_AltSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_AltSuppressZeroFeet(This,Supress)

#define IIcadDimRadial_put_AltSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_AltSuppressZeroFeet(This,Supress)

#define IIcadDimRadial_get_AltTextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> get_AltTextPrefix(This,PrefixString)

#define IIcadDimRadial_put_AltTextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> put_AltTextPrefix(This,PrefixString)

#define IIcadDimRadial_get_AltTextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> get_AltTextSuffix(This,SuffixString)

#define IIcadDimRadial_put_AltTextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> put_AltTextSuffix(This,SuffixString)

#define IIcadDimRadial_get_AltTolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> get_AltTolerancePrecision(This,Precision)

#define IIcadDimRadial_put_AltTolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> put_AltTolerancePrecision(This,Precision)

#define IIcadDimRadial_get_AltToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_AltToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimRadial_put_AltToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_AltToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimRadial_get_AltToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_AltToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimRadial_put_AltToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_AltToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimRadial_get_AltToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_AltToleranceSuppressZeroInches(This,Supress)

#define IIcadDimRadial_put_AltToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_AltToleranceSuppressZeroInches(This,Supress)

#define IIcadDimRadial_get_AltToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_AltToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimRadial_put_AltToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_AltToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimRadial_get_AltUnits(This,Enable)	\
    (This)->lpVtbl -> get_AltUnits(This,Enable)

#define IIcadDimRadial_put_AltUnits(This,Enable)	\
    (This)->lpVtbl -> put_AltUnits(This,Enable)

#define IIcadDimRadial_get_AltUnitsFormat(This,Units)	\
    (This)->lpVtbl -> get_AltUnitsFormat(This,Units)

#define IIcadDimRadial_put_AltUnitsFormat(This,Units)	\
    (This)->lpVtbl -> put_AltUnitsFormat(This,Units)

#define IIcadDimRadial_get_AltUnitsPrecision(This,Precision)	\
    (This)->lpVtbl -> get_AltUnitsPrecision(This,Precision)

#define IIcadDimRadial_put_AltUnitsPrecision(This,Precision)	\
    (This)->lpVtbl -> put_AltUnitsPrecision(This,Precision)

#define IIcadDimRadial_get_AltUnitsScale(This,Scale)	\
    (This)->lpVtbl -> get_AltUnitsScale(This,Scale)

#define IIcadDimRadial_put_AltUnitsScale(This,Scale)	\
    (This)->lpVtbl -> put_AltUnitsScale(This,Scale)

#define IIcadDimRadial_get_ArrowheadBlock(This,BlockName)	\
    (This)->lpVtbl -> get_ArrowheadBlock(This,BlockName)

#define IIcadDimRadial_put_ArrowheadBlock(This,BlockName)	\
    (This)->lpVtbl -> put_ArrowheadBlock(This,BlockName)

#define IIcadDimRadial_get_ArrowheadType(This,ArrowheadType)	\
    (This)->lpVtbl -> get_ArrowheadType(This,ArrowheadType)

#define IIcadDimRadial_put_ArrowheadType(This,ArrowheadType)	\
    (This)->lpVtbl -> put_ArrowheadType(This,ArrowheadType)

#define IIcadDimRadial_get_CenterMarkSize(This,Size)	\
    (This)->lpVtbl -> get_CenterMarkSize(This,Size)

#define IIcadDimRadial_put_CenterMarkSize(This,Size)	\
    (This)->lpVtbl -> put_CenterMarkSize(This,Size)

#define IIcadDimRadial_get_CenterType(This,Type)	\
    (This)->lpVtbl -> get_CenterType(This,Type)

#define IIcadDimRadial_put_CenterType(This,Type)	\
    (This)->lpVtbl -> put_CenterType(This,Type)

#define IIcadDimRadial_get_DimensionLineColor(This,Color)	\
    (This)->lpVtbl -> get_DimensionLineColor(This,Color)

#define IIcadDimRadial_put_DimensionLineColor(This,Color)	\
    (This)->lpVtbl -> put_DimensionLineColor(This,Color)

#define IIcadDimRadial_get_DimLineSuppress(This,Supress)	\
    (This)->lpVtbl -> get_DimLineSuppress(This,Supress)

#define IIcadDimRadial_put_DimLineSuppress(This,Suppress)	\
    (This)->lpVtbl -> put_DimLineSuppress(This,Suppress)

#define IIcadDimRadial_get_Fit(This,Fit)	\
    (This)->lpVtbl -> get_Fit(This,Fit)

#define IIcadDimRadial_put_Fit(This,Fit)	\
    (This)->lpVtbl -> put_Fit(This,Fit)

#define IIcadDimRadial_get_ForceLineInside(This,Inside)	\
    (This)->lpVtbl -> get_ForceLineInside(This,Inside)

#define IIcadDimRadial_put_ForceLineInside(This,Inside)	\
    (This)->lpVtbl -> put_ForceLineInside(This,Inside)

#define IIcadDimRadial_get_FractionFormat(This,Format)	\
    (This)->lpVtbl -> get_FractionFormat(This,Format)

#define IIcadDimRadial_put_FractionFormat(This,Format)	\
    (This)->lpVtbl -> put_FractionFormat(This,Format)

#define IIcadDimRadial_get_HorizontalTextPosition(This,Position)	\
    (This)->lpVtbl -> get_HorizontalTextPosition(This,Position)

#define IIcadDimRadial_put_HorizontalTextPosition(This,Position)	\
    (This)->lpVtbl -> put_HorizontalTextPosition(This,Position)

#define IIcadDimRadial_get_LeaderLength(This,LeaderLength)	\
    (This)->lpVtbl -> get_LeaderLength(This,LeaderLength)

#define IIcadDimRadial_put_LeaderLength(This,LeaderLength)	\
    (This)->lpVtbl -> put_LeaderLength(This,LeaderLength)

#define IIcadDimRadial_get_LinearScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> get_LinearScaleFactor(This,ScaleFactor)

#define IIcadDimRadial_put_LinearScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> put_LinearScaleFactor(This,ScaleFactor)

#define IIcadDimRadial_get_PrimaryUnitsPrecision(This,Precision)	\
    (This)->lpVtbl -> get_PrimaryUnitsPrecision(This,Precision)

#define IIcadDimRadial_put_PrimaryUnitsPrecision(This,Precision)	\
    (This)->lpVtbl -> put_PrimaryUnitsPrecision(This,Precision)

#define IIcadDimRadial_get_RoundDistance(This,Round)	\
    (This)->lpVtbl -> get_RoundDistance(This,Round)

#define IIcadDimRadial_put_RoundDistance(This,Round)	\
    (This)->lpVtbl -> put_RoundDistance(This,Round)

#define IIcadDimRadial_get_SuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_SuppressZeroInches(This,Supress)

#define IIcadDimRadial_put_SuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_SuppressZeroInches(This,Supress)

#define IIcadDimRadial_get_SuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_SuppressZeroFeet(This,Supress)

#define IIcadDimRadial_put_SuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_SuppressZeroFeet(This,Supress)

#define IIcadDimRadial_get_TextInside(This,Inside)	\
    (This)->lpVtbl -> get_TextInside(This,Inside)

#define IIcadDimRadial_put_TextInside(This,Inside)	\
    (This)->lpVtbl -> put_TextInside(This,Inside)

#define IIcadDimRadial_get_TextInsideAlign(This,Alignment)	\
    (This)->lpVtbl -> get_TextInsideAlign(This,Alignment)

#define IIcadDimRadial_put_TextInsideAlign(This,Alignment)	\
    (This)->lpVtbl -> put_TextInsideAlign(This,Alignment)

#define IIcadDimRadial_get_TextOutsideAlign(This,Alignment)	\
    (This)->lpVtbl -> get_TextOutsideAlign(This,Alignment)

#define IIcadDimRadial_put_TextOutsideAlign(This,Alignment)	\
    (This)->lpVtbl -> put_TextOutsideAlign(This,Alignment)

#define IIcadDimRadial_get_TextPrecision(This,Precision)	\
    (This)->lpVtbl -> get_TextPrecision(This,Precision)

#define IIcadDimRadial_put_TextPrecision(This,Precision)	\
    (This)->lpVtbl -> put_TextPrecision(This,Precision)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_AltRoundDistance_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Round);


void __RPC_STUB IIcadDimRadial_get_AltRoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_AltRoundDistance_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ double Round);


void __RPC_STUB IIcadDimRadial_put_AltRoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_AltSuppressLeadingZeroes_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRadial_get_AltSuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_AltSuppressLeadingZeroes_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDimRadial_put_AltSuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_AltSuppressTrailingZeroes_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRadial_get_AltSuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_AltSuppressTrailingZeroes_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimRadial_put_AltSuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_AltSuppressZeroInches_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRadial_get_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_AltSuppressZeroInches_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimRadial_put_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_AltSuppressZeroFeet_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRadial_get_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_AltSuppressZeroFeet_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimRadial_put_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_AltTextPrefix_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *PrefixString);


void __RPC_STUB IIcadDimRadial_get_AltTextPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_AltTextPrefix_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ BSTR PrefixString);


void __RPC_STUB IIcadDimRadial_put_AltTextPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_AltTextSuffix_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *SuffixString);


void __RPC_STUB IIcadDimRadial_get_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_AltTextSuffix_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ BSTR SuffixString);


void __RPC_STUB IIcadDimRadial_put_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_AltTolerancePrecision_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ DimPrecision __RPC_FAR *Precision);


void __RPC_STUB IIcadDimRadial_get_AltTolerancePrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_AltTolerancePrecision_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ DimPrecision Precision);


void __RPC_STUB IIcadDimRadial_put_AltTolerancePrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_AltToleranceSuppressLeadingZeroes_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRadial_get_AltToleranceSuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_AltToleranceSuppressLeadingZeroes_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimRadial_put_AltToleranceSuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_AltToleranceSuppressTrailingZeroes_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRadial_get_AltToleranceSuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_AltToleranceSuppressTrailingZeroes_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimRadial_put_AltToleranceSuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_AltToleranceSuppressZeroInches_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRadial_get_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_AltToleranceSuppressZeroInches_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimRadial_put_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_AltToleranceSuppressZeroFeet_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRadial_get_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_AltToleranceSuppressZeroFeet_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimRadial_put_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_AltUnits_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Enable);


void __RPC_STUB IIcadDimRadial_get_AltUnits_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_AltUnits_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Enable);


void __RPC_STUB IIcadDimRadial_put_AltUnits_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_AltUnitsFormat_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ DimLUnits __RPC_FAR *Units);


void __RPC_STUB IIcadDimRadial_get_AltUnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_AltUnitsFormat_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ DimLUnits Units);


void __RPC_STUB IIcadDimRadial_put_AltUnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_AltUnitsPrecision_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ DimPrecision __RPC_FAR *Precision);


void __RPC_STUB IIcadDimRadial_get_AltUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_AltUnitsPrecision_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ DimPrecision Precision);


void __RPC_STUB IIcadDimRadial_put_AltUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_AltUnitsScale_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Scale);


void __RPC_STUB IIcadDimRadial_get_AltUnitsScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_AltUnitsScale_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ double Scale);


void __RPC_STUB IIcadDimRadial_put_AltUnitsScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_ArrowheadBlock_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *BlockName);


void __RPC_STUB IIcadDimRadial_get_ArrowheadBlock_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_ArrowheadBlock_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IIcadDimRadial_put_ArrowheadBlock_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_ArrowheadType_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType);


void __RPC_STUB IIcadDimRadial_get_ArrowheadType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_ArrowheadType_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ DimArrowheadType ArrowheadType);


void __RPC_STUB IIcadDimRadial_put_ArrowheadType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_CenterMarkSize_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Size);


void __RPC_STUB IIcadDimRadial_get_CenterMarkSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_CenterMarkSize_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ double Size);


void __RPC_STUB IIcadDimRadial_put_CenterMarkSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_CenterType_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ DimCenterType __RPC_FAR *Type);


void __RPC_STUB IIcadDimRadial_get_CenterType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_CenterType_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ DimCenterType Type);


void __RPC_STUB IIcadDimRadial_put_CenterType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_DimensionLineColor_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ Colors __RPC_FAR *Color);


void __RPC_STUB IIcadDimRadial_get_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_DimensionLineColor_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ Colors Color);


void __RPC_STUB IIcadDimRadial_put_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_DimLineSuppress_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRadial_get_DimLineSuppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_DimLineSuppress_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDimRadial_put_DimLineSuppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_Fit_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ DimFit __RPC_FAR *Fit);


void __RPC_STUB IIcadDimRadial_get_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_Fit_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ DimFit Fit);


void __RPC_STUB IIcadDimRadial_put_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_ForceLineInside_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);


void __RPC_STUB IIcadDimRadial_get_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_ForceLineInside_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Inside);


void __RPC_STUB IIcadDimRadial_put_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_FractionFormat_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ DimFractionType __RPC_FAR *Format);


void __RPC_STUB IIcadDimRadial_get_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_FractionFormat_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ DimFractionType Format);


void __RPC_STUB IIcadDimRadial_put_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_HorizontalTextPosition_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ DimHorizontalJustification __RPC_FAR *Position);


void __RPC_STUB IIcadDimRadial_get_HorizontalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_HorizontalTextPosition_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ DimHorizontalJustification Position);


void __RPC_STUB IIcadDimRadial_put_HorizontalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_LeaderLength_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *LeaderLength);


void __RPC_STUB IIcadDimRadial_get_LeaderLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_LeaderLength_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ double LeaderLength);


void __RPC_STUB IIcadDimRadial_put_LeaderLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_LinearScaleFactor_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *ScaleFactor);


void __RPC_STUB IIcadDimRadial_get_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_LinearScaleFactor_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ double ScaleFactor);


void __RPC_STUB IIcadDimRadial_put_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_PrimaryUnitsPrecision_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ DimPrecision __RPC_FAR *Precision);


void __RPC_STUB IIcadDimRadial_get_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_PrimaryUnitsPrecision_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ DimPrecision Precision);


void __RPC_STUB IIcadDimRadial_put_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_RoundDistance_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Round);


void __RPC_STUB IIcadDimRadial_get_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_RoundDistance_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ double Round);


void __RPC_STUB IIcadDimRadial_put_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_SuppressZeroInches_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRadial_get_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_SuppressZeroInches_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimRadial_put_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_SuppressZeroFeet_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRadial_get_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_SuppressZeroFeet_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimRadial_put_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_TextInside_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);


void __RPC_STUB IIcadDimRadial_get_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_TextInside_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Inside);


void __RPC_STUB IIcadDimRadial_put_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_TextInsideAlign_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);


void __RPC_STUB IIcadDimRadial_get_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_TextInsideAlign_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Alignment);


void __RPC_STUB IIcadDimRadial_put_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_TextOutsideAlign_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);


void __RPC_STUB IIcadDimRadial_get_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_TextOutsideAlign_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Alignment);


void __RPC_STUB IIcadDimRadial_put_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_get_TextPrecision_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [retval][out] */ DimPrecision __RPC_FAR *Precision);


void __RPC_STUB IIcadDimRadial_get_TextPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRadial_put_TextPrecision_Proxy( 
    IIcadDimRadial __RPC_FAR * This,
    /* [in] */ DimPrecision Precision);


void __RPC_STUB IIcadDimRadial_put_TextPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadDimRadial_INTERFACE_DEFINED__ */


#ifndef __IIcadDimRotated_INTERFACE_DEFINED__
#define __IIcadDimRotated_INTERFACE_DEFINED__

/* interface IIcadDimRotated */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadDimRotated;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c189-7e36-11d1-bc5a-0060089608a4")
    IIcadDimRotated : public IIcadDimension
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltRoundDistance( 
            /* [retval][out] */ double __RPC_FAR *Round) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltRoundDistance( 
            /* [in] */ double Round) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressLeadingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressLeadingZeroes( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressTrailingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressTrailingZeroes( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextPrefix( 
            /* [retval][out] */ BSTR __RPC_FAR *PrefixString) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltTextPrefix( 
            /* [in] */ BSTR PrefixString) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextSuffix( 
            /* [retval][out] */ BSTR __RPC_FAR *SuffixString) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltTextSuffix( 
            /* [in] */ BSTR SuffixString) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltTolerancePrecision( 
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltTolerancePrecision( 
            /* [in] */ DimPrecision Precision) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressLeadingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressLeadingZeroes( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressTrailingZeroes( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressTrailingZeroes( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnits( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Enable) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltUnits( 
            /* [in] */ VARIANT_BOOL Enable) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsFormat( 
            /* [retval][out] */ DimLUnits __RPC_FAR *Units) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsFormat( 
            /* [in] */ DimLUnits Units) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsPrecision( 
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsPrecision( 
            /* [in] */ DimPrecision Precision) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsScale( 
            /* [retval][out] */ double __RPC_FAR *Scale) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsScale( 
            /* [in] */ double Scale) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead1Block( 
            /* [retval][out] */ BSTR __RPC_FAR *BlockName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead1Block( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead1Type( 
            /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead1Type( 
            /* [in] */ DimArrowheadType ArrowheadType) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead2Block( 
            /* [retval][out] */ BSTR __RPC_FAR *BlockName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead2Block( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead2Type( 
            /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead2Type( 
            /* [in] */ DimArrowheadType ArrowheadType) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineColor( 
            /* [retval][out] */ Colors __RPC_FAR *Color) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineColor( 
            /* [in] */ Colors Color) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineExtend( 
            /* [retval][out] */ double __RPC_FAR *Distance) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineExtend( 
            /* [in] */ double Distance) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimLine1Suppress( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimLine1Suppress( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimLine2Suppress( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimLine2Suppress( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimLineInside( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimLineInside( 
            /* [in] */ VARIANT_BOOL Inside) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineColor( 
            /* [retval][out] */ Colors __RPC_FAR *Color) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineColor( 
            /* [in] */ Colors Color) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineExtend( 
            /* [retval][out] */ double __RPC_FAR *Extension) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineExtend( 
            /* [in] */ double Extension) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1Suppress( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1Suppress( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2Suppress( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2Suppress( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Fit( 
            /* [retval][out] */ DimFit __RPC_FAR *Fit) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Fit( 
            /* [in] */ DimFit Fit) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ForceLineInside( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ForceLineInside( 
            /* [in] */ VARIANT_BOOL Inside) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FractionFormat( 
            /* [retval][out] */ DimFractionType __RPC_FAR *Format) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FractionFormat( 
            /* [in] */ DimFractionType Format) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_HorizontalTextPosition( 
            /* [retval][out] */ DimHorizontalJustification __RPC_FAR *Position) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HorizontalTextPosition( 
            /* [in] */ DimHorizontalJustification Position) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LinearScaleFactor( 
            /* [retval][out] */ double __RPC_FAR *ScaleFactor) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LinearScaleFactor( 
            /* [in] */ double ScaleFactor) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PrimaryUnitsPrecision( 
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PrimaryUnitsPrecision( 
            /* [in] */ DimPrecision Precision) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RoundDistance( 
            /* [retval][out] */ double __RPC_FAR *Round) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RoundDistance( 
            /* [in] */ double Round) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroInches( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL Supress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextInside( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextInside( 
            /* [in] */ VARIANT_BOOL Inside) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextInsideAlign( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextInsideAlign( 
            /* [in] */ VARIANT_BOOL Alignment) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextOutsideAlign( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextOutsideAlign( 
            /* [in] */ VARIANT_BOOL Alignment) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextPrecision( 
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextPrecision( 
            /* [in] */ DimPrecision Precision) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadDimRotatedVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadDimRotated __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadDimRotated __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadDimRotated __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadDimRotated __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadDimRotated __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ArrowheadSize )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *ArrowheadSize);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ArrowheadSize )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ double ArrowheadSize);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DecimalSeparator )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *DecimalSeparator);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DecimalSeparator )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ BSTR DecimalSeparator);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtensionLineOffset )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Offset);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtensionLineOffset )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ double Offset);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Measurement )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Measurement )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ double Value);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ppExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rotation )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Rotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rotation )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ScaleFactor )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *ScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ScaleFactor )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StyleName )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *StyleName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StyleName )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ BSTR StyleName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressLeadingZeroes )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressLeadingZeroes )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressTrailingZeroes )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressTrailingZeroes )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextColor )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *Color);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextColor )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextGap )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Gap);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextGap )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ double Gap);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextHeight )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Height);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextHeight )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ double Height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextMovement )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ DimTextMovement __RPC_FAR *Movement);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextMovement )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ DimTextMovement Movement);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextPosition )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Position);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextPosition )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Position);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextOverride )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *String);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextOverride )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ BSTR String);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextPrefix )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *PrefixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextPrefix )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ BSTR PrefixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextString )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *String);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextString )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ BSTR String);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextRotation )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Rotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextRotation )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextStyle )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *StyleName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextStyle )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ BSTR StyleName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextSuffix )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *SuffixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextSuffix )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ BSTR SuffixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceDisplay )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ DimToleranceMethod __RPC_FAR *TolDisplay);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceDisplay )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ DimToleranceMethod TolDisplay);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceHeightScale )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *HeightScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceHeightScale )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ double HeightScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceJustification )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ DimToleranceJustify __RPC_FAR *TolJustify);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceJustification )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ DimToleranceJustify TolJustify);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceLowerLimit )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Limit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceLowerLimit )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ double Limit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressLeadingZeroes )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressLeadingZeroes )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressTrailingZeroes )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressTrailingZeroes )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressZeroInches )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressZeroInches )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressZeroFeet )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressZeroFeet )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceUpperLimit )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Limit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceUpperLimit )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ double Limit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TolerancePrecision )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TolerancePrecision )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UnitsFormat )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ DimLUnits __RPC_FAR *Units);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_UnitsFormat )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ DimLUnits Units);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VerticalTextPosition )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ DimVerticalJustification __RPC_FAR *Position);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VerticalTextPosition )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ DimVerticalJustification Position);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltRoundDistance )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Round);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltRoundDistance )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ double Round);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltSuppressLeadingZeroes )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltSuppressLeadingZeroes )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltSuppressTrailingZeroes )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltSuppressTrailingZeroes )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltSuppressZeroInches )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltSuppressZeroInches )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltSuppressZeroFeet )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltSuppressZeroFeet )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltTextPrefix )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *PrefixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltTextPrefix )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ BSTR PrefixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltTextSuffix )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *SuffixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltTextSuffix )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ BSTR SuffixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltTolerancePrecision )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltTolerancePrecision )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltToleranceSuppressLeadingZeroes )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltToleranceSuppressLeadingZeroes )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltToleranceSuppressTrailingZeroes )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltToleranceSuppressTrailingZeroes )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltToleranceSuppressZeroInches )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltToleranceSuppressZeroInches )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltToleranceSuppressZeroFeet )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltToleranceSuppressZeroFeet )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltUnits )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Enable);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltUnits )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Enable);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltUnitsFormat )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ DimLUnits __RPC_FAR *Units);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltUnitsFormat )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ DimLUnits Units);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltUnitsPrecision )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltUnitsPrecision )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AltUnitsScale )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Scale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AltUnitsScale )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ double Scale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Arrowhead1Block )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *BlockName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Arrowhead1Block )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Arrowhead1Type )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Arrowhead1Type )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ DimArrowheadType ArrowheadType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Arrowhead2Block )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *BlockName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Arrowhead2Block )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Arrowhead2Type )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Arrowhead2Type )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ DimArrowheadType ArrowheadType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimensionLineColor )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *Color);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimensionLineColor )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimensionLineExtend )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Distance);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimensionLineExtend )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ double Distance);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimLine1Suppress )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimLine1Suppress )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimLine2Suppress )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimLine2Suppress )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimLineInside )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimLineInside )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Inside);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtensionLineColor )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *Color);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtensionLineColor )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtensionLineExtend )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Extension);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtensionLineExtend )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ double Extension);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtLine1Suppress )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtLine1Suppress )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtLine2Suppress )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtLine2Suppress )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Fit )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ DimFit __RPC_FAR *Fit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Fit )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ DimFit Fit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ForceLineInside )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ForceLineInside )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Inside);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FractionFormat )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ DimFractionType __RPC_FAR *Format);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_FractionFormat )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ DimFractionType Format);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HorizontalTextPosition )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ DimHorizontalJustification __RPC_FAR *Position);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_HorizontalTextPosition )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ DimHorizontalJustification Position);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinearScaleFactor )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *ScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinearScaleFactor )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PrimaryUnitsPrecision )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PrimaryUnitsPrecision )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RoundDistance )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Round);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RoundDistance )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ double Round);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressZeroInches )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressZeroInches )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressZeroFeet )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressZeroFeet )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextInside )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextInside )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Inside);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextInsideAlign )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextInsideAlign )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Alignment);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextOutsideAlign )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextOutsideAlign )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Alignment);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextPrecision )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextPrecision )( 
            IIcadDimRotated __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        END_INTERFACE
    } IIcadDimRotatedVtbl;

    interface IIcadDimRotated
    {
        CONST_VTBL struct IIcadDimRotatedVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadDimRotated_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadDimRotated_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadDimRotated_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadDimRotated_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadDimRotated_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadDimRotated_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadDimRotated_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadDimRotated_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadDimRotated_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadDimRotated_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadDimRotated_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadDimRotated__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadDimRotated_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadDimRotated_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadDimRotated_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadDimRotated_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadDimRotated_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadDimRotated_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadDimRotated_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadDimRotated_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadDimRotated_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadDimRotated_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadDimRotated_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadDimRotated_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadDimRotated_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadDimRotated_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadDimRotated_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadDimRotated_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadDimRotated_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadDimRotated_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadDimRotated_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadDimRotated_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadDimRotated_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadDimRotated_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadDimRotated_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadDimRotated_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadDimRotated_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadDimRotated_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadDimRotated_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadDimRotated_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadDimRotated_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadDimRotated_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadDimRotated_get_ArrowheadSize(This,ArrowheadSize)	\
    (This)->lpVtbl -> get_ArrowheadSize(This,ArrowheadSize)

#define IIcadDimRotated_put_ArrowheadSize(This,ArrowheadSize)	\
    (This)->lpVtbl -> put_ArrowheadSize(This,ArrowheadSize)

#define IIcadDimRotated_get_DecimalSeparator(This,DecimalSeparator)	\
    (This)->lpVtbl -> get_DecimalSeparator(This,DecimalSeparator)

#define IIcadDimRotated_put_DecimalSeparator(This,DecimalSeparator)	\
    (This)->lpVtbl -> put_DecimalSeparator(This,DecimalSeparator)

#define IIcadDimRotated_get_ExtensionLineOffset(This,Offset)	\
    (This)->lpVtbl -> get_ExtensionLineOffset(This,Offset)

#define IIcadDimRotated_put_ExtensionLineOffset(This,Offset)	\
    (This)->lpVtbl -> put_ExtensionLineOffset(This,Offset)

#define IIcadDimRotated_get_Measurement(This,Value)	\
    (This)->lpVtbl -> get_Measurement(This,Value)

#define IIcadDimRotated_put_Measurement(This,Value)	\
    (This)->lpVtbl -> put_Measurement(This,Value)

#define IIcadDimRotated_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadDimRotated_put_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ppExtrusionDirection)

#define IIcadDimRotated_get_Rotation(This,Rotation)	\
    (This)->lpVtbl -> get_Rotation(This,Rotation)

#define IIcadDimRotated_put_Rotation(This,Rotation)	\
    (This)->lpVtbl -> put_Rotation(This,Rotation)

#define IIcadDimRotated_get_ScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> get_ScaleFactor(This,ScaleFactor)

#define IIcadDimRotated_put_ScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> put_ScaleFactor(This,ScaleFactor)

#define IIcadDimRotated_get_StyleName(This,StyleName)	\
    (This)->lpVtbl -> get_StyleName(This,StyleName)

#define IIcadDimRotated_put_StyleName(This,StyleName)	\
    (This)->lpVtbl -> put_StyleName(This,StyleName)

#define IIcadDimRotated_get_SuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_SuppressLeadingZeroes(This,Supress)

#define IIcadDimRotated_put_SuppressLeadingZeroes(This,Suppress)	\
    (This)->lpVtbl -> put_SuppressLeadingZeroes(This,Suppress)

#define IIcadDimRotated_get_SuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_SuppressTrailingZeroes(This,Supress)

#define IIcadDimRotated_put_SuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_SuppressTrailingZeroes(This,Supress)

#define IIcadDimRotated_get_TextColor(This,Color)	\
    (This)->lpVtbl -> get_TextColor(This,Color)

#define IIcadDimRotated_put_TextColor(This,Color)	\
    (This)->lpVtbl -> put_TextColor(This,Color)

#define IIcadDimRotated_get_TextGap(This,Gap)	\
    (This)->lpVtbl -> get_TextGap(This,Gap)

#define IIcadDimRotated_put_TextGap(This,Gap)	\
    (This)->lpVtbl -> put_TextGap(This,Gap)

#define IIcadDimRotated_get_TextHeight(This,Height)	\
    (This)->lpVtbl -> get_TextHeight(This,Height)

#define IIcadDimRotated_put_TextHeight(This,Height)	\
    (This)->lpVtbl -> put_TextHeight(This,Height)

#define IIcadDimRotated_get_TextMovement(This,Movement)	\
    (This)->lpVtbl -> get_TextMovement(This,Movement)

#define IIcadDimRotated_put_TextMovement(This,Movement)	\
    (This)->lpVtbl -> put_TextMovement(This,Movement)

#define IIcadDimRotated_get_TextPosition(This,Position)	\
    (This)->lpVtbl -> get_TextPosition(This,Position)

#define IIcadDimRotated_put_TextPosition(This,Position)	\
    (This)->lpVtbl -> put_TextPosition(This,Position)

#define IIcadDimRotated_get_TextOverride(This,String)	\
    (This)->lpVtbl -> get_TextOverride(This,String)

#define IIcadDimRotated_put_TextOverride(This,String)	\
    (This)->lpVtbl -> put_TextOverride(This,String)

#define IIcadDimRotated_get_TextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> get_TextPrefix(This,PrefixString)

#define IIcadDimRotated_put_TextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> put_TextPrefix(This,PrefixString)

#define IIcadDimRotated_get_TextString(This,String)	\
    (This)->lpVtbl -> get_TextString(This,String)

#define IIcadDimRotated_put_TextString(This,String)	\
    (This)->lpVtbl -> put_TextString(This,String)

#define IIcadDimRotated_get_TextRotation(This,Rotation)	\
    (This)->lpVtbl -> get_TextRotation(This,Rotation)

#define IIcadDimRotated_put_TextRotation(This,Rotation)	\
    (This)->lpVtbl -> put_TextRotation(This,Rotation)

#define IIcadDimRotated_get_TextStyle(This,StyleName)	\
    (This)->lpVtbl -> get_TextStyle(This,StyleName)

#define IIcadDimRotated_put_TextStyle(This,StyleName)	\
    (This)->lpVtbl -> put_TextStyle(This,StyleName)

#define IIcadDimRotated_get_TextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> get_TextSuffix(This,SuffixString)

#define IIcadDimRotated_put_TextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> put_TextSuffix(This,SuffixString)

#define IIcadDimRotated_get_ToleranceDisplay(This,TolDisplay)	\
    (This)->lpVtbl -> get_ToleranceDisplay(This,TolDisplay)

#define IIcadDimRotated_put_ToleranceDisplay(This,TolDisplay)	\
    (This)->lpVtbl -> put_ToleranceDisplay(This,TolDisplay)

#define IIcadDimRotated_get_ToleranceHeightScale(This,HeightScale)	\
    (This)->lpVtbl -> get_ToleranceHeightScale(This,HeightScale)

#define IIcadDimRotated_put_ToleranceHeightScale(This,HeightScale)	\
    (This)->lpVtbl -> put_ToleranceHeightScale(This,HeightScale)

#define IIcadDimRotated_get_ToleranceJustification(This,TolJustify)	\
    (This)->lpVtbl -> get_ToleranceJustification(This,TolJustify)

#define IIcadDimRotated_put_ToleranceJustification(This,TolJustify)	\
    (This)->lpVtbl -> put_ToleranceJustification(This,TolJustify)

#define IIcadDimRotated_get_ToleranceLowerLimit(This,Limit)	\
    (This)->lpVtbl -> get_ToleranceLowerLimit(This,Limit)

#define IIcadDimRotated_put_ToleranceLowerLimit(This,Limit)	\
    (This)->lpVtbl -> put_ToleranceLowerLimit(This,Limit)

#define IIcadDimRotated_get_ToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimRotated_put_ToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimRotated_get_ToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimRotated_put_ToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimRotated_get_ToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressZeroInches(This,Supress)

#define IIcadDimRotated_put_ToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressZeroInches(This,Supress)

#define IIcadDimRotated_get_ToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimRotated_put_ToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimRotated_get_ToleranceUpperLimit(This,Limit)	\
    (This)->lpVtbl -> get_ToleranceUpperLimit(This,Limit)

#define IIcadDimRotated_put_ToleranceUpperLimit(This,Limit)	\
    (This)->lpVtbl -> put_ToleranceUpperLimit(This,Limit)

#define IIcadDimRotated_get_TolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> get_TolerancePrecision(This,Precision)

#define IIcadDimRotated_put_TolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> put_TolerancePrecision(This,Precision)

#define IIcadDimRotated_get_UnitsFormat(This,Units)	\
    (This)->lpVtbl -> get_UnitsFormat(This,Units)

#define IIcadDimRotated_put_UnitsFormat(This,Units)	\
    (This)->lpVtbl -> put_UnitsFormat(This,Units)

#define IIcadDimRotated_get_VerticalTextPosition(This,Position)	\
    (This)->lpVtbl -> get_VerticalTextPosition(This,Position)

#define IIcadDimRotated_put_VerticalTextPosition(This,Position)	\
    (This)->lpVtbl -> put_VerticalTextPosition(This,Position)


#define IIcadDimRotated_get_AltRoundDistance(This,Round)	\
    (This)->lpVtbl -> get_AltRoundDistance(This,Round)

#define IIcadDimRotated_put_AltRoundDistance(This,Round)	\
    (This)->lpVtbl -> put_AltRoundDistance(This,Round)

#define IIcadDimRotated_get_AltSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_AltSuppressLeadingZeroes(This,Supress)

#define IIcadDimRotated_put_AltSuppressLeadingZeroes(This,Suppress)	\
    (This)->lpVtbl -> put_AltSuppressLeadingZeroes(This,Suppress)

#define IIcadDimRotated_get_AltSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_AltSuppressTrailingZeroes(This,Supress)

#define IIcadDimRotated_put_AltSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_AltSuppressTrailingZeroes(This,Supress)

#define IIcadDimRotated_get_AltSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_AltSuppressZeroInches(This,Supress)

#define IIcadDimRotated_put_AltSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_AltSuppressZeroInches(This,Supress)

#define IIcadDimRotated_get_AltSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_AltSuppressZeroFeet(This,Supress)

#define IIcadDimRotated_put_AltSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_AltSuppressZeroFeet(This,Supress)

#define IIcadDimRotated_get_AltTextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> get_AltTextPrefix(This,PrefixString)

#define IIcadDimRotated_put_AltTextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> put_AltTextPrefix(This,PrefixString)

#define IIcadDimRotated_get_AltTextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> get_AltTextSuffix(This,SuffixString)

#define IIcadDimRotated_put_AltTextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> put_AltTextSuffix(This,SuffixString)

#define IIcadDimRotated_get_AltTolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> get_AltTolerancePrecision(This,Precision)

#define IIcadDimRotated_put_AltTolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> put_AltTolerancePrecision(This,Precision)

#define IIcadDimRotated_get_AltToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_AltToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimRotated_put_AltToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_AltToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDimRotated_get_AltToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_AltToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimRotated_put_AltToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_AltToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDimRotated_get_AltToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_AltToleranceSuppressZeroInches(This,Supress)

#define IIcadDimRotated_put_AltToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_AltToleranceSuppressZeroInches(This,Supress)

#define IIcadDimRotated_get_AltToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_AltToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimRotated_put_AltToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_AltToleranceSuppressZeroFeet(This,Supress)

#define IIcadDimRotated_get_AltUnits(This,Enable)	\
    (This)->lpVtbl -> get_AltUnits(This,Enable)

#define IIcadDimRotated_put_AltUnits(This,Enable)	\
    (This)->lpVtbl -> put_AltUnits(This,Enable)

#define IIcadDimRotated_get_AltUnitsFormat(This,Units)	\
    (This)->lpVtbl -> get_AltUnitsFormat(This,Units)

#define IIcadDimRotated_put_AltUnitsFormat(This,Units)	\
    (This)->lpVtbl -> put_AltUnitsFormat(This,Units)

#define IIcadDimRotated_get_AltUnitsPrecision(This,Precision)	\
    (This)->lpVtbl -> get_AltUnitsPrecision(This,Precision)

#define IIcadDimRotated_put_AltUnitsPrecision(This,Precision)	\
    (This)->lpVtbl -> put_AltUnitsPrecision(This,Precision)

#define IIcadDimRotated_get_AltUnitsScale(This,Scale)	\
    (This)->lpVtbl -> get_AltUnitsScale(This,Scale)

#define IIcadDimRotated_put_AltUnitsScale(This,Scale)	\
    (This)->lpVtbl -> put_AltUnitsScale(This,Scale)

#define IIcadDimRotated_get_Arrowhead1Block(This,BlockName)	\
    (This)->lpVtbl -> get_Arrowhead1Block(This,BlockName)

#define IIcadDimRotated_put_Arrowhead1Block(This,BlockName)	\
    (This)->lpVtbl -> put_Arrowhead1Block(This,BlockName)

#define IIcadDimRotated_get_Arrowhead1Type(This,ArrowheadType)	\
    (This)->lpVtbl -> get_Arrowhead1Type(This,ArrowheadType)

#define IIcadDimRotated_put_Arrowhead1Type(This,ArrowheadType)	\
    (This)->lpVtbl -> put_Arrowhead1Type(This,ArrowheadType)

#define IIcadDimRotated_get_Arrowhead2Block(This,BlockName)	\
    (This)->lpVtbl -> get_Arrowhead2Block(This,BlockName)

#define IIcadDimRotated_put_Arrowhead2Block(This,BlockName)	\
    (This)->lpVtbl -> put_Arrowhead2Block(This,BlockName)

#define IIcadDimRotated_get_Arrowhead2Type(This,ArrowheadType)	\
    (This)->lpVtbl -> get_Arrowhead2Type(This,ArrowheadType)

#define IIcadDimRotated_put_Arrowhead2Type(This,ArrowheadType)	\
    (This)->lpVtbl -> put_Arrowhead2Type(This,ArrowheadType)

#define IIcadDimRotated_get_DimensionLineColor(This,Color)	\
    (This)->lpVtbl -> get_DimensionLineColor(This,Color)

#define IIcadDimRotated_put_DimensionLineColor(This,Color)	\
    (This)->lpVtbl -> put_DimensionLineColor(This,Color)

#define IIcadDimRotated_get_DimensionLineExtend(This,Distance)	\
    (This)->lpVtbl -> get_DimensionLineExtend(This,Distance)

#define IIcadDimRotated_put_DimensionLineExtend(This,Distance)	\
    (This)->lpVtbl -> put_DimensionLineExtend(This,Distance)

#define IIcadDimRotated_get_DimLine1Suppress(This,Supress)	\
    (This)->lpVtbl -> get_DimLine1Suppress(This,Supress)

#define IIcadDimRotated_put_DimLine1Suppress(This,Suppress)	\
    (This)->lpVtbl -> put_DimLine1Suppress(This,Suppress)

#define IIcadDimRotated_get_DimLine2Suppress(This,Supress)	\
    (This)->lpVtbl -> get_DimLine2Suppress(This,Supress)

#define IIcadDimRotated_put_DimLine2Suppress(This,Suppress)	\
    (This)->lpVtbl -> put_DimLine2Suppress(This,Suppress)

#define IIcadDimRotated_get_DimLineInside(This,Inside)	\
    (This)->lpVtbl -> get_DimLineInside(This,Inside)

#define IIcadDimRotated_put_DimLineInside(This,Inside)	\
    (This)->lpVtbl -> put_DimLineInside(This,Inside)

#define IIcadDimRotated_get_ExtensionLineColor(This,Color)	\
    (This)->lpVtbl -> get_ExtensionLineColor(This,Color)

#define IIcadDimRotated_put_ExtensionLineColor(This,Color)	\
    (This)->lpVtbl -> put_ExtensionLineColor(This,Color)

#define IIcadDimRotated_get_ExtensionLineExtend(This,Extension)	\
    (This)->lpVtbl -> get_ExtensionLineExtend(This,Extension)

#define IIcadDimRotated_put_ExtensionLineExtend(This,Extension)	\
    (This)->lpVtbl -> put_ExtensionLineExtend(This,Extension)

#define IIcadDimRotated_get_ExtLine1Suppress(This,Supress)	\
    (This)->lpVtbl -> get_ExtLine1Suppress(This,Supress)

#define IIcadDimRotated_put_ExtLine1Suppress(This,Suppress)	\
    (This)->lpVtbl -> put_ExtLine1Suppress(This,Suppress)

#define IIcadDimRotated_get_ExtLine2Suppress(This,Supress)	\
    (This)->lpVtbl -> get_ExtLine2Suppress(This,Supress)

#define IIcadDimRotated_put_ExtLine2Suppress(This,Suppress)	\
    (This)->lpVtbl -> put_ExtLine2Suppress(This,Suppress)

#define IIcadDimRotated_get_Fit(This,Fit)	\
    (This)->lpVtbl -> get_Fit(This,Fit)

#define IIcadDimRotated_put_Fit(This,Fit)	\
    (This)->lpVtbl -> put_Fit(This,Fit)

#define IIcadDimRotated_get_ForceLineInside(This,Inside)	\
    (This)->lpVtbl -> get_ForceLineInside(This,Inside)

#define IIcadDimRotated_put_ForceLineInside(This,Inside)	\
    (This)->lpVtbl -> put_ForceLineInside(This,Inside)

#define IIcadDimRotated_get_FractionFormat(This,Format)	\
    (This)->lpVtbl -> get_FractionFormat(This,Format)

#define IIcadDimRotated_put_FractionFormat(This,Format)	\
    (This)->lpVtbl -> put_FractionFormat(This,Format)

#define IIcadDimRotated_get_HorizontalTextPosition(This,Position)	\
    (This)->lpVtbl -> get_HorizontalTextPosition(This,Position)

#define IIcadDimRotated_put_HorizontalTextPosition(This,Position)	\
    (This)->lpVtbl -> put_HorizontalTextPosition(This,Position)

#define IIcadDimRotated_get_LinearScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> get_LinearScaleFactor(This,ScaleFactor)

#define IIcadDimRotated_put_LinearScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> put_LinearScaleFactor(This,ScaleFactor)

#define IIcadDimRotated_get_PrimaryUnitsPrecision(This,Precision)	\
    (This)->lpVtbl -> get_PrimaryUnitsPrecision(This,Precision)

#define IIcadDimRotated_put_PrimaryUnitsPrecision(This,Precision)	\
    (This)->lpVtbl -> put_PrimaryUnitsPrecision(This,Precision)

#define IIcadDimRotated_get_RoundDistance(This,Round)	\
    (This)->lpVtbl -> get_RoundDistance(This,Round)

#define IIcadDimRotated_put_RoundDistance(This,Round)	\
    (This)->lpVtbl -> put_RoundDistance(This,Round)

#define IIcadDimRotated_get_SuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_SuppressZeroInches(This,Supress)

#define IIcadDimRotated_put_SuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_SuppressZeroInches(This,Supress)

#define IIcadDimRotated_get_SuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_SuppressZeroFeet(This,Supress)

#define IIcadDimRotated_put_SuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_SuppressZeroFeet(This,Supress)

#define IIcadDimRotated_get_TextInside(This,Inside)	\
    (This)->lpVtbl -> get_TextInside(This,Inside)

#define IIcadDimRotated_put_TextInside(This,Inside)	\
    (This)->lpVtbl -> put_TextInside(This,Inside)

#define IIcadDimRotated_get_TextInsideAlign(This,Alignment)	\
    (This)->lpVtbl -> get_TextInsideAlign(This,Alignment)

#define IIcadDimRotated_put_TextInsideAlign(This,Alignment)	\
    (This)->lpVtbl -> put_TextInsideAlign(This,Alignment)

#define IIcadDimRotated_get_TextOutsideAlign(This,Alignment)	\
    (This)->lpVtbl -> get_TextOutsideAlign(This,Alignment)

#define IIcadDimRotated_put_TextOutsideAlign(This,Alignment)	\
    (This)->lpVtbl -> put_TextOutsideAlign(This,Alignment)

#define IIcadDimRotated_get_TextPrecision(This,Precision)	\
    (This)->lpVtbl -> get_TextPrecision(This,Precision)

#define IIcadDimRotated_put_TextPrecision(This,Precision)	\
    (This)->lpVtbl -> put_TextPrecision(This,Precision)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_AltRoundDistance_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Round);


void __RPC_STUB IIcadDimRotated_get_AltRoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_AltRoundDistance_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ double Round);


void __RPC_STUB IIcadDimRotated_put_AltRoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_AltSuppressLeadingZeroes_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRotated_get_AltSuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_AltSuppressLeadingZeroes_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDimRotated_put_AltSuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_AltSuppressTrailingZeroes_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRotated_get_AltSuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_AltSuppressTrailingZeroes_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimRotated_put_AltSuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_AltSuppressZeroInches_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRotated_get_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_AltSuppressZeroInches_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimRotated_put_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_AltSuppressZeroFeet_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRotated_get_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_AltSuppressZeroFeet_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimRotated_put_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_AltTextPrefix_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *PrefixString);


void __RPC_STUB IIcadDimRotated_get_AltTextPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_AltTextPrefix_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ BSTR PrefixString);


void __RPC_STUB IIcadDimRotated_put_AltTextPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_AltTextSuffix_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *SuffixString);


void __RPC_STUB IIcadDimRotated_get_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_AltTextSuffix_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ BSTR SuffixString);


void __RPC_STUB IIcadDimRotated_put_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_AltTolerancePrecision_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ DimPrecision __RPC_FAR *Precision);


void __RPC_STUB IIcadDimRotated_get_AltTolerancePrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_AltTolerancePrecision_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ DimPrecision Precision);


void __RPC_STUB IIcadDimRotated_put_AltTolerancePrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_AltToleranceSuppressLeadingZeroes_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRotated_get_AltToleranceSuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_AltToleranceSuppressLeadingZeroes_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimRotated_put_AltToleranceSuppressLeadingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_AltToleranceSuppressTrailingZeroes_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRotated_get_AltToleranceSuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_AltToleranceSuppressTrailingZeroes_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimRotated_put_AltToleranceSuppressTrailingZeroes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_AltToleranceSuppressZeroInches_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRotated_get_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_AltToleranceSuppressZeroInches_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimRotated_put_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_AltToleranceSuppressZeroFeet_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRotated_get_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_AltToleranceSuppressZeroFeet_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimRotated_put_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_AltUnits_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Enable);


void __RPC_STUB IIcadDimRotated_get_AltUnits_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_AltUnits_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Enable);


void __RPC_STUB IIcadDimRotated_put_AltUnits_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_AltUnitsFormat_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ DimLUnits __RPC_FAR *Units);


void __RPC_STUB IIcadDimRotated_get_AltUnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_AltUnitsFormat_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ DimLUnits Units);


void __RPC_STUB IIcadDimRotated_put_AltUnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_AltUnitsPrecision_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ DimPrecision __RPC_FAR *Precision);


void __RPC_STUB IIcadDimRotated_get_AltUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_AltUnitsPrecision_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ DimPrecision Precision);


void __RPC_STUB IIcadDimRotated_put_AltUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_AltUnitsScale_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Scale);


void __RPC_STUB IIcadDimRotated_get_AltUnitsScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_AltUnitsScale_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ double Scale);


void __RPC_STUB IIcadDimRotated_put_AltUnitsScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_Arrowhead1Block_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *BlockName);


void __RPC_STUB IIcadDimRotated_get_Arrowhead1Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_Arrowhead1Block_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IIcadDimRotated_put_Arrowhead1Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_Arrowhead1Type_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType);


void __RPC_STUB IIcadDimRotated_get_Arrowhead1Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_Arrowhead1Type_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ DimArrowheadType ArrowheadType);


void __RPC_STUB IIcadDimRotated_put_Arrowhead1Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_Arrowhead2Block_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *BlockName);


void __RPC_STUB IIcadDimRotated_get_Arrowhead2Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_Arrowhead2Block_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IIcadDimRotated_put_Arrowhead2Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_Arrowhead2Type_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType);


void __RPC_STUB IIcadDimRotated_get_Arrowhead2Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_Arrowhead2Type_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ DimArrowheadType ArrowheadType);


void __RPC_STUB IIcadDimRotated_put_Arrowhead2Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_DimensionLineColor_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ Colors __RPC_FAR *Color);


void __RPC_STUB IIcadDimRotated_get_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_DimensionLineColor_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ Colors Color);


void __RPC_STUB IIcadDimRotated_put_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_DimensionLineExtend_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Distance);


void __RPC_STUB IIcadDimRotated_get_DimensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_DimensionLineExtend_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ double Distance);


void __RPC_STUB IIcadDimRotated_put_DimensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_DimLine1Suppress_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRotated_get_DimLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_DimLine1Suppress_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDimRotated_put_DimLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_DimLine2Suppress_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRotated_get_DimLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_DimLine2Suppress_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDimRotated_put_DimLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_DimLineInside_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);


void __RPC_STUB IIcadDimRotated_get_DimLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_DimLineInside_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Inside);


void __RPC_STUB IIcadDimRotated_put_DimLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_ExtensionLineColor_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ Colors __RPC_FAR *Color);


void __RPC_STUB IIcadDimRotated_get_ExtensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_ExtensionLineColor_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ Colors Color);


void __RPC_STUB IIcadDimRotated_put_ExtensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_ExtensionLineExtend_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Extension);


void __RPC_STUB IIcadDimRotated_get_ExtensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_ExtensionLineExtend_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ double Extension);


void __RPC_STUB IIcadDimRotated_put_ExtensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_ExtLine1Suppress_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRotated_get_ExtLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_ExtLine1Suppress_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDimRotated_put_ExtLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_ExtLine2Suppress_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRotated_get_ExtLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_ExtLine2Suppress_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDimRotated_put_ExtLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_Fit_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ DimFit __RPC_FAR *Fit);


void __RPC_STUB IIcadDimRotated_get_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_Fit_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ DimFit Fit);


void __RPC_STUB IIcadDimRotated_put_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_ForceLineInside_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);


void __RPC_STUB IIcadDimRotated_get_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_ForceLineInside_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Inside);


void __RPC_STUB IIcadDimRotated_put_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_FractionFormat_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ DimFractionType __RPC_FAR *Format);


void __RPC_STUB IIcadDimRotated_get_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_FractionFormat_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ DimFractionType Format);


void __RPC_STUB IIcadDimRotated_put_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_HorizontalTextPosition_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ DimHorizontalJustification __RPC_FAR *Position);


void __RPC_STUB IIcadDimRotated_get_HorizontalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_HorizontalTextPosition_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ DimHorizontalJustification Position);


void __RPC_STUB IIcadDimRotated_put_HorizontalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_LinearScaleFactor_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *ScaleFactor);


void __RPC_STUB IIcadDimRotated_get_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_LinearScaleFactor_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ double ScaleFactor);


void __RPC_STUB IIcadDimRotated_put_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_PrimaryUnitsPrecision_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ DimPrecision __RPC_FAR *Precision);


void __RPC_STUB IIcadDimRotated_get_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_PrimaryUnitsPrecision_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ DimPrecision Precision);


void __RPC_STUB IIcadDimRotated_put_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_RoundDistance_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Round);


void __RPC_STUB IIcadDimRotated_get_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_RoundDistance_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ double Round);


void __RPC_STUB IIcadDimRotated_put_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_SuppressZeroInches_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRotated_get_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_SuppressZeroInches_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimRotated_put_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_SuppressZeroFeet_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDimRotated_get_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_SuppressZeroFeet_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Supress);


void __RPC_STUB IIcadDimRotated_put_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_TextInside_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);


void __RPC_STUB IIcadDimRotated_get_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_TextInside_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Inside);


void __RPC_STUB IIcadDimRotated_put_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_TextInsideAlign_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);


void __RPC_STUB IIcadDimRotated_get_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_TextInsideAlign_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Alignment);


void __RPC_STUB IIcadDimRotated_put_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_TextOutsideAlign_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);


void __RPC_STUB IIcadDimRotated_get_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_TextOutsideAlign_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Alignment);


void __RPC_STUB IIcadDimRotated_put_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_get_TextPrecision_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [retval][out] */ DimPrecision __RPC_FAR *Precision);


void __RPC_STUB IIcadDimRotated_get_TextPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDimRotated_put_TextPrecision_Proxy( 
    IIcadDimRotated __RPC_FAR * This,
    /* [in] */ DimPrecision Precision);


void __RPC_STUB IIcadDimRotated_put_TextPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadDimRotated_INTERFACE_DEFINED__ */


#ifndef __IIcadDim3PointAngular_INTERFACE_DEFINED__
#define __IIcadDim3PointAngular_INTERFACE_DEFINED__

/* interface IIcadDim3PointAngular */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadDim3PointAngular;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c18a-7e36-11d1-bc5a-0060089608a4")
    IIcadDim3PointAngular : public IIcadDimension
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AngleFormat( 
            /* [retval][out] */ AngleUnits __RPC_FAR *Movement) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AngleFormat( 
            /* [in] */ AngleUnits Movement) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AngleVertex( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AngleVertex( 
            /* [in] */ IIcadPoint __RPC_FAR *Point) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead1Block( 
            /* [retval][out] */ BSTR __RPC_FAR *BlockName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead1Block( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead1Type( 
            /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead1Type( 
            /* [in] */ DimArrowheadType ArrowheadType) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead2Block( 
            /* [retval][out] */ BSTR __RPC_FAR *BlockName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead2Block( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead2Type( 
            /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead2Type( 
            /* [in] */ DimArrowheadType ArrowheadType) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineColor( 
            /* [retval][out] */ Colors __RPC_FAR *Color) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineColor( 
            /* [in] */ Colors Color) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimLine1Suppress( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimLine1Suppress( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimLine2Suppress( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimLine2Suppress( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimLineInside( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DimLineInside( 
            /* [in] */ VARIANT_BOOL Inside) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineColor( 
            /* [retval][out] */ Colors __RPC_FAR *Color) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineColor( 
            /* [in] */ Colors Color) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineExtend( 
            /* [retval][out] */ double __RPC_FAR *Extension) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineExtend( 
            /* [in] */ double Extension) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1StartPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1StartPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *Point) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1EndPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1EndPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *Point) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1Suppress( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1Suppress( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2EndPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2EndPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *Point) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2StartPoint( 
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2StartPoint( 
            /* [in] */ IIcadPoint __RPC_FAR *Point) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2Suppress( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2Suppress( 
            /* [in] */ VARIANT_BOOL Suppress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Fit( 
            /* [retval][out] */ DimFit __RPC_FAR *Fit) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Fit( 
            /* [in] */ DimFit Fit) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ForceLineInside( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ForceLineInside( 
            /* [in] */ VARIANT_BOOL Inside) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_HorizontalTextPosition( 
            /* [retval][out] */ DimHorizontalJustification __RPC_FAR *Position) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HorizontalTextPosition( 
            /* [in] */ DimHorizontalJustification Position) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextInside( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextInside( 
            /* [in] */ VARIANT_BOOL Inside) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextInsideAlign( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextInsideAlign( 
            /* [in] */ VARIANT_BOOL Alignment) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextOutsideAlign( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextOutsideAlign( 
            /* [in] */ VARIANT_BOOL Alignment) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextPrecision( 
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextPrecision( 
            /* [in] */ DimPrecision Precision) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadDim3PointAngularVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadDim3PointAngular __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadDim3PointAngular __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Document )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppDoc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrHandle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_handitem )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pHanditem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetXData )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ BSTR AppName,
            /* [out][in] */ VARIANT __RPC_FAR *TypeArray,
            /* [out][in] */ VARIANT __RPC_FAR *DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetXData )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ VARIANT TypeArray,
            /* [in] */ VARIANT DataArray);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IIcadDim3PointAngular __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Color )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *pColor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Color )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityName )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pEntName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EntityType )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ EntityType __RPC_FAR *pType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layer )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Layer )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetype )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Linetype )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LinetypeScale )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *LinetypeScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LinetypeScale )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ double LinetypeScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVisible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayPolar )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double IncludedAngle,
            /* [in] */ IIcadPoint __RPC_FAR *CenterPoint,
            /* [in] */ IIcadPoint __RPC_FAR *PointOnAxis,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL RotateObjects,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArrayRectangular )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double GapBetweenRows,
            /* [in] */ double GapBetweenColumns,
            /* [in] */ double GapBetweenLevels,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *ppCopy);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Erase )( 
            IIcadDim3PointAngular __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBoundingBox )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MinPoint,
            /* [out][in] */ IIcadPoint __RPC_FAR *__RPC_FAR *MaxPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Highlight )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IntersectWith )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ IDispatch __RPC_FAR *IntersectingObject,
            /* [in] */ IntersectOptions Option,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppIntersectingPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Mirror3D )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL MakeCopy,
            /* [retval][out] */ IIcadEntity __RPC_FAR *__RPC_FAR *MirroredEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rotate3D )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleEntity )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransformBy )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ IIcadMatrix __RPC_FAR *Matrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IIcadDim3PointAngular __RPC_FAR * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ArrowheadSize )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *ArrowheadSize);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ArrowheadSize )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ double ArrowheadSize);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DecimalSeparator )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *DecimalSeparator);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DecimalSeparator )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ BSTR DecimalSeparator);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtensionLineOffset )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Offset);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtensionLineOffset )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ double Offset);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Measurement )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Measurement )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ double Value);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Normal )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ IIcadVector __RPC_FAR *__RPC_FAR *ppExtrusionDirection);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Normal )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ IIcadVector __RPC_FAR *ppExtrusionDirection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rotation )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Rotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rotation )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ScaleFactor )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *ScaleFactor);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ScaleFactor )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ double ScaleFactor);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StyleName )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *StyleName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StyleName )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ BSTR StyleName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressLeadingZeroes )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressLeadingZeroes )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SuppressTrailingZeroes )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SuppressTrailingZeroes )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextColor )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *Color);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextColor )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextGap )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Gap);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextGap )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ double Gap);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextHeight )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Height);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextHeight )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ double Height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextMovement )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ DimTextMovement __RPC_FAR *Movement);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextMovement )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ DimTextMovement Movement);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextPosition )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Position);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextPosition )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Position);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextOverride )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *String);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextOverride )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ BSTR String);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextPrefix )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *PrefixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextPrefix )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ BSTR PrefixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextString )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *String);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextString )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ BSTR String);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextRotation )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Rotation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextRotation )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ double Rotation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextStyle )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *StyleName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextStyle )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ BSTR StyleName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextSuffix )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *SuffixString);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextSuffix )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ BSTR SuffixString);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceDisplay )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ DimToleranceMethod __RPC_FAR *TolDisplay);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceDisplay )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ DimToleranceMethod TolDisplay);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceHeightScale )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *HeightScale);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceHeightScale )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ double HeightScale);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceJustification )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ DimToleranceJustify __RPC_FAR *TolJustify);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceJustification )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ DimToleranceJustify TolJustify);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceLowerLimit )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Limit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceLowerLimit )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ double Limit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressLeadingZeroes )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressLeadingZeroes )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressTrailingZeroes )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressTrailingZeroes )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressZeroInches )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressZeroInches )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceSuppressZeroFeet )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceSuppressZeroFeet )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Supress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ToleranceUpperLimit )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Limit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ToleranceUpperLimit )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ double Limit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TolerancePrecision )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TolerancePrecision )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UnitsFormat )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ DimLUnits __RPC_FAR *Units);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_UnitsFormat )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ DimLUnits Units);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VerticalTextPosition )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ DimVerticalJustification __RPC_FAR *Position);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VerticalTextPosition )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ DimVerticalJustification Position);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AngleFormat )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ AngleUnits __RPC_FAR *Movement);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AngleFormat )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ AngleUnits Movement);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AngleVertex )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AngleVertex )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Arrowhead1Block )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *BlockName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Arrowhead1Block )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Arrowhead1Type )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Arrowhead1Type )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ DimArrowheadType ArrowheadType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Arrowhead2Block )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *BlockName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Arrowhead2Block )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Arrowhead2Type )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Arrowhead2Type )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ DimArrowheadType ArrowheadType);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimensionLineColor )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *Color);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimensionLineColor )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimLine1Suppress )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimLine1Suppress )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimLine2Suppress )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimLine2Suppress )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimLineInside )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DimLineInside )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Inside);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtensionLineColor )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ Colors __RPC_FAR *Color);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtensionLineColor )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ Colors Color);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtensionLineExtend )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Extension);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtensionLineExtend )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ double Extension);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtLine1StartPoint )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtLine1StartPoint )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtLine1EndPoint )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtLine1EndPoint )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtLine1Suppress )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtLine1Suppress )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtLine2EndPoint )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtLine2EndPoint )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtLine2StartPoint )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtLine2StartPoint )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExtLine2Suppress )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExtLine2Suppress )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Suppress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Fit )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ DimFit __RPC_FAR *Fit);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Fit )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ DimFit Fit);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ForceLineInside )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ForceLineInside )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Inside);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HorizontalTextPosition )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ DimHorizontalJustification __RPC_FAR *Position);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_HorizontalTextPosition )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ DimHorizontalJustification Position);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextInside )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextInside )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Inside);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextInsideAlign )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextInsideAlign )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Alignment);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextOutsideAlign )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextOutsideAlign )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Alignment);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextPrecision )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [retval][out] */ DimPrecision __RPC_FAR *Precision);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextPrecision )( 
            IIcadDim3PointAngular __RPC_FAR * This,
            /* [in] */ DimPrecision Precision);
        
        END_INTERFACE
    } IIcadDim3PointAngularVtbl;

    interface IIcadDim3PointAngular
    {
        CONST_VTBL struct IIcadDim3PointAngularVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadDim3PointAngular_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadDim3PointAngular_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadDim3PointAngular_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadDim3PointAngular_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadDim3PointAngular_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadDim3PointAngular_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadDim3PointAngular_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadDim3PointAngular_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadDim3PointAngular_get_Document(This,ppDoc)	\
    (This)->lpVtbl -> get_Document(This,ppDoc)

#define IIcadDim3PointAngular_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadDim3PointAngular_get_Handle(This,pstrHandle)	\
    (This)->lpVtbl -> get_Handle(This,pstrHandle)

#define IIcadDim3PointAngular__handitem(This,pHanditem)	\
    (This)->lpVtbl -> _handitem(This,pHanditem)

#define IIcadDim3PointAngular_GetXData(This,AppName,TypeArray,DataArray)	\
    (This)->lpVtbl -> GetXData(This,AppName,TypeArray,DataArray)

#define IIcadDim3PointAngular_SetXData(This,TypeArray,DataArray)	\
    (This)->lpVtbl -> SetXData(This,TypeArray,DataArray)

#define IIcadDim3PointAngular_Delete(This)	\
    (This)->lpVtbl -> Delete(This)


#define IIcadDim3PointAngular_get_Color(This,pColor)	\
    (This)->lpVtbl -> get_Color(This,pColor)

#define IIcadDim3PointAngular_put_Color(This,Color)	\
    (This)->lpVtbl -> put_Color(This,Color)

#define IIcadDim3PointAngular_get_EntityName(This,pEntName)	\
    (This)->lpVtbl -> get_EntityName(This,pEntName)

#define IIcadDim3PointAngular_get_EntityType(This,pType)	\
    (This)->lpVtbl -> get_EntityType(This,pType)

#define IIcadDim3PointAngular_get_Layer(This,pLayer)	\
    (This)->lpVtbl -> get_Layer(This,pLayer)

#define IIcadDim3PointAngular_put_Layer(This,Layer)	\
    (This)->lpVtbl -> put_Layer(This,Layer)

#define IIcadDim3PointAngular_get_Linetype(This,pLinetype)	\
    (This)->lpVtbl -> get_Linetype(This,pLinetype)

#define IIcadDim3PointAngular_put_Linetype(This,Linetype)	\
    (This)->lpVtbl -> put_Linetype(This,Linetype)

#define IIcadDim3PointAngular_get_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> get_LinetypeScale(This,LinetypeScale)

#define IIcadDim3PointAngular_put_LinetypeScale(This,LinetypeScale)	\
    (This)->lpVtbl -> put_LinetypeScale(This,LinetypeScale)

#define IIcadDim3PointAngular_get_Visible(This,pVisible)	\
    (This)->lpVtbl -> get_Visible(This,pVisible)

#define IIcadDim3PointAngular_put_Visible(This,Visible)	\
    (This)->lpVtbl -> put_Visible(This,Visible)

#define IIcadDim3PointAngular_ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)	\
    (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,IncludedAngle,CenterPoint,PointOnAxis,RotateObjects,ppObjects)

#define IIcadDim3PointAngular_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)	\
    (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,GapBetweenRows,GapBetweenColumns,GapBetweenLevels,ppObjects)

#define IIcadDim3PointAngular_Copy(This,ppCopy)	\
    (This)->lpVtbl -> Copy(This,ppCopy)

#define IIcadDim3PointAngular_Erase(This)	\
    (This)->lpVtbl -> Erase(This)

#define IIcadDim3PointAngular_GetBoundingBox(This,MinPoint,MaxPoint)	\
    (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint)

#define IIcadDim3PointAngular_Highlight(This,HighlightFlag)	\
    (This)->lpVtbl -> Highlight(This,HighlightFlag)

#define IIcadDim3PointAngular_IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)	\
    (This)->lpVtbl -> IntersectWith(This,IntersectingObject,Option,ppIntersectingPoints)

#define IIcadDim3PointAngular_Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror(This,Point1,Point2,MakeCopy,MirroredEntity)

#define IIcadDim3PointAngular_Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)	\
    (This)->lpVtbl -> Mirror3D(This,Point1,Point2,Point3,MakeCopy,MirroredEntity)

#define IIcadDim3PointAngular_Move(This,Point1,Point2)	\
    (This)->lpVtbl -> Move(This,Point1,Point2)

#define IIcadDim3PointAngular_Rotate(This,BasePoint,RotationAngle)	\
    (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle)

#define IIcadDim3PointAngular_Rotate3D(This,Point1,Point2,RotationAngle)	\
    (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle)

#define IIcadDim3PointAngular_ScaleEntity(This,BasePoint,ScaleFactor)	\
    (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor)

#define IIcadDim3PointAngular_TransformBy(This,Matrix)	\
    (This)->lpVtbl -> TransformBy(This,Matrix)

#define IIcadDim3PointAngular_Update(This)	\
    (This)->lpVtbl -> Update(This)


#define IIcadDim3PointAngular_get_ArrowheadSize(This,ArrowheadSize)	\
    (This)->lpVtbl -> get_ArrowheadSize(This,ArrowheadSize)

#define IIcadDim3PointAngular_put_ArrowheadSize(This,ArrowheadSize)	\
    (This)->lpVtbl -> put_ArrowheadSize(This,ArrowheadSize)

#define IIcadDim3PointAngular_get_DecimalSeparator(This,DecimalSeparator)	\
    (This)->lpVtbl -> get_DecimalSeparator(This,DecimalSeparator)

#define IIcadDim3PointAngular_put_DecimalSeparator(This,DecimalSeparator)	\
    (This)->lpVtbl -> put_DecimalSeparator(This,DecimalSeparator)

#define IIcadDim3PointAngular_get_ExtensionLineOffset(This,Offset)	\
    (This)->lpVtbl -> get_ExtensionLineOffset(This,Offset)

#define IIcadDim3PointAngular_put_ExtensionLineOffset(This,Offset)	\
    (This)->lpVtbl -> put_ExtensionLineOffset(This,Offset)

#define IIcadDim3PointAngular_get_Measurement(This,Value)	\
    (This)->lpVtbl -> get_Measurement(This,Value)

#define IIcadDim3PointAngular_put_Measurement(This,Value)	\
    (This)->lpVtbl -> put_Measurement(This,Value)

#define IIcadDim3PointAngular_get_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> get_Normal(This,ppExtrusionDirection)

#define IIcadDim3PointAngular_put_Normal(This,ppExtrusionDirection)	\
    (This)->lpVtbl -> put_Normal(This,ppExtrusionDirection)

#define IIcadDim3PointAngular_get_Rotation(This,Rotation)	\
    (This)->lpVtbl -> get_Rotation(This,Rotation)

#define IIcadDim3PointAngular_put_Rotation(This,Rotation)	\
    (This)->lpVtbl -> put_Rotation(This,Rotation)

#define IIcadDim3PointAngular_get_ScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> get_ScaleFactor(This,ScaleFactor)

#define IIcadDim3PointAngular_put_ScaleFactor(This,ScaleFactor)	\
    (This)->lpVtbl -> put_ScaleFactor(This,ScaleFactor)

#define IIcadDim3PointAngular_get_StyleName(This,StyleName)	\
    (This)->lpVtbl -> get_StyleName(This,StyleName)

#define IIcadDim3PointAngular_put_StyleName(This,StyleName)	\
    (This)->lpVtbl -> put_StyleName(This,StyleName)

#define IIcadDim3PointAngular_get_SuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_SuppressLeadingZeroes(This,Supress)

#define IIcadDim3PointAngular_put_SuppressLeadingZeroes(This,Suppress)	\
    (This)->lpVtbl -> put_SuppressLeadingZeroes(This,Suppress)

#define IIcadDim3PointAngular_get_SuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_SuppressTrailingZeroes(This,Supress)

#define IIcadDim3PointAngular_put_SuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_SuppressTrailingZeroes(This,Supress)

#define IIcadDim3PointAngular_get_TextColor(This,Color)	\
    (This)->lpVtbl -> get_TextColor(This,Color)

#define IIcadDim3PointAngular_put_TextColor(This,Color)	\
    (This)->lpVtbl -> put_TextColor(This,Color)

#define IIcadDim3PointAngular_get_TextGap(This,Gap)	\
    (This)->lpVtbl -> get_TextGap(This,Gap)

#define IIcadDim3PointAngular_put_TextGap(This,Gap)	\
    (This)->lpVtbl -> put_TextGap(This,Gap)

#define IIcadDim3PointAngular_get_TextHeight(This,Height)	\
    (This)->lpVtbl -> get_TextHeight(This,Height)

#define IIcadDim3PointAngular_put_TextHeight(This,Height)	\
    (This)->lpVtbl -> put_TextHeight(This,Height)

#define IIcadDim3PointAngular_get_TextMovement(This,Movement)	\
    (This)->lpVtbl -> get_TextMovement(This,Movement)

#define IIcadDim3PointAngular_put_TextMovement(This,Movement)	\
    (This)->lpVtbl -> put_TextMovement(This,Movement)

#define IIcadDim3PointAngular_get_TextPosition(This,Position)	\
    (This)->lpVtbl -> get_TextPosition(This,Position)

#define IIcadDim3PointAngular_put_TextPosition(This,Position)	\
    (This)->lpVtbl -> put_TextPosition(This,Position)

#define IIcadDim3PointAngular_get_TextOverride(This,String)	\
    (This)->lpVtbl -> get_TextOverride(This,String)

#define IIcadDim3PointAngular_put_TextOverride(This,String)	\
    (This)->lpVtbl -> put_TextOverride(This,String)

#define IIcadDim3PointAngular_get_TextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> get_TextPrefix(This,PrefixString)

#define IIcadDim3PointAngular_put_TextPrefix(This,PrefixString)	\
    (This)->lpVtbl -> put_TextPrefix(This,PrefixString)

#define IIcadDim3PointAngular_get_TextString(This,String)	\
    (This)->lpVtbl -> get_TextString(This,String)

#define IIcadDim3PointAngular_put_TextString(This,String)	\
    (This)->lpVtbl -> put_TextString(This,String)

#define IIcadDim3PointAngular_get_TextRotation(This,Rotation)	\
    (This)->lpVtbl -> get_TextRotation(This,Rotation)

#define IIcadDim3PointAngular_put_TextRotation(This,Rotation)	\
    (This)->lpVtbl -> put_TextRotation(This,Rotation)

#define IIcadDim3PointAngular_get_TextStyle(This,StyleName)	\
    (This)->lpVtbl -> get_TextStyle(This,StyleName)

#define IIcadDim3PointAngular_put_TextStyle(This,StyleName)	\
    (This)->lpVtbl -> put_TextStyle(This,StyleName)

#define IIcadDim3PointAngular_get_TextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> get_TextSuffix(This,SuffixString)

#define IIcadDim3PointAngular_put_TextSuffix(This,SuffixString)	\
    (This)->lpVtbl -> put_TextSuffix(This,SuffixString)

#define IIcadDim3PointAngular_get_ToleranceDisplay(This,TolDisplay)	\
    (This)->lpVtbl -> get_ToleranceDisplay(This,TolDisplay)

#define IIcadDim3PointAngular_put_ToleranceDisplay(This,TolDisplay)	\
    (This)->lpVtbl -> put_ToleranceDisplay(This,TolDisplay)

#define IIcadDim3PointAngular_get_ToleranceHeightScale(This,HeightScale)	\
    (This)->lpVtbl -> get_ToleranceHeightScale(This,HeightScale)

#define IIcadDim3PointAngular_put_ToleranceHeightScale(This,HeightScale)	\
    (This)->lpVtbl -> put_ToleranceHeightScale(This,HeightScale)

#define IIcadDim3PointAngular_get_ToleranceJustification(This,TolJustify)	\
    (This)->lpVtbl -> get_ToleranceJustification(This,TolJustify)

#define IIcadDim3PointAngular_put_ToleranceJustification(This,TolJustify)	\
    (This)->lpVtbl -> put_ToleranceJustification(This,TolJustify)

#define IIcadDim3PointAngular_get_ToleranceLowerLimit(This,Limit)	\
    (This)->lpVtbl -> get_ToleranceLowerLimit(This,Limit)

#define IIcadDim3PointAngular_put_ToleranceLowerLimit(This,Limit)	\
    (This)->lpVtbl -> put_ToleranceLowerLimit(This,Limit)

#define IIcadDim3PointAngular_get_ToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDim3PointAngular_put_ToleranceSuppressLeadingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressLeadingZeroes(This,Supress)

#define IIcadDim3PointAngular_get_ToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDim3PointAngular_put_ToleranceSuppressTrailingZeroes(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressTrailingZeroes(This,Supress)

#define IIcadDim3PointAngular_get_ToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressZeroInches(This,Supress)

#define IIcadDim3PointAngular_put_ToleranceSuppressZeroInches(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressZeroInches(This,Supress)

#define IIcadDim3PointAngular_get_ToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> get_ToleranceSuppressZeroFeet(This,Supress)

#define IIcadDim3PointAngular_put_ToleranceSuppressZeroFeet(This,Supress)	\
    (This)->lpVtbl -> put_ToleranceSuppressZeroFeet(This,Supress)

#define IIcadDim3PointAngular_get_ToleranceUpperLimit(This,Limit)	\
    (This)->lpVtbl -> get_ToleranceUpperLimit(This,Limit)

#define IIcadDim3PointAngular_put_ToleranceUpperLimit(This,Limit)	\
    (This)->lpVtbl -> put_ToleranceUpperLimit(This,Limit)

#define IIcadDim3PointAngular_get_TolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> get_TolerancePrecision(This,Precision)

#define IIcadDim3PointAngular_put_TolerancePrecision(This,Precision)	\
    (This)->lpVtbl -> put_TolerancePrecision(This,Precision)

#define IIcadDim3PointAngular_get_UnitsFormat(This,Units)	\
    (This)->lpVtbl -> get_UnitsFormat(This,Units)

#define IIcadDim3PointAngular_put_UnitsFormat(This,Units)	\
    (This)->lpVtbl -> put_UnitsFormat(This,Units)

#define IIcadDim3PointAngular_get_VerticalTextPosition(This,Position)	\
    (This)->lpVtbl -> get_VerticalTextPosition(This,Position)

#define IIcadDim3PointAngular_put_VerticalTextPosition(This,Position)	\
    (This)->lpVtbl -> put_VerticalTextPosition(This,Position)


#define IIcadDim3PointAngular_get_AngleFormat(This,Movement)	\
    (This)->lpVtbl -> get_AngleFormat(This,Movement)

#define IIcadDim3PointAngular_put_AngleFormat(This,Movement)	\
    (This)->lpVtbl -> put_AngleFormat(This,Movement)

#define IIcadDim3PointAngular_get_AngleVertex(This,Point)	\
    (This)->lpVtbl -> get_AngleVertex(This,Point)

#define IIcadDim3PointAngular_put_AngleVertex(This,Point)	\
    (This)->lpVtbl -> put_AngleVertex(This,Point)

#define IIcadDim3PointAngular_get_Arrowhead1Block(This,BlockName)	\
    (This)->lpVtbl -> get_Arrowhead1Block(This,BlockName)

#define IIcadDim3PointAngular_put_Arrowhead1Block(This,BlockName)	\
    (This)->lpVtbl -> put_Arrowhead1Block(This,BlockName)

#define IIcadDim3PointAngular_get_Arrowhead1Type(This,ArrowheadType)	\
    (This)->lpVtbl -> get_Arrowhead1Type(This,ArrowheadType)

#define IIcadDim3PointAngular_put_Arrowhead1Type(This,ArrowheadType)	\
    (This)->lpVtbl -> put_Arrowhead1Type(This,ArrowheadType)

#define IIcadDim3PointAngular_get_Arrowhead2Block(This,BlockName)	\
    (This)->lpVtbl -> get_Arrowhead2Block(This,BlockName)

#define IIcadDim3PointAngular_put_Arrowhead2Block(This,BlockName)	\
    (This)->lpVtbl -> put_Arrowhead2Block(This,BlockName)

#define IIcadDim3PointAngular_get_Arrowhead2Type(This,ArrowheadType)	\
    (This)->lpVtbl -> get_Arrowhead2Type(This,ArrowheadType)

#define IIcadDim3PointAngular_put_Arrowhead2Type(This,ArrowheadType)	\
    (This)->lpVtbl -> put_Arrowhead2Type(This,ArrowheadType)

#define IIcadDim3PointAngular_get_DimensionLineColor(This,Color)	\
    (This)->lpVtbl -> get_DimensionLineColor(This,Color)

#define IIcadDim3PointAngular_put_DimensionLineColor(This,Color)	\
    (This)->lpVtbl -> put_DimensionLineColor(This,Color)

#define IIcadDim3PointAngular_get_DimLine1Suppress(This,Supress)	\
    (This)->lpVtbl -> get_DimLine1Suppress(This,Supress)

#define IIcadDim3PointAngular_put_DimLine1Suppress(This,Suppress)	\
    (This)->lpVtbl -> put_DimLine1Suppress(This,Suppress)

#define IIcadDim3PointAngular_get_DimLine2Suppress(This,Supress)	\
    (This)->lpVtbl -> get_DimLine2Suppress(This,Supress)

#define IIcadDim3PointAngular_put_DimLine2Suppress(This,Suppress)	\
    (This)->lpVtbl -> put_DimLine2Suppress(This,Suppress)

#define IIcadDim3PointAngular_get_DimLineInside(This,Inside)	\
    (This)->lpVtbl -> get_DimLineInside(This,Inside)

#define IIcadDim3PointAngular_put_DimLineInside(This,Inside)	\
    (This)->lpVtbl -> put_DimLineInside(This,Inside)

#define IIcadDim3PointAngular_get_ExtensionLineColor(This,Color)	\
    (This)->lpVtbl -> get_ExtensionLineColor(This,Color)

#define IIcadDim3PointAngular_put_ExtensionLineColor(This,Color)	\
    (This)->lpVtbl -> put_ExtensionLineColor(This,Color)

#define IIcadDim3PointAngular_get_ExtensionLineExtend(This,Extension)	\
    (This)->lpVtbl -> get_ExtensionLineExtend(This,Extension)

#define IIcadDim3PointAngular_put_ExtensionLineExtend(This,Extension)	\
    (This)->lpVtbl -> put_ExtensionLineExtend(This,Extension)

#define IIcadDim3PointAngular_get_ExtLine1StartPoint(This,Point)	\
    (This)->lpVtbl -> get_ExtLine1StartPoint(This,Point)

#define IIcadDim3PointAngular_put_ExtLine1StartPoint(This,Point)	\
    (This)->lpVtbl -> put_ExtLine1StartPoint(This,Point)

#define IIcadDim3PointAngular_get_ExtLine1EndPoint(This,Point)	\
    (This)->lpVtbl -> get_ExtLine1EndPoint(This,Point)

#define IIcadDim3PointAngular_put_ExtLine1EndPoint(This,Point)	\
    (This)->lpVtbl -> put_ExtLine1EndPoint(This,Point)

#define IIcadDim3PointAngular_get_ExtLine1Suppress(This,Supress)	\
    (This)->lpVtbl -> get_ExtLine1Suppress(This,Supress)

#define IIcadDim3PointAngular_put_ExtLine1Suppress(This,Suppress)	\
    (This)->lpVtbl -> put_ExtLine1Suppress(This,Suppress)

#define IIcadDim3PointAngular_get_ExtLine2EndPoint(This,Point)	\
    (This)->lpVtbl -> get_ExtLine2EndPoint(This,Point)

#define IIcadDim3PointAngular_put_ExtLine2EndPoint(This,Point)	\
    (This)->lpVtbl -> put_ExtLine2EndPoint(This,Point)

#define IIcadDim3PointAngular_get_ExtLine2StartPoint(This,Point)	\
    (This)->lpVtbl -> get_ExtLine2StartPoint(This,Point)

#define IIcadDim3PointAngular_put_ExtLine2StartPoint(This,Point)	\
    (This)->lpVtbl -> put_ExtLine2StartPoint(This,Point)

#define IIcadDim3PointAngular_get_ExtLine2Suppress(This,Supress)	\
    (This)->lpVtbl -> get_ExtLine2Suppress(This,Supress)

#define IIcadDim3PointAngular_put_ExtLine2Suppress(This,Suppress)	\
    (This)->lpVtbl -> put_ExtLine2Suppress(This,Suppress)

#define IIcadDim3PointAngular_get_Fit(This,Fit)	\
    (This)->lpVtbl -> get_Fit(This,Fit)

#define IIcadDim3PointAngular_put_Fit(This,Fit)	\
    (This)->lpVtbl -> put_Fit(This,Fit)

#define IIcadDim3PointAngular_get_ForceLineInside(This,Inside)	\
    (This)->lpVtbl -> get_ForceLineInside(This,Inside)

#define IIcadDim3PointAngular_put_ForceLineInside(This,Inside)	\
    (This)->lpVtbl -> put_ForceLineInside(This,Inside)

#define IIcadDim3PointAngular_get_HorizontalTextPosition(This,Position)	\
    (This)->lpVtbl -> get_HorizontalTextPosition(This,Position)

#define IIcadDim3PointAngular_put_HorizontalTextPosition(This,Position)	\
    (This)->lpVtbl -> put_HorizontalTextPosition(This,Position)

#define IIcadDim3PointAngular_get_TextInside(This,Inside)	\
    (This)->lpVtbl -> get_TextInside(This,Inside)

#define IIcadDim3PointAngular_put_TextInside(This,Inside)	\
    (This)->lpVtbl -> put_TextInside(This,Inside)

#define IIcadDim3PointAngular_get_TextInsideAlign(This,Alignment)	\
    (This)->lpVtbl -> get_TextInsideAlign(This,Alignment)

#define IIcadDim3PointAngular_put_TextInsideAlign(This,Alignment)	\
    (This)->lpVtbl -> put_TextInsideAlign(This,Alignment)

#define IIcadDim3PointAngular_get_TextOutsideAlign(This,Alignment)	\
    (This)->lpVtbl -> get_TextOutsideAlign(This,Alignment)

#define IIcadDim3PointAngular_put_TextOutsideAlign(This,Alignment)	\
    (This)->lpVtbl -> put_TextOutsideAlign(This,Alignment)

#define IIcadDim3PointAngular_get_TextPrecision(This,Precision)	\
    (This)->lpVtbl -> get_TextPrecision(This,Precision)

#define IIcadDim3PointAngular_put_TextPrecision(This,Precision)	\
    (This)->lpVtbl -> put_TextPrecision(This,Precision)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_AngleFormat_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ AngleUnits __RPC_FAR *Movement);


void __RPC_STUB IIcadDim3PointAngular_get_AngleFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_AngleFormat_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ AngleUnits Movement);


void __RPC_STUB IIcadDim3PointAngular_put_AngleFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_AngleVertex_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);


void __RPC_STUB IIcadDim3PointAngular_get_AngleVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_AngleVertex_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point);


void __RPC_STUB IIcadDim3PointAngular_put_AngleVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_Arrowhead1Block_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *BlockName);


void __RPC_STUB IIcadDim3PointAngular_get_Arrowhead1Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_Arrowhead1Block_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IIcadDim3PointAngular_put_Arrowhead1Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_Arrowhead1Type_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType);


void __RPC_STUB IIcadDim3PointAngular_get_Arrowhead1Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_Arrowhead1Type_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ DimArrowheadType ArrowheadType);


void __RPC_STUB IIcadDim3PointAngular_put_Arrowhead1Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_Arrowhead2Block_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *BlockName);


void __RPC_STUB IIcadDim3PointAngular_get_Arrowhead2Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_Arrowhead2Block_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IIcadDim3PointAngular_put_Arrowhead2Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_Arrowhead2Type_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ DimArrowheadType __RPC_FAR *ArrowheadType);


void __RPC_STUB IIcadDim3PointAngular_get_Arrowhead2Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_Arrowhead2Type_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ DimArrowheadType ArrowheadType);


void __RPC_STUB IIcadDim3PointAngular_put_Arrowhead2Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_DimensionLineColor_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ Colors __RPC_FAR *Color);


void __RPC_STUB IIcadDim3PointAngular_get_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_DimensionLineColor_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ Colors Color);


void __RPC_STUB IIcadDim3PointAngular_put_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_DimLine1Suppress_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDim3PointAngular_get_DimLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_DimLine1Suppress_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDim3PointAngular_put_DimLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_DimLine2Suppress_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDim3PointAngular_get_DimLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_DimLine2Suppress_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDim3PointAngular_put_DimLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_DimLineInside_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);


void __RPC_STUB IIcadDim3PointAngular_get_DimLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_DimLineInside_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Inside);


void __RPC_STUB IIcadDim3PointAngular_put_DimLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_ExtensionLineColor_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ Colors __RPC_FAR *Color);


void __RPC_STUB IIcadDim3PointAngular_get_ExtensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_ExtensionLineColor_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ Colors Color);


void __RPC_STUB IIcadDim3PointAngular_put_ExtensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_ExtensionLineExtend_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Extension);


void __RPC_STUB IIcadDim3PointAngular_get_ExtensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_ExtensionLineExtend_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ double Extension);


void __RPC_STUB IIcadDim3PointAngular_put_ExtensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_ExtLine1StartPoint_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);


void __RPC_STUB IIcadDim3PointAngular_get_ExtLine1StartPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_ExtLine1StartPoint_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point);


void __RPC_STUB IIcadDim3PointAngular_put_ExtLine1StartPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_ExtLine1EndPoint_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);


void __RPC_STUB IIcadDim3PointAngular_get_ExtLine1EndPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_ExtLine1EndPoint_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point);


void __RPC_STUB IIcadDim3PointAngular_put_ExtLine1EndPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_ExtLine1Suppress_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDim3PointAngular_get_ExtLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_ExtLine1Suppress_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDim3PointAngular_put_ExtLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_ExtLine2EndPoint_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);


void __RPC_STUB IIcadDim3PointAngular_get_ExtLine2EndPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_ExtLine2EndPoint_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point);


void __RPC_STUB IIcadDim3PointAngular_put_ExtLine2EndPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_ExtLine2StartPoint_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ IIcadPoint __RPC_FAR *__RPC_FAR *Point);


void __RPC_STUB IIcadDim3PointAngular_get_ExtLine2StartPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_ExtLine2StartPoint_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ IIcadPoint __RPC_FAR *Point);


void __RPC_STUB IIcadDim3PointAngular_put_ExtLine2StartPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_ExtLine2Suppress_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Supress);


void __RPC_STUB IIcadDim3PointAngular_get_ExtLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_ExtLine2Suppress_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Suppress);


void __RPC_STUB IIcadDim3PointAngular_put_ExtLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_Fit_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ DimFit __RPC_FAR *Fit);


void __RPC_STUB IIcadDim3PointAngular_get_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_Fit_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ DimFit Fit);


void __RPC_STUB IIcadDim3PointAngular_put_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_ForceLineInside_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);


void __RPC_STUB IIcadDim3PointAngular_get_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_ForceLineInside_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Inside);


void __RPC_STUB IIcadDim3PointAngular_put_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_HorizontalTextPosition_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ DimHorizontalJustification __RPC_FAR *Position);


void __RPC_STUB IIcadDim3PointAngular_get_HorizontalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_HorizontalTextPosition_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ DimHorizontalJustification Position);


void __RPC_STUB IIcadDim3PointAngular_put_HorizontalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_TextInside_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Inside);


void __RPC_STUB IIcadDim3PointAngular_get_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_TextInside_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Inside);


void __RPC_STUB IIcadDim3PointAngular_put_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_TextInsideAlign_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);


void __RPC_STUB IIcadDim3PointAngular_get_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_TextInsideAlign_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Alignment);


void __RPC_STUB IIcadDim3PointAngular_put_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_TextOutsideAlign_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Alignment);


void __RPC_STUB IIcadDim3PointAngular_get_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_TextOutsideAlign_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Alignment);


void __RPC_STUB IIcadDim3PointAngular_put_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_get_TextPrecision_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [retval][out] */ DimPrecision __RPC_FAR *Precision);


void __RPC_STUB IIcadDim3PointAngular_get_TextPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDim3PointAngular_put_TextPrecision_Proxy( 
    IIcadDim3PointAngular __RPC_FAR * This,
    /* [in] */ DimPrecision Precision);


void __RPC_STUB IIcadDim3PointAngular_put_TextPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadDim3PointAngular_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_Icad_0287 */
/* [local] */ 







extern RPC_IF_HANDLE __MIDL_itf_Icad_0287_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_Icad_0287_v0_0_s_ifspec;

#ifndef __IIcadModelSpace_INTERFACE_DEFINED__
#define __IIcadModelSpace_INTERFACE_DEFINED__

/* interface IIcadModelSpace */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadModelSpace;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c160-7e36-11d1-bc5a-0060089608a4")
    IIcadModelSpace : public IIcadEntities
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IIcadModelSpaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadModelSpace __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadModelSpace __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ long Index,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add3DFace )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [optional][in] */ IIcadPoint __RPC_FAR *Point4,
            /* [retval][out] */ IIcad3DFace __RPC_FAR *__RPC_FAR *pp3DFace);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add3DMesh )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ long M,
            /* [in] */ long N,
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppMesh);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add3DPoly )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [retval][out] */ IIcad3DPoly __RPC_FAR *__RPC_FAR *pp3DPoly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddArc )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double Radius,
            /* [in] */ double StartAngle,
            /* [in] */ double EndAngle,
            /* [retval][out] */ IIcadArc __RPC_FAR *__RPC_FAR *ppArc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddAttributeDef )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ double Height,
            /* [in] */ AttributeMode Mode,
            /* [in] */ BSTR Prompt,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ BSTR Tag,
            /* [in] */ BSTR Value,
            /* [retval][out] */ IIcadAttributeDef __RPC_FAR *__RPC_FAR *ppAttribute);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddBox )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Origin,
            /* [in] */ double Length,
            /* [in] */ double Width,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppBox);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddCircle )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double Radius,
            /* [retval][out] */ IIcadCircle __RPC_FAR *__RPC_FAR *ppCircle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddCone )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double BaseRadius,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppCone);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddCylinder )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double Radius,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppCylinder);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDim3PointAngular )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *AngleVertex,
            /* [in] */ IIcadPoint __RPC_FAR *FirstEndPoint,
            /* [in] */ IIcadPoint __RPC_FAR *SecondEndPoint,
            /* [in] */ IIcadPoint __RPC_FAR *TextLocation,
            /* [retval][out] */ IIcadDim3PointAngular __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimAligned )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *ExtPoint1,
            /* [in] */ IIcadPoint __RPC_FAR *ExtPoint2,
            /* [in] */ IIcadPoint __RPC_FAR *TextLocation,
            /* [retval][out] */ IIcadDimAligned __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimAngular )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *AngleVertex,
            /* [in] */ IIcadPoint __RPC_FAR *FirstEndPoint,
            /* [in] */ IIcadPoint __RPC_FAR *SecondEndPoint,
            /* [in] */ IIcadPoint __RPC_FAR *TextLocation,
            /* [retval][out] */ IIcadDimAngular __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimDiametric )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *ChordPoint,
            /* [in] */ IIcadPoint __RPC_FAR *FarChordPoint,
            /* [in] */ double LeaderLength,
            /* [retval][out] */ IIcadDimDiametric __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimOrdinate )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *DefintionPoint,
            /* [in] */ IIcadPoint __RPC_FAR *LeaderEndPoint,
            /* [in] */ VARIANT_BOOL UseXAxis,
            /* [retval][out] */ IIcadDimOrdinate __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimRadial )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ IIcadPoint __RPC_FAR *ChordPoint,
            /* [in] */ double LeaderLength,
            /* [retval][out] */ IIcadDimRadial __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimRotated )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *ExtPoint1,
            /* [in] */ IIcadPoint __RPC_FAR *ExtPoint2,
            /* [in] */ IIcadPoint __RPC_FAR *DimLineLocation,
            /* [in] */ double Rotation,
            /* [retval][out] */ IIcadDimRotated __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddEllipse )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ IIcadVector __RPC_FAR *MajorAxis,
            /* [in] */ double RadiusRatio,
            /* [retval][out] */ IIcadEllipse __RPC_FAR *__RPC_FAR *ppEllipse);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddHatch )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ HatchType PatternType,
            /* [in] */ BSTR PatternName,
            /* [in] */ VARIANT_BOOL Associativity,
            /* [retval][out] */ IIcadHatch __RPC_FAR *__RPC_FAR *ppHatch);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddImage )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ BSTR ImageFile,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [defaultvalue][optional][in] */ double ScaleFactor,
            /* [defaultvalue][optional][in] */ double RotationAngle,
            /* [retval][out] */ IIcadImage __RPC_FAR *__RPC_FAR *ppImage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddInfiniteLine )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [retval][out] */ IIcadInfiniteLine __RPC_FAR *__RPC_FAR *ppInfiniteLine);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddLeader )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Points,
            /* [optional][in] */ BSTR Annotation,
            /* [defaultvalue][optional][in] */ LeaderType Type,
            /* [retval][out] */ IIcadLeader __RPC_FAR *__RPC_FAR *ppLeader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddLightWeightPolyline )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [retval][out] */ IIcadLightWeightPolyline __RPC_FAR *__RPC_FAR *ppLWPolyline);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddLine )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *StartPoint,
            /* [in] */ IIcadPoint __RPC_FAR *EndPoint,
            /* [retval][out] */ IIcadLine __RPC_FAR *__RPC_FAR *ppLine);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddMText )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ double Width,
            /* [in] */ BSTR Text,
            /* [retval][out] */ IIcadMText __RPC_FAR *__RPC_FAR *ppMText);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddPointEntity )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point,
            /* [retval][out] */ IIcadPointEntity __RPC_FAR *__RPC_FAR *ppPointEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddPolyline )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [retval][out] */ IIcadPolyline __RPC_FAR *__RPC_FAR *ppPolyline);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddPolyfaceMesh )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [in] */ VARIANT ListOfFaceIndices,
            /* [retval][out] */ IIcadPolyfaceMesh __RPC_FAR *__RPC_FAR *ppMesh);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddRay )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [retval][out] */ IIcadRay __RPC_FAR *__RPC_FAR *ppRay);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSolid )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [optional][in] */ IIcadPoint __RPC_FAR *Point4,
            /* [retval][out] */ IIcadSolid __RPC_FAR *__RPC_FAR *ppSolid);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSphere )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double Radius,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppSphere);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSpline )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *__RPC_FAR *Points,
            /* [in] */ IIcadVector __RPC_FAR *StartTangent,
            /* [in] */ IIcadVector __RPC_FAR *EndTangent,
            /* [retval][out] */ IIcadSpline __RPC_FAR *__RPC_FAR *ppSpline);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddText )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ BSTR TextString,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadText __RPC_FAR *__RPC_FAR *ppText);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddTolerance )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ BSTR Text,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ IIcadVector __RPC_FAR *Direction,
            /* [retval][out] */ IIcadTolerance __RPC_FAR *__RPC_FAR *ppTolerance);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddTorus )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double TorusRadius,
            /* [in] */ double TubeRadius,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *pTorus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddTrace )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Points,
            /* [retval][out] */ IIcadTrace __RPC_FAR *__RPC_FAR *ppTrace);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddWedge )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Origin,
            /* [in] */ double Length,
            /* [in] */ double Width,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppWedge);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AttachExternalReference )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ BSTR PathName,
            /* [in] */ BSTR Name,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ double XScale,
            /* [in] */ double YScale,
            /* [in] */ double ZScale,
            /* [in] */ double Rotation,
            /* [in] */ VARIANT_BOOL bOverlay,
            /* [retval][out] */ IIcadExternalReference __RPC_FAR *__RPC_FAR *ppXRef);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InsertBlock )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ BSTR BlockName,
            /* [defaultvalue][optional][in] */ double XScale,
            /* [defaultvalue][optional][in] */ double YScale,
            /* [defaultvalue][optional][in] */ double ZScale,
            /* [defaultvalue][optional][in] */ double Rotation,
            /* [retval][out] */ IIcadBlockInsert __RPC_FAR *__RPC_FAR *ppBlockInsert);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddShape )( 
            IIcadModelSpace __RPC_FAR * This,
            /* [in] */ BSTR Name,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [defaultvalue][optional][in] */ double Height,
            /* [defaultvalue][optional][in] */ double Rotation,
            /* [retval][out] */ IIcadShape __RPC_FAR *__RPC_FAR *ppShape);
        
        END_INTERFACE
    } IIcadModelSpaceVtbl;

    interface IIcadModelSpace
    {
        CONST_VTBL struct IIcadModelSpaceVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadModelSpace_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadModelSpace_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadModelSpace_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadModelSpace_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadModelSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadModelSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadModelSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadModelSpace_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadModelSpace_get_Count(This,pCount)	\
    (This)->lpVtbl -> get_Count(This,pCount)

#define IIcadModelSpace_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadModelSpace_get__NewEnum(This,ppUnk)	\
    (This)->lpVtbl -> get__NewEnum(This,ppUnk)

#define IIcadModelSpace_Item(This,Index,ppItem)	\
    (This)->lpVtbl -> Item(This,Index,ppItem)

#define IIcadModelSpace_Add3DFace(This,Point1,Point2,Point3,Point4,pp3DFace)	\
    (This)->lpVtbl -> Add3DFace(This,Point1,Point2,Point3,Point4,pp3DFace)

#define IIcadModelSpace_Add3DMesh(This,M,N,Vertices,ppMesh)	\
    (This)->lpVtbl -> Add3DMesh(This,M,N,Vertices,ppMesh)

#define IIcadModelSpace_Add3DPoly(This,Vertices,pp3DPoly)	\
    (This)->lpVtbl -> Add3DPoly(This,Vertices,pp3DPoly)

#define IIcadModelSpace_AddArc(This,Center,Radius,StartAngle,EndAngle,ppArc)	\
    (This)->lpVtbl -> AddArc(This,Center,Radius,StartAngle,EndAngle,ppArc)

#define IIcadModelSpace_AddAttributeDef(This,Height,Mode,Prompt,InsertionPoint,Tag,Value,ppAttribute)	\
    (This)->lpVtbl -> AddAttributeDef(This,Height,Mode,Prompt,InsertionPoint,Tag,Value,ppAttribute)

#define IIcadModelSpace_AddBox(This,Origin,Length,Width,Height,ppBox)	\
    (This)->lpVtbl -> AddBox(This,Origin,Length,Width,Height,ppBox)

#define IIcadModelSpace_AddCircle(This,Center,Radius,ppCircle)	\
    (This)->lpVtbl -> AddCircle(This,Center,Radius,ppCircle)

#define IIcadModelSpace_AddCone(This,Center,BaseRadius,Height,ppCone)	\
    (This)->lpVtbl -> AddCone(This,Center,BaseRadius,Height,ppCone)

#define IIcadModelSpace_AddCylinder(This,Center,Radius,Height,ppCylinder)	\
    (This)->lpVtbl -> AddCylinder(This,Center,Radius,Height,ppCylinder)

#define IIcadModelSpace_AddDim3PointAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextLocation,ppDimension)	\
    (This)->lpVtbl -> AddDim3PointAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextLocation,ppDimension)

#define IIcadModelSpace_AddDimAligned(This,ExtPoint1,ExtPoint2,TextLocation,ppDimension)	\
    (This)->lpVtbl -> AddDimAligned(This,ExtPoint1,ExtPoint2,TextLocation,ppDimension)

#define IIcadModelSpace_AddDimAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextLocation,ppDimension)	\
    (This)->lpVtbl -> AddDimAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextLocation,ppDimension)

#define IIcadModelSpace_AddDimDiametric(This,ChordPoint,FarChordPoint,LeaderLength,ppDimension)	\
    (This)->lpVtbl -> AddDimDiametric(This,ChordPoint,FarChordPoint,LeaderLength,ppDimension)

#define IIcadModelSpace_AddDimOrdinate(This,DefintionPoint,LeaderEndPoint,UseXAxis,ppDimension)	\
    (This)->lpVtbl -> AddDimOrdinate(This,DefintionPoint,LeaderEndPoint,UseXAxis,ppDimension)

#define IIcadModelSpace_AddDimRadial(This,Center,ChordPoint,LeaderLength,ppDimension)	\
    (This)->lpVtbl -> AddDimRadial(This,Center,ChordPoint,LeaderLength,ppDimension)

#define IIcadModelSpace_AddDimRotated(This,ExtPoint1,ExtPoint2,DimLineLocation,Rotation,ppDimension)	\
    (This)->lpVtbl -> AddDimRotated(This,ExtPoint1,ExtPoint2,DimLineLocation,Rotation,ppDimension)

#define IIcadModelSpace_AddEllipse(This,Center,MajorAxis,RadiusRatio,ppEllipse)	\
    (This)->lpVtbl -> AddEllipse(This,Center,MajorAxis,RadiusRatio,ppEllipse)

#define IIcadModelSpace_AddHatch(This,PatternType,PatternName,Associativity,ppHatch)	\
    (This)->lpVtbl -> AddHatch(This,PatternType,PatternName,Associativity,ppHatch)

#define IIcadModelSpace_AddImage(This,ImageFile,InsertionPoint,ScaleFactor,RotationAngle,ppImage)	\
    (This)->lpVtbl -> AddImage(This,ImageFile,InsertionPoint,ScaleFactor,RotationAngle,ppImage)

#define IIcadModelSpace_AddInfiniteLine(This,Point1,Point2,ppInfiniteLine)	\
    (This)->lpVtbl -> AddInfiniteLine(This,Point1,Point2,ppInfiniteLine)

#define IIcadModelSpace_AddLeader(This,Points,Annotation,Type,ppLeader)	\
    (This)->lpVtbl -> AddLeader(This,Points,Annotation,Type,ppLeader)

#define IIcadModelSpace_AddLightWeightPolyline(This,Vertices,ppLWPolyline)	\
    (This)->lpVtbl -> AddLightWeightPolyline(This,Vertices,ppLWPolyline)

#define IIcadModelSpace_AddLine(This,StartPoint,EndPoint,ppLine)	\
    (This)->lpVtbl -> AddLine(This,StartPoint,EndPoint,ppLine)

#define IIcadModelSpace_AddMText(This,InsertionPoint,Width,Text,ppMText)	\
    (This)->lpVtbl -> AddMText(This,InsertionPoint,Width,Text,ppMText)

#define IIcadModelSpace_AddPointEntity(This,Point,ppPointEntity)	\
    (This)->lpVtbl -> AddPointEntity(This,Point,ppPointEntity)

#define IIcadModelSpace_AddPolyline(This,Vertices,ppPolyline)	\
    (This)->lpVtbl -> AddPolyline(This,Vertices,ppPolyline)

#define IIcadModelSpace_AddPolyfaceMesh(This,Vertices,ListOfFaceIndices,ppMesh)	\
    (This)->lpVtbl -> AddPolyfaceMesh(This,Vertices,ListOfFaceIndices,ppMesh)

#define IIcadModelSpace_AddRay(This,Point1,Point2,ppRay)	\
    (This)->lpVtbl -> AddRay(This,Point1,Point2,ppRay)

#define IIcadModelSpace_AddSolid(This,Point1,Point2,Point3,Point4,ppSolid)	\
    (This)->lpVtbl -> AddSolid(This,Point1,Point2,Point3,Point4,ppSolid)

#define IIcadModelSpace_AddSphere(This,Center,Radius,ppSphere)	\
    (This)->lpVtbl -> AddSphere(This,Center,Radius,ppSphere)

#define IIcadModelSpace_AddSpline(This,Points,StartTangent,EndTangent,ppSpline)	\
    (This)->lpVtbl -> AddSpline(This,Points,StartTangent,EndTangent,ppSpline)

#define IIcadModelSpace_AddText(This,TextString,InsertionPoint,Height,ppText)	\
    (This)->lpVtbl -> AddText(This,TextString,InsertionPoint,Height,ppText)

#define IIcadModelSpace_AddTolerance(This,Text,InsertionPoint,Direction,ppTolerance)	\
    (This)->lpVtbl -> AddTolerance(This,Text,InsertionPoint,Direction,ppTolerance)

#define IIcadModelSpace_AddTorus(This,Center,TorusRadius,TubeRadius,pTorus)	\
    (This)->lpVtbl -> AddTorus(This,Center,TorusRadius,TubeRadius,pTorus)

#define IIcadModelSpace_AddTrace(This,Points,ppTrace)	\
    (This)->lpVtbl -> AddTrace(This,Points,ppTrace)

#define IIcadModelSpace_AddWedge(This,Origin,Length,Width,Height,ppWedge)	\
    (This)->lpVtbl -> AddWedge(This,Origin,Length,Width,Height,ppWedge)

#define IIcadModelSpace_AttachExternalReference(This,PathName,Name,InsertionPoint,XScale,YScale,ZScale,Rotation,bOverlay,ppXRef)	\
    (This)->lpVtbl -> AttachExternalReference(This,PathName,Name,InsertionPoint,XScale,YScale,ZScale,Rotation,bOverlay,ppXRef)

#define IIcadModelSpace_InsertBlock(This,InsertionPoint,BlockName,XScale,YScale,ZScale,Rotation,ppBlockInsert)	\
    (This)->lpVtbl -> InsertBlock(This,InsertionPoint,BlockName,XScale,YScale,ZScale,Rotation,ppBlockInsert)

#define IIcadModelSpace_AddShape(This,Name,InsertionPoint,Height,Rotation,ppShape)	\
    (This)->lpVtbl -> AddShape(This,Name,InsertionPoint,Height,Rotation,ppShape)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IIcadModelSpace_INTERFACE_DEFINED__ */


#ifndef __IIcadPaperSpace_INTERFACE_DEFINED__
#define __IIcadPaperSpace_INTERFACE_DEFINED__

/* interface IIcadPaperSpace */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadPaperSpace;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c161-7e36-11d1-bc5a-0060089608a4")
    IIcadPaperSpace : public IIcadEntities
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddPViewport( 
            /* [optional][in] */ IIcadPoint __RPC_FAR *Center,
            /* [optional][in] */ double Width,
            /* [optional][in] */ double Height,
            /* [retval][out] */ IIcadPViewport __RPC_FAR *__RPC_FAR *ppViewport) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadPaperSpaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadPaperSpace __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadPaperSpace __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ long Index,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add3DFace )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [optional][in] */ IIcadPoint __RPC_FAR *Point4,
            /* [retval][out] */ IIcad3DFace __RPC_FAR *__RPC_FAR *pp3DFace);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add3DMesh )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ long M,
            /* [in] */ long N,
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppMesh);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add3DPoly )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [retval][out] */ IIcad3DPoly __RPC_FAR *__RPC_FAR *pp3DPoly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddArc )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double Radius,
            /* [in] */ double StartAngle,
            /* [in] */ double EndAngle,
            /* [retval][out] */ IIcadArc __RPC_FAR *__RPC_FAR *ppArc);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddAttributeDef )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ double Height,
            /* [in] */ AttributeMode Mode,
            /* [in] */ BSTR Prompt,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ BSTR Tag,
            /* [in] */ BSTR Value,
            /* [retval][out] */ IIcadAttributeDef __RPC_FAR *__RPC_FAR *ppAttribute);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddBox )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Origin,
            /* [in] */ double Length,
            /* [in] */ double Width,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppBox);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddCircle )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double Radius,
            /* [retval][out] */ IIcadCircle __RPC_FAR *__RPC_FAR *ppCircle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddCone )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double BaseRadius,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppCone);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddCylinder )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double Radius,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppCylinder);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDim3PointAngular )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *AngleVertex,
            /* [in] */ IIcadPoint __RPC_FAR *FirstEndPoint,
            /* [in] */ IIcadPoint __RPC_FAR *SecondEndPoint,
            /* [in] */ IIcadPoint __RPC_FAR *TextLocation,
            /* [retval][out] */ IIcadDim3PointAngular __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimAligned )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *ExtPoint1,
            /* [in] */ IIcadPoint __RPC_FAR *ExtPoint2,
            /* [in] */ IIcadPoint __RPC_FAR *TextLocation,
            /* [retval][out] */ IIcadDimAligned __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimAngular )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *AngleVertex,
            /* [in] */ IIcadPoint __RPC_FAR *FirstEndPoint,
            /* [in] */ IIcadPoint __RPC_FAR *SecondEndPoint,
            /* [in] */ IIcadPoint __RPC_FAR *TextLocation,
            /* [retval][out] */ IIcadDimAngular __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimDiametric )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *ChordPoint,
            /* [in] */ IIcadPoint __RPC_FAR *FarChordPoint,
            /* [in] */ double LeaderLength,
            /* [retval][out] */ IIcadDimDiametric __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimOrdinate )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *DefintionPoint,
            /* [in] */ IIcadPoint __RPC_FAR *LeaderEndPoint,
            /* [in] */ VARIANT_BOOL UseXAxis,
            /* [retval][out] */ IIcadDimOrdinate __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimRadial )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ IIcadPoint __RPC_FAR *ChordPoint,
            /* [in] */ double LeaderLength,
            /* [retval][out] */ IIcadDimRadial __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDimRotated )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *ExtPoint1,
            /* [in] */ IIcadPoint __RPC_FAR *ExtPoint2,
            /* [in] */ IIcadPoint __RPC_FAR *DimLineLocation,
            /* [in] */ double Rotation,
            /* [retval][out] */ IIcadDimRotated __RPC_FAR *__RPC_FAR *ppDimension);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddEllipse )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ IIcadVector __RPC_FAR *MajorAxis,
            /* [in] */ double RadiusRatio,
            /* [retval][out] */ IIcadEllipse __RPC_FAR *__RPC_FAR *ppEllipse);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddHatch )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ HatchType PatternType,
            /* [in] */ BSTR PatternName,
            /* [in] */ VARIANT_BOOL Associativity,
            /* [retval][out] */ IIcadHatch __RPC_FAR *__RPC_FAR *ppHatch);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddImage )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ BSTR ImageFile,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [defaultvalue][optional][in] */ double ScaleFactor,
            /* [defaultvalue][optional][in] */ double RotationAngle,
            /* [retval][out] */ IIcadImage __RPC_FAR *__RPC_FAR *ppImage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddInfiniteLine )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [retval][out] */ IIcadInfiniteLine __RPC_FAR *__RPC_FAR *ppInfiniteLine);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddLeader )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Points,
            /* [optional][in] */ BSTR Annotation,
            /* [defaultvalue][optional][in] */ LeaderType Type,
            /* [retval][out] */ IIcadLeader __RPC_FAR *__RPC_FAR *ppLeader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddLightWeightPolyline )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [retval][out] */ IIcadLightWeightPolyline __RPC_FAR *__RPC_FAR *ppLWPolyline);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddLine )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *StartPoint,
            /* [in] */ IIcadPoint __RPC_FAR *EndPoint,
            /* [retval][out] */ IIcadLine __RPC_FAR *__RPC_FAR *ppLine);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddMText )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ double Width,
            /* [in] */ BSTR Text,
            /* [retval][out] */ IIcadMText __RPC_FAR *__RPC_FAR *ppMText);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddPointEntity )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point,
            /* [retval][out] */ IIcadPointEntity __RPC_FAR *__RPC_FAR *ppPointEntity);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddPolyline )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [retval][out] */ IIcadPolyline __RPC_FAR *__RPC_FAR *ppPolyline);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddPolyfaceMesh )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Vertices,
            /* [in] */ VARIANT ListOfFaceIndices,
            /* [retval][out] */ IIcadPolyfaceMesh __RPC_FAR *__RPC_FAR *ppMesh);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddRay )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [retval][out] */ IIcadRay __RPC_FAR *__RPC_FAR *ppRay);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSolid )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Point1,
            /* [in] */ IIcadPoint __RPC_FAR *Point2,
            /* [in] */ IIcadPoint __RPC_FAR *Point3,
            /* [optional][in] */ IIcadPoint __RPC_FAR *Point4,
            /* [retval][out] */ IIcadSolid __RPC_FAR *__RPC_FAR *ppSolid);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSphere )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double Radius,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppSphere);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSpline )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *__RPC_FAR *Points,
            /* [in] */ IIcadVector __RPC_FAR *StartTangent,
            /* [in] */ IIcadVector __RPC_FAR *EndTangent,
            /* [retval][out] */ IIcadSpline __RPC_FAR *__RPC_FAR *ppSpline);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddText )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ BSTR TextString,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadText __RPC_FAR *__RPC_FAR *ppText);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddTolerance )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ BSTR Text,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ IIcadVector __RPC_FAR *Direction,
            /* [retval][out] */ IIcadTolerance __RPC_FAR *__RPC_FAR *ppTolerance);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddTorus )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Center,
            /* [in] */ double TorusRadius,
            /* [in] */ double TubeRadius,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *pTorus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddTrace )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Points,
            /* [retval][out] */ IIcadTrace __RPC_FAR *__RPC_FAR *ppTrace);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddWedge )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *Origin,
            /* [in] */ double Length,
            /* [in] */ double Width,
            /* [in] */ double Height,
            /* [retval][out] */ IIcadPolygonMesh __RPC_FAR *__RPC_FAR *ppWedge);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AttachExternalReference )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ BSTR PathName,
            /* [in] */ BSTR Name,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ double XScale,
            /* [in] */ double YScale,
            /* [in] */ double ZScale,
            /* [in] */ double Rotation,
            /* [in] */ VARIANT_BOOL bOverlay,
            /* [retval][out] */ IIcadExternalReference __RPC_FAR *__RPC_FAR *ppXRef);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InsertBlock )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [in] */ BSTR BlockName,
            /* [defaultvalue][optional][in] */ double XScale,
            /* [defaultvalue][optional][in] */ double YScale,
            /* [defaultvalue][optional][in] */ double ZScale,
            /* [defaultvalue][optional][in] */ double Rotation,
            /* [retval][out] */ IIcadBlockInsert __RPC_FAR *__RPC_FAR *ppBlockInsert);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddShape )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [in] */ BSTR Name,
            /* [in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [defaultvalue][optional][in] */ double Height,
            /* [defaultvalue][optional][in] */ double Rotation,
            /* [retval][out] */ IIcadShape __RPC_FAR *__RPC_FAR *ppShape);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddPViewport )( 
            IIcadPaperSpace __RPC_FAR * This,
            /* [optional][in] */ IIcadPoint __RPC_FAR *Center,
            /* [optional][in] */ double Width,
            /* [optional][in] */ double Height,
            /* [retval][out] */ IIcadPViewport __RPC_FAR *__RPC_FAR *ppViewport);
        
        END_INTERFACE
    } IIcadPaperSpaceVtbl;

    interface IIcadPaperSpace
    {
        CONST_VTBL struct IIcadPaperSpaceVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadPaperSpace_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadPaperSpace_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadPaperSpace_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadPaperSpace_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadPaperSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadPaperSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadPaperSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadPaperSpace_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadPaperSpace_get_Count(This,pCount)	\
    (This)->lpVtbl -> get_Count(This,pCount)

#define IIcadPaperSpace_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadPaperSpace_get__NewEnum(This,ppUnk)	\
    (This)->lpVtbl -> get__NewEnum(This,ppUnk)

#define IIcadPaperSpace_Item(This,Index,ppItem)	\
    (This)->lpVtbl -> Item(This,Index,ppItem)

#define IIcadPaperSpace_Add3DFace(This,Point1,Point2,Point3,Point4,pp3DFace)	\
    (This)->lpVtbl -> Add3DFace(This,Point1,Point2,Point3,Point4,pp3DFace)

#define IIcadPaperSpace_Add3DMesh(This,M,N,Vertices,ppMesh)	\
    (This)->lpVtbl -> Add3DMesh(This,M,N,Vertices,ppMesh)

#define IIcadPaperSpace_Add3DPoly(This,Vertices,pp3DPoly)	\
    (This)->lpVtbl -> Add3DPoly(This,Vertices,pp3DPoly)

#define IIcadPaperSpace_AddArc(This,Center,Radius,StartAngle,EndAngle,ppArc)	\
    (This)->lpVtbl -> AddArc(This,Center,Radius,StartAngle,EndAngle,ppArc)

#define IIcadPaperSpace_AddAttributeDef(This,Height,Mode,Prompt,InsertionPoint,Tag,Value,ppAttribute)	\
    (This)->lpVtbl -> AddAttributeDef(This,Height,Mode,Prompt,InsertionPoint,Tag,Value,ppAttribute)

#define IIcadPaperSpace_AddBox(This,Origin,Length,Width,Height,ppBox)	\
    (This)->lpVtbl -> AddBox(This,Origin,Length,Width,Height,ppBox)

#define IIcadPaperSpace_AddCircle(This,Center,Radius,ppCircle)	\
    (This)->lpVtbl -> AddCircle(This,Center,Radius,ppCircle)

#define IIcadPaperSpace_AddCone(This,Center,BaseRadius,Height,ppCone)	\
    (This)->lpVtbl -> AddCone(This,Center,BaseRadius,Height,ppCone)

#define IIcadPaperSpace_AddCylinder(This,Center,Radius,Height,ppCylinder)	\
    (This)->lpVtbl -> AddCylinder(This,Center,Radius,Height,ppCylinder)

#define IIcadPaperSpace_AddDim3PointAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextLocation,ppDimension)	\
    (This)->lpVtbl -> AddDim3PointAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextLocation,ppDimension)

#define IIcadPaperSpace_AddDimAligned(This,ExtPoint1,ExtPoint2,TextLocation,ppDimension)	\
    (This)->lpVtbl -> AddDimAligned(This,ExtPoint1,ExtPoint2,TextLocation,ppDimension)

#define IIcadPaperSpace_AddDimAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextLocation,ppDimension)	\
    (This)->lpVtbl -> AddDimAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextLocation,ppDimension)

#define IIcadPaperSpace_AddDimDiametric(This,ChordPoint,FarChordPoint,LeaderLength,ppDimension)	\
    (This)->lpVtbl -> AddDimDiametric(This,ChordPoint,FarChordPoint,LeaderLength,ppDimension)

#define IIcadPaperSpace_AddDimOrdinate(This,DefintionPoint,LeaderEndPoint,UseXAxis,ppDimension)	\
    (This)->lpVtbl -> AddDimOrdinate(This,DefintionPoint,LeaderEndPoint,UseXAxis,ppDimension)

#define IIcadPaperSpace_AddDimRadial(This,Center,ChordPoint,LeaderLength,ppDimension)	\
    (This)->lpVtbl -> AddDimRadial(This,Center,ChordPoint,LeaderLength,ppDimension)

#define IIcadPaperSpace_AddDimRotated(This,ExtPoint1,ExtPoint2,DimLineLocation,Rotation,ppDimension)	\
    (This)->lpVtbl -> AddDimRotated(This,ExtPoint1,ExtPoint2,DimLineLocation,Rotation,ppDimension)

#define IIcadPaperSpace_AddEllipse(This,Center,MajorAxis,RadiusRatio,ppEllipse)	\
    (This)->lpVtbl -> AddEllipse(This,Center,MajorAxis,RadiusRatio,ppEllipse)

#define IIcadPaperSpace_AddHatch(This,PatternType,PatternName,Associativity,ppHatch)	\
    (This)->lpVtbl -> AddHatch(This,PatternType,PatternName,Associativity,ppHatch)

#define IIcadPaperSpace_AddImage(This,ImageFile,InsertionPoint,ScaleFactor,RotationAngle,ppImage)	\
    (This)->lpVtbl -> AddImage(This,ImageFile,InsertionPoint,ScaleFactor,RotationAngle,ppImage)

#define IIcadPaperSpace_AddInfiniteLine(This,Point1,Point2,ppInfiniteLine)	\
    (This)->lpVtbl -> AddInfiniteLine(This,Point1,Point2,ppInfiniteLine)

#define IIcadPaperSpace_AddLeader(This,Points,Annotation,Type,ppLeader)	\
    (This)->lpVtbl -> AddLeader(This,Points,Annotation,Type,ppLeader)

#define IIcadPaperSpace_AddLightWeightPolyline(This,Vertices,ppLWPolyline)	\
    (This)->lpVtbl -> AddLightWeightPolyline(This,Vertices,ppLWPolyline)

#define IIcadPaperSpace_AddLine(This,StartPoint,EndPoint,ppLine)	\
    (This)->lpVtbl -> AddLine(This,StartPoint,EndPoint,ppLine)

#define IIcadPaperSpace_AddMText(This,InsertionPoint,Width,Text,ppMText)	\
    (This)->lpVtbl -> AddMText(This,InsertionPoint,Width,Text,ppMText)

#define IIcadPaperSpace_AddPointEntity(This,Point,ppPointEntity)	\
    (This)->lpVtbl -> AddPointEntity(This,Point,ppPointEntity)

#define IIcadPaperSpace_AddPolyline(This,Vertices,ppPolyline)	\
    (This)->lpVtbl -> AddPolyline(This,Vertices,ppPolyline)

#define IIcadPaperSpace_AddPolyfaceMesh(This,Vertices,ListOfFaceIndices,ppMesh)	\
    (This)->lpVtbl -> AddPolyfaceMesh(This,Vertices,ListOfFaceIndices,ppMesh)

#define IIcadPaperSpace_AddRay(This,Point1,Point2,ppRay)	\
    (This)->lpVtbl -> AddRay(This,Point1,Point2,ppRay)

#define IIcadPaperSpace_AddSolid(This,Point1,Point2,Point3,Point4,ppSolid)	\
    (This)->lpVtbl -> AddSolid(This,Point1,Point2,Point3,Point4,ppSolid)

#define IIcadPaperSpace_AddSphere(This,Center,Radius,ppSphere)	\
    (This)->lpVtbl -> AddSphere(This,Center,Radius,ppSphere)

#define IIcadPaperSpace_AddSpline(This,Points,StartTangent,EndTangent,ppSpline)	\
    (This)->lpVtbl -> AddSpline(This,Points,StartTangent,EndTangent,ppSpline)

#define IIcadPaperSpace_AddText(This,TextString,InsertionPoint,Height,ppText)	\
    (This)->lpVtbl -> AddText(This,TextString,InsertionPoint,Height,ppText)

#define IIcadPaperSpace_AddTolerance(This,Text,InsertionPoint,Direction,ppTolerance)	\
    (This)->lpVtbl -> AddTolerance(This,Text,InsertionPoint,Direction,ppTolerance)

#define IIcadPaperSpace_AddTorus(This,Center,TorusRadius,TubeRadius,pTorus)	\
    (This)->lpVtbl -> AddTorus(This,Center,TorusRadius,TubeRadius,pTorus)

#define IIcadPaperSpace_AddTrace(This,Points,ppTrace)	\
    (This)->lpVtbl -> AddTrace(This,Points,ppTrace)

#define IIcadPaperSpace_AddWedge(This,Origin,Length,Width,Height,ppWedge)	\
    (This)->lpVtbl -> AddWedge(This,Origin,Length,Width,Height,ppWedge)

#define IIcadPaperSpace_AttachExternalReference(This,PathName,Name,InsertionPoint,XScale,YScale,ZScale,Rotation,bOverlay,ppXRef)	\
    (This)->lpVtbl -> AttachExternalReference(This,PathName,Name,InsertionPoint,XScale,YScale,ZScale,Rotation,bOverlay,ppXRef)

#define IIcadPaperSpace_InsertBlock(This,InsertionPoint,BlockName,XScale,YScale,ZScale,Rotation,ppBlockInsert)	\
    (This)->lpVtbl -> InsertBlock(This,InsertionPoint,BlockName,XScale,YScale,ZScale,Rotation,ppBlockInsert)

#define IIcadPaperSpace_AddShape(This,Name,InsertionPoint,Height,Rotation,ppShape)	\
    (This)->lpVtbl -> AddShape(This,Name,InsertionPoint,Height,Rotation,ppShape)


#define IIcadPaperSpace_AddPViewport(This,Center,Width,Height,ppViewport)	\
    (This)->lpVtbl -> AddPViewport(This,Center,Width,Height,ppViewport)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadPaperSpace_AddPViewport_Proxy( 
    IIcadPaperSpace __RPC_FAR * This,
    /* [optional][in] */ IIcadPoint __RPC_FAR *Center,
    /* [optional][in] */ double Width,
    /* [optional][in] */ double Height,
    /* [retval][out] */ IIcadPViewport __RPC_FAR *__RPC_FAR *ppViewport);


void __RPC_STUB IIcadPaperSpace_AddPViewport_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadPaperSpace_INTERFACE_DEFINED__ */


#ifndef __IIcadDocument_INTERFACE_DEFINED__
#define __IIcadDocument_INTERFACE_DEFINED__

/* interface IIcadDocument */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadDocument;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c103-7e36-11d1-bc5a-0060089608a4")
    IIcadDocument : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Active( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Active) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveDimStyle( 
            /* [retval][out] */ IIcadDimensionStyle __RPC_FAR *__RPC_FAR *ppDimStyle) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ActiveDimStyle( 
            /* [in] */ IIcadDimensionStyle __RPC_FAR *pDimStyle) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveLayer( 
            /* [retval][out] */ IIcadLayer __RPC_FAR *__RPC_FAR *ppLayer) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ActiveLayer( 
            /* [in] */ IIcadLayer __RPC_FAR *pLayer) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveLinetype( 
            /* [retval][out] */ IIcadLinetype __RPC_FAR *__RPC_FAR *ppLinetype) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ActiveLinetype( 
            /* [in] */ IIcadLinetype __RPC_FAR *pLinetype) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ActivePViewport( 
            /* [retval][out] */ IIcadPViewport __RPC_FAR *__RPC_FAR *ppVPort) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ActivePViewport( 
            /* [in] */ IIcadPViewport __RPC_FAR *pVPort) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveSelectionSet( 
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppSelSet) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveSpace( 
            /* [retval][out] */ PMSpace __RPC_FAR *pSpace) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ActiveSpace( 
            /* [in] */ PMSpace Space) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveTextStyle( 
            /* [retval][out] */ IIcadTextStyle __RPC_FAR *__RPC_FAR *ppTextStyle) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ActiveTextStyle( 
            /* [in] */ IIcadTextStyle __RPC_FAR *pTextStyle) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveUCS( 
            /* [retval][out] */ IIcadUserCoordSystem __RPC_FAR *__RPC_FAR *ppUCS) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ActiveUCS( 
            /* [in] */ IIcadUserCoordSystem __RPC_FAR *pUCS) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveViewport( 
            /* [retval][out] */ IIcadViewport __RPC_FAR *__RPC_FAR *ppViewport) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ActiveViewport( 
            /* [in] */ IIcadViewport __RPC_FAR *pViewport) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Blocks( 
            /* [retval][out] */ IIcadBlocks __RPC_FAR *__RPC_FAR *ppBlocks) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionStyles( 
            /* [retval][out] */ IIcadDimensionStyles __RPC_FAR *__RPC_FAR *ppDimensionStyles) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Layers( 
            /* [retval][out] */ IIcadLayers __RPC_FAR *__RPC_FAR *ppLayers) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Linetypes( 
            /* [retval][out] */ IIcadLinetypes __RPC_FAR *__RPC_FAR *ppLinetypes) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RegisteredApplications( 
            /* [retval][out] */ IIcadRegisteredApplications __RPC_FAR *__RPC_FAR *ppAppIDs) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SelectionSets( 
            /* [retval][out] */ IIcadSelectionSets __RPC_FAR *__RPC_FAR *ppSelSets) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextStyles( 
            /* [retval][out] */ IIcadTextStyles __RPC_FAR *__RPC_FAR *ppTextStyles) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_UserCoordinateSystems( 
            /* [retval][out] */ IIcadUserCoordSystems __RPC_FAR *__RPC_FAR *ppUserCoordSystems) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Viewports( 
            /* [retval][out] */ IIcadViewports __RPC_FAR *__RPC_FAR *ppViewports) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Views( 
            /* [retval][out] */ IIcadViews __RPC_FAR *__RPC_FAR *ppViews) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ModelSpace( 
            /* [retval][out] */ IIcadModelSpace __RPC_FAR *__RPC_FAR *ppEntities) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PaperSpace( 
            /* [retval][out] */ IIcadPaperSpace __RPC_FAR *__RPC_FAR *ppEntities) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadDocuments __RPC_FAR *__RPC_FAR *ppParent) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Preferences( 
            /* [retval][out] */ IIcadDocumentPreferences __RPC_FAR *__RPC_FAR *ppPreferences) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FullName( 
            /* [retval][out] */ BSTR __RPC_FAR *pstrFullAppName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR __RPC_FAR *pAppName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
            /* [retval][out] */ BSTR __RPC_FAR *pPath) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ReadOnly( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbReadOnly) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Saved( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbSaved) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MSpace( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pSpace) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MSpace( 
            /* [in] */ VARIANT_BOOL Space) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ObjectSnapMode( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *SnapMode) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ObjectSnapMode( 
            /* [in] */ VARIANT_BOOL SnapMode) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ElevationModelSpace( 
            /* [retval][out] */ double __RPC_FAR *Elevation) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ElevationModelSpace( 
            /* [in] */ double Elevation) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ElevationPaperSpace( 
            /* [retval][out] */ double __RPC_FAR *Elevation) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ElevationPaperSpace( 
            /* [in] */ double Elevation) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Limits( 
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppLimits) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Limits( 
            /* [in] */ IIcadPoints __RPC_FAR *Limits) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Utility( 
            /* [retval][out] */ IIcadUtility __RPC_FAR *__RPC_FAR *ppUtility) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Activate( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Close( 
            /* [defaultvalue][optional][in] */ VARIANT_BOOL SaveChanges,
            /* [optional][in] */ BSTR File) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Export( 
            /* [in] */ BSTR FileName,
            /* [in] */ BSTR Extension,
            /* [optional][in] */ IIcadSelectionSet __RPC_FAR *SelectionSet) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Import( 
            /* [in] */ BSTR FileName,
            /* [optional][in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [defaultvalue][optional][in] */ double ScaleFactor = 1) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NewWindow( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PrintDrawing( 
            /* [defaultvalue][optional][in] */ short nCopies = 1) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PrintPreview( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Save( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveAs( 
            /* [in] */ BSTR SaveFile,
            /* [defaultvalue][optional][in] */ FileVersions Version = vicVersionR14) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WBlock( 
            /* [in] */ BSTR FileName,
            /* [in] */ IIcadSelectionSet __RPC_FAR *SelectionSet,
            /* [optional][in] */ IIcadPoint __RPC_FAR *Origin) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetVariable( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ VARIANT __RPC_FAR *pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetVariable( 
            /* [in] */ BSTR Name,
            /* [in] */ VARIANT Value) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLispVariable( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ VARIANT __RPC_FAR *pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetLispVariable( 
            /* [in] */ BSTR Name,
            /* [in] */ VARIANT Value) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EvaluateLispExpression( 
            /* [in] */ BSTR LispExpression,
            /* [retval][out] */ VARIANT __RPC_FAR *LispResult) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HandleToObject( 
            /* [in] */ BSTR Handle,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *pObject) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PurgeAll( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Regen( 
            /* [defaultvalue][optional][in] */ WhichViewport Viewports = vicActiveViewport) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadShapeFile( 
            /* [in] */ BSTR FileName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadDocumentVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadDocument __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadDocument __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadDocument __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Active )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Active);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveDimStyle )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadDimensionStyle __RPC_FAR *__RPC_FAR *ppDimStyle);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ActiveDimStyle )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ IIcadDimensionStyle __RPC_FAR *pDimStyle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveLayer )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadLayer __RPC_FAR *__RPC_FAR *ppLayer);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ActiveLayer )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ IIcadLayer __RPC_FAR *pLayer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveLinetype )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadLinetype __RPC_FAR *__RPC_FAR *ppLinetype);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ActiveLinetype )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ IIcadLinetype __RPC_FAR *pLinetype);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActivePViewport )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadPViewport __RPC_FAR *__RPC_FAR *ppVPort);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ActivePViewport )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ IIcadPViewport __RPC_FAR *pVPort);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveSelectionSet )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppSelSet);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveSpace )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ PMSpace __RPC_FAR *pSpace);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ActiveSpace )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ PMSpace Space);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveTextStyle )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadTextStyle __RPC_FAR *__RPC_FAR *ppTextStyle);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ActiveTextStyle )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ IIcadTextStyle __RPC_FAR *pTextStyle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveUCS )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadUserCoordSystem __RPC_FAR *__RPC_FAR *ppUCS);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ActiveUCS )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ IIcadUserCoordSystem __RPC_FAR *pUCS);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveViewport )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadViewport __RPC_FAR *__RPC_FAR *ppViewport);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ActiveViewport )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ IIcadViewport __RPC_FAR *pViewport);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Blocks )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadBlocks __RPC_FAR *__RPC_FAR *ppBlocks);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DimensionStyles )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadDimensionStyles __RPC_FAR *__RPC_FAR *ppDimensionStyles);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Layers )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadLayers __RPC_FAR *__RPC_FAR *ppLayers);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Linetypes )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadLinetypes __RPC_FAR *__RPC_FAR *ppLinetypes);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RegisteredApplications )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadRegisteredApplications __RPC_FAR *__RPC_FAR *ppAppIDs);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SelectionSets )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadSelectionSets __RPC_FAR *__RPC_FAR *ppSelSets);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextStyles )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadTextStyles __RPC_FAR *__RPC_FAR *ppTextStyles);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UserCoordinateSystems )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadUserCoordSystems __RPC_FAR *__RPC_FAR *ppUserCoordSystems);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Viewports )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadViewports __RPC_FAR *__RPC_FAR *ppViewports);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Views )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadViews __RPC_FAR *__RPC_FAR *ppViews);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ModelSpace )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadModelSpace __RPC_FAR *__RPC_FAR *ppEntities);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PaperSpace )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadPaperSpace __RPC_FAR *__RPC_FAR *ppEntities);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadDocuments __RPC_FAR *__RPC_FAR *ppParent);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Preferences )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadDocumentPreferences __RPC_FAR *__RPC_FAR *ppPreferences);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FullName )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pstrFullAppName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pAppName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Path )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pPath);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ReadOnly )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbReadOnly);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Saved )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbSaved);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MSpace )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pSpace);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MSpace )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Space);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ObjectSnapMode )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *SnapMode);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ObjectSnapMode )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL SnapMode);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ElevationModelSpace )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Elevation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ElevationModelSpace )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ double Elevation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ElevationPaperSpace )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *Elevation);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ElevationPaperSpace )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ double Elevation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Limits )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppLimits);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Limits )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ IIcadPoints __RPC_FAR *Limits);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Utility )( 
            IIcadDocument __RPC_FAR * This,
            /* [retval][out] */ IIcadUtility __RPC_FAR *__RPC_FAR *ppUtility);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Activate )( 
            IIcadDocument __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )( 
            IIcadDocument __RPC_FAR * This,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL SaveChanges,
            /* [optional][in] */ BSTR File);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Export )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ BSTR FileName,
            /* [in] */ BSTR Extension,
            /* [optional][in] */ IIcadSelectionSet __RPC_FAR *SelectionSet);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Import )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ BSTR FileName,
            /* [optional][in] */ IIcadPoint __RPC_FAR *InsertionPoint,
            /* [defaultvalue][optional][in] */ double ScaleFactor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NewWindow )( 
            IIcadDocument __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PrintDrawing )( 
            IIcadDocument __RPC_FAR * This,
            /* [defaultvalue][optional][in] */ short nCopies);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PrintPreview )( 
            IIcadDocument __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Save )( 
            IIcadDocument __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveAs )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ BSTR SaveFile,
            /* [defaultvalue][optional][in] */ FileVersions Version);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WBlock )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ BSTR FileName,
            /* [in] */ IIcadSelectionSet __RPC_FAR *SelectionSet,
            /* [optional][in] */ IIcadPoint __RPC_FAR *Origin);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVariable )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ VARIANT __RPC_FAR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVariable )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ BSTR Name,
            /* [in] */ VARIANT Value);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLispVariable )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ VARIANT __RPC_FAR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLispVariable )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ BSTR Name,
            /* [in] */ VARIANT Value);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EvaluateLispExpression )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ BSTR LispExpression,
            /* [retval][out] */ VARIANT __RPC_FAR *LispResult);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *HandleToObject )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ BSTR Handle,
            /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *pObject);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PurgeAll )( 
            IIcadDocument __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Regen )( 
            IIcadDocument __RPC_FAR * This,
            /* [defaultvalue][optional][in] */ WhichViewport Viewports);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadShapeFile )( 
            IIcadDocument __RPC_FAR * This,
            /* [in] */ BSTR FileName);
        
        END_INTERFACE
    } IIcadDocumentVtbl;

    interface IIcadDocument
    {
        CONST_VTBL struct IIcadDocumentVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadDocument_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadDocument_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadDocument_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadDocument_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadDocument_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadDocument_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadDocument_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadDocument_get_Active(This,Active)	\
    (This)->lpVtbl -> get_Active(This,Active)

#define IIcadDocument_get_ActiveDimStyle(This,ppDimStyle)	\
    (This)->lpVtbl -> get_ActiveDimStyle(This,ppDimStyle)

#define IIcadDocument_put_ActiveDimStyle(This,pDimStyle)	\
    (This)->lpVtbl -> put_ActiveDimStyle(This,pDimStyle)

#define IIcadDocument_get_ActiveLayer(This,ppLayer)	\
    (This)->lpVtbl -> get_ActiveLayer(This,ppLayer)

#define IIcadDocument_put_ActiveLayer(This,pLayer)	\
    (This)->lpVtbl -> put_ActiveLayer(This,pLayer)

#define IIcadDocument_get_ActiveLinetype(This,ppLinetype)	\
    (This)->lpVtbl -> get_ActiveLinetype(This,ppLinetype)

#define IIcadDocument_put_ActiveLinetype(This,pLinetype)	\
    (This)->lpVtbl -> put_ActiveLinetype(This,pLinetype)

#define IIcadDocument_get_ActivePViewport(This,ppVPort)	\
    (This)->lpVtbl -> get_ActivePViewport(This,ppVPort)

#define IIcadDocument_put_ActivePViewport(This,pVPort)	\
    (This)->lpVtbl -> put_ActivePViewport(This,pVPort)

#define IIcadDocument_get_ActiveSelectionSet(This,ppSelSet)	\
    (This)->lpVtbl -> get_ActiveSelectionSet(This,ppSelSet)

#define IIcadDocument_get_ActiveSpace(This,pSpace)	\
    (This)->lpVtbl -> get_ActiveSpace(This,pSpace)

#define IIcadDocument_put_ActiveSpace(This,Space)	\
    (This)->lpVtbl -> put_ActiveSpace(This,Space)

#define IIcadDocument_get_ActiveTextStyle(This,ppTextStyle)	\
    (This)->lpVtbl -> get_ActiveTextStyle(This,ppTextStyle)

#define IIcadDocument_put_ActiveTextStyle(This,pTextStyle)	\
    (This)->lpVtbl -> put_ActiveTextStyle(This,pTextStyle)

#define IIcadDocument_get_ActiveUCS(This,ppUCS)	\
    (This)->lpVtbl -> get_ActiveUCS(This,ppUCS)

#define IIcadDocument_put_ActiveUCS(This,pUCS)	\
    (This)->lpVtbl -> put_ActiveUCS(This,pUCS)

#define IIcadDocument_get_ActiveViewport(This,ppViewport)	\
    (This)->lpVtbl -> get_ActiveViewport(This,ppViewport)

#define IIcadDocument_put_ActiveViewport(This,pViewport)	\
    (This)->lpVtbl -> put_ActiveViewport(This,pViewport)

#define IIcadDocument_get_Blocks(This,ppBlocks)	\
    (This)->lpVtbl -> get_Blocks(This,ppBlocks)

#define IIcadDocument_get_DimensionStyles(This,ppDimensionStyles)	\
    (This)->lpVtbl -> get_DimensionStyles(This,ppDimensionStyles)

#define IIcadDocument_get_Layers(This,ppLayers)	\
    (This)->lpVtbl -> get_Layers(This,ppLayers)

#define IIcadDocument_get_Linetypes(This,ppLinetypes)	\
    (This)->lpVtbl -> get_Linetypes(This,ppLinetypes)

#define IIcadDocument_get_RegisteredApplications(This,ppAppIDs)	\
    (This)->lpVtbl -> get_RegisteredApplications(This,ppAppIDs)

#define IIcadDocument_get_SelectionSets(This,ppSelSets)	\
    (This)->lpVtbl -> get_SelectionSets(This,ppSelSets)

#define IIcadDocument_get_TextStyles(This,ppTextStyles)	\
    (This)->lpVtbl -> get_TextStyles(This,ppTextStyles)

#define IIcadDocument_get_UserCoordinateSystems(This,ppUserCoordSystems)	\
    (This)->lpVtbl -> get_UserCoordinateSystems(This,ppUserCoordSystems)

#define IIcadDocument_get_Viewports(This,ppViewports)	\
    (This)->lpVtbl -> get_Viewports(This,ppViewports)

#define IIcadDocument_get_Views(This,ppViews)	\
    (This)->lpVtbl -> get_Views(This,ppViews)

#define IIcadDocument_get_ModelSpace(This,ppEntities)	\
    (This)->lpVtbl -> get_ModelSpace(This,ppEntities)

#define IIcadDocument_get_PaperSpace(This,ppEntities)	\
    (This)->lpVtbl -> get_PaperSpace(This,ppEntities)

#define IIcadDocument_get_Application(This,ppApp)	\
    (This)->lpVtbl -> get_Application(This,ppApp)

#define IIcadDocument_get_Parent(This,ppParent)	\
    (This)->lpVtbl -> get_Parent(This,ppParent)

#define IIcadDocument_get_Preferences(This,ppPreferences)	\
    (This)->lpVtbl -> get_Preferences(This,ppPreferences)

#define IIcadDocument_get_FullName(This,pstrFullAppName)	\
    (This)->lpVtbl -> get_FullName(This,pstrFullAppName)

#define IIcadDocument_get_Name(This,pAppName)	\
    (This)->lpVtbl -> get_Name(This,pAppName)

#define IIcadDocument_get_Path(This,pPath)	\
    (This)->lpVtbl -> get_Path(This,pPath)

#define IIcadDocument_get_ReadOnly(This,pbReadOnly)	\
    (This)->lpVtbl -> get_ReadOnly(This,pbReadOnly)

#define IIcadDocument_get_Saved(This,pbSaved)	\
    (This)->lpVtbl -> get_Saved(This,pbSaved)

#define IIcadDocument_get_MSpace(This,pSpace)	\
    (This)->lpVtbl -> get_MSpace(This,pSpace)

#define IIcadDocument_put_MSpace(This,Space)	\
    (This)->lpVtbl -> put_MSpace(This,Space)

#define IIcadDocument_get_ObjectSnapMode(This,SnapMode)	\
    (This)->lpVtbl -> get_ObjectSnapMode(This,SnapMode)

#define IIcadDocument_put_ObjectSnapMode(This,SnapMode)	\
    (This)->lpVtbl -> put_ObjectSnapMode(This,SnapMode)

#define IIcadDocument_get_ElevationModelSpace(This,Elevation)	\
    (This)->lpVtbl -> get_ElevationModelSpace(This,Elevation)

#define IIcadDocument_put_ElevationModelSpace(This,Elevation)	\
    (This)->lpVtbl -> put_ElevationModelSpace(This,Elevation)

#define IIcadDocument_get_ElevationPaperSpace(This,Elevation)	\
    (This)->lpVtbl -> get_ElevationPaperSpace(This,Elevation)

#define IIcadDocument_put_ElevationPaperSpace(This,Elevation)	\
    (This)->lpVtbl -> put_ElevationPaperSpace(This,Elevation)

#define IIcadDocument_get_Limits(This,ppLimits)	\
    (This)->lpVtbl -> get_Limits(This,ppLimits)

#define IIcadDocument_put_Limits(This,Limits)	\
    (This)->lpVtbl -> put_Limits(This,Limits)

#define IIcadDocument_get_Utility(This,ppUtility)	\
    (This)->lpVtbl -> get_Utility(This,ppUtility)

#define IIcadDocument_Activate(This)	\
    (This)->lpVtbl -> Activate(This)

#define IIcadDocument_Close(This,SaveChanges,File)	\
    (This)->lpVtbl -> Close(This,SaveChanges,File)

#define IIcadDocument_Export(This,FileName,Extension,SelectionSet)	\
    (This)->lpVtbl -> Export(This,FileName,Extension,SelectionSet)

#define IIcadDocument_Import(This,FileName,InsertionPoint,ScaleFactor)	\
    (This)->lpVtbl -> Import(This,FileName,InsertionPoint,ScaleFactor)

#define IIcadDocument_NewWindow(This)	\
    (This)->lpVtbl -> NewWindow(This)

#define IIcadDocument_PrintDrawing(This,nCopies)	\
    (This)->lpVtbl -> PrintDrawing(This,nCopies)

#define IIcadDocument_PrintPreview(This)	\
    (This)->lpVtbl -> PrintPreview(This)

#define IIcadDocument_Save(This)	\
    (This)->lpVtbl -> Save(This)

#define IIcadDocument_SaveAs(This,SaveFile,Version)	\
    (This)->lpVtbl -> SaveAs(This,SaveFile,Version)

#define IIcadDocument_WBlock(This,FileName,SelectionSet,Origin)	\
    (This)->lpVtbl -> WBlock(This,FileName,SelectionSet,Origin)

#define IIcadDocument_GetVariable(This,Name,pValue)	\
    (This)->lpVtbl -> GetVariable(This,Name,pValue)

#define IIcadDocument_SetVariable(This,Name,Value)	\
    (This)->lpVtbl -> SetVariable(This,Name,Value)

#define IIcadDocument_GetLispVariable(This,Name,pValue)	\
    (This)->lpVtbl -> GetLispVariable(This,Name,pValue)

#define IIcadDocument_SetLispVariable(This,Name,Value)	\
    (This)->lpVtbl -> SetLispVariable(This,Name,Value)

#define IIcadDocument_EvaluateLispExpression(This,LispExpression,LispResult)	\
    (This)->lpVtbl -> EvaluateLispExpression(This,LispExpression,LispResult)

#define IIcadDocument_HandleToObject(This,Handle,pObject)	\
    (This)->lpVtbl -> HandleToObject(This,Handle,pObject)

#define IIcadDocument_PurgeAll(This)	\
    (This)->lpVtbl -> PurgeAll(This)

#define IIcadDocument_Regen(This,Viewports)	\
    (This)->lpVtbl -> Regen(This,Viewports)

#define IIcadDocument_LoadShapeFile(This,FileName)	\
    (This)->lpVtbl -> LoadShapeFile(This,FileName)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_Active_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Active);


void __RPC_STUB IIcadDocument_get_Active_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_ActiveDimStyle_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadDimensionStyle __RPC_FAR *__RPC_FAR *ppDimStyle);


void __RPC_STUB IIcadDocument_get_ActiveDimStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDocument_put_ActiveDimStyle_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ IIcadDimensionStyle __RPC_FAR *pDimStyle);


void __RPC_STUB IIcadDocument_put_ActiveDimStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_ActiveLayer_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadLayer __RPC_FAR *__RPC_FAR *ppLayer);


void __RPC_STUB IIcadDocument_get_ActiveLayer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDocument_put_ActiveLayer_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ IIcadLayer __RPC_FAR *pLayer);


void __RPC_STUB IIcadDocument_put_ActiveLayer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_ActiveLinetype_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadLinetype __RPC_FAR *__RPC_FAR *ppLinetype);


void __RPC_STUB IIcadDocument_get_ActiveLinetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDocument_put_ActiveLinetype_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ IIcadLinetype __RPC_FAR *pLinetype);


void __RPC_STUB IIcadDocument_put_ActiveLinetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_ActivePViewport_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadPViewport __RPC_FAR *__RPC_FAR *ppVPort);


void __RPC_STUB IIcadDocument_get_ActivePViewport_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDocument_put_ActivePViewport_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ IIcadPViewport __RPC_FAR *pVPort);


void __RPC_STUB IIcadDocument_put_ActivePViewport_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_ActiveSelectionSet_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadSelectionSet __RPC_FAR *__RPC_FAR *ppSelSet);


void __RPC_STUB IIcadDocument_get_ActiveSelectionSet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_ActiveSpace_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ PMSpace __RPC_FAR *pSpace);


void __RPC_STUB IIcadDocument_get_ActiveSpace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDocument_put_ActiveSpace_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ PMSpace Space);


void __RPC_STUB IIcadDocument_put_ActiveSpace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_ActiveTextStyle_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadTextStyle __RPC_FAR *__RPC_FAR *ppTextStyle);


void __RPC_STUB IIcadDocument_get_ActiveTextStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDocument_put_ActiveTextStyle_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ IIcadTextStyle __RPC_FAR *pTextStyle);


void __RPC_STUB IIcadDocument_put_ActiveTextStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_ActiveUCS_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadUserCoordSystem __RPC_FAR *__RPC_FAR *ppUCS);


void __RPC_STUB IIcadDocument_get_ActiveUCS_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDocument_put_ActiveUCS_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ IIcadUserCoordSystem __RPC_FAR *pUCS);


void __RPC_STUB IIcadDocument_put_ActiveUCS_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_ActiveViewport_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadViewport __RPC_FAR *__RPC_FAR *ppViewport);


void __RPC_STUB IIcadDocument_get_ActiveViewport_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDocument_put_ActiveViewport_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ IIcadViewport __RPC_FAR *pViewport);


void __RPC_STUB IIcadDocument_put_ActiveViewport_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_Blocks_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadBlocks __RPC_FAR *__RPC_FAR *ppBlocks);


void __RPC_STUB IIcadDocument_get_Blocks_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_DimensionStyles_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadDimensionStyles __RPC_FAR *__RPC_FAR *ppDimensionStyles);


void __RPC_STUB IIcadDocument_get_DimensionStyles_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_Layers_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadLayers __RPC_FAR *__RPC_FAR *ppLayers);


void __RPC_STUB IIcadDocument_get_Layers_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_Linetypes_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadLinetypes __RPC_FAR *__RPC_FAR *ppLinetypes);


void __RPC_STUB IIcadDocument_get_Linetypes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_RegisteredApplications_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadRegisteredApplications __RPC_FAR *__RPC_FAR *ppAppIDs);


void __RPC_STUB IIcadDocument_get_RegisteredApplications_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_SelectionSets_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadSelectionSets __RPC_FAR *__RPC_FAR *ppSelSets);


void __RPC_STUB IIcadDocument_get_SelectionSets_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_TextStyles_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadTextStyles __RPC_FAR *__RPC_FAR *ppTextStyles);


void __RPC_STUB IIcadDocument_get_TextStyles_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_UserCoordinateSystems_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadUserCoordSystems __RPC_FAR *__RPC_FAR *ppUserCoordSystems);


void __RPC_STUB IIcadDocument_get_UserCoordinateSystems_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_Viewports_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadViewports __RPC_FAR *__RPC_FAR *ppViewports);


void __RPC_STUB IIcadDocument_get_Viewports_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_Views_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadViews __RPC_FAR *__RPC_FAR *ppViews);


void __RPC_STUB IIcadDocument_get_Views_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_ModelSpace_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadModelSpace __RPC_FAR *__RPC_FAR *ppEntities);


void __RPC_STUB IIcadDocument_get_ModelSpace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_PaperSpace_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadPaperSpace __RPC_FAR *__RPC_FAR *ppEntities);


void __RPC_STUB IIcadDocument_get_PaperSpace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_Application_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *ppApp);


void __RPC_STUB IIcadDocument_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_Parent_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadDocuments __RPC_FAR *__RPC_FAR *ppParent);


void __RPC_STUB IIcadDocument_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_Preferences_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadDocumentPreferences __RPC_FAR *__RPC_FAR *ppPreferences);


void __RPC_STUB IIcadDocument_get_Preferences_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_FullName_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pstrFullAppName);


void __RPC_STUB IIcadDocument_get_FullName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_Name_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pAppName);


void __RPC_STUB IIcadDocument_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_Path_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pPath);


void __RPC_STUB IIcadDocument_get_Path_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_ReadOnly_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbReadOnly);


void __RPC_STUB IIcadDocument_get_ReadOnly_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_Saved_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbSaved);


void __RPC_STUB IIcadDocument_get_Saved_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_MSpace_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pSpace);


void __RPC_STUB IIcadDocument_get_MSpace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDocument_put_MSpace_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Space);


void __RPC_STUB IIcadDocument_put_MSpace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_ObjectSnapMode_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *SnapMode);


void __RPC_STUB IIcadDocument_get_ObjectSnapMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDocument_put_ObjectSnapMode_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL SnapMode);


void __RPC_STUB IIcadDocument_put_ObjectSnapMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_ElevationModelSpace_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Elevation);


void __RPC_STUB IIcadDocument_get_ElevationModelSpace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDocument_put_ElevationModelSpace_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ double Elevation);


void __RPC_STUB IIcadDocument_put_ElevationModelSpace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_ElevationPaperSpace_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *Elevation);


void __RPC_STUB IIcadDocument_get_ElevationPaperSpace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDocument_put_ElevationPaperSpace_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ double Elevation);


void __RPC_STUB IIcadDocument_put_ElevationPaperSpace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_Limits_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadPoints __RPC_FAR *__RPC_FAR *ppLimits);


void __RPC_STUB IIcadDocument_get_Limits_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDocument_put_Limits_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ IIcadPoints __RPC_FAR *Limits);


void __RPC_STUB IIcadDocument_put_Limits_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocument_get_Utility_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [retval][out] */ IIcadUtility __RPC_FAR *__RPC_FAR *ppUtility);


void __RPC_STUB IIcadDocument_get_Utility_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocument_Activate_Proxy( 
    IIcadDocument __RPC_FAR * This);


void __RPC_STUB IIcadDocument_Activate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocument_Close_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [defaultvalue][optional][in] */ VARIANT_BOOL SaveChanges,
    /* [optional][in] */ BSTR File);


void __RPC_STUB IIcadDocument_Close_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocument_Export_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ BSTR FileName,
    /* [in] */ BSTR Extension,
    /* [optional][in] */ IIcadSelectionSet __RPC_FAR *SelectionSet);


void __RPC_STUB IIcadDocument_Export_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocument_Import_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ BSTR FileName,
    /* [optional][in] */ IIcadPoint __RPC_FAR *InsertionPoint,
    /* [defaultvalue][optional][in] */ double ScaleFactor);


void __RPC_STUB IIcadDocument_Import_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocument_NewWindow_Proxy( 
    IIcadDocument __RPC_FAR * This);


void __RPC_STUB IIcadDocument_NewWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocument_PrintDrawing_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [defaultvalue][optional][in] */ short nCopies);


void __RPC_STUB IIcadDocument_PrintDrawing_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocument_PrintPreview_Proxy( 
    IIcadDocument __RPC_FAR * This);


void __RPC_STUB IIcadDocument_PrintPreview_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocument_Save_Proxy( 
    IIcadDocument __RPC_FAR * This);


void __RPC_STUB IIcadDocument_Save_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocument_SaveAs_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ BSTR SaveFile,
    /* [defaultvalue][optional][in] */ FileVersions Version);


void __RPC_STUB IIcadDocument_SaveAs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocument_WBlock_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ BSTR FileName,
    /* [in] */ IIcadSelectionSet __RPC_FAR *SelectionSet,
    /* [optional][in] */ IIcadPoint __RPC_FAR *Origin);


void __RPC_STUB IIcadDocument_WBlock_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocument_GetVariable_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ BSTR Name,
    /* [retval][out] */ VARIANT __RPC_FAR *pValue);


void __RPC_STUB IIcadDocument_GetVariable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocument_SetVariable_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ BSTR Name,
    /* [in] */ VARIANT Value);


void __RPC_STUB IIcadDocument_SetVariable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocument_GetLispVariable_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ BSTR Name,
    /* [retval][out] */ VARIANT __RPC_FAR *pValue);


void __RPC_STUB IIcadDocument_GetLispVariable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocument_SetLispVariable_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ BSTR Name,
    /* [in] */ VARIANT Value);


void __RPC_STUB IIcadDocument_SetLispVariable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocument_EvaluateLispExpression_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ BSTR LispExpression,
    /* [retval][out] */ VARIANT __RPC_FAR *LispResult);


void __RPC_STUB IIcadDocument_EvaluateLispExpression_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocument_HandleToObject_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ BSTR Handle,
    /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *pObject);


void __RPC_STUB IIcadDocument_HandleToObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocument_PurgeAll_Proxy( 
    IIcadDocument __RPC_FAR * This);


void __RPC_STUB IIcadDocument_PurgeAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocument_Regen_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [defaultvalue][optional][in] */ WhichViewport Viewports);


void __RPC_STUB IIcadDocument_Regen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IIcadDocument_LoadShapeFile_Proxy( 
    IIcadDocument __RPC_FAR * This,
    /* [in] */ BSTR FileName);


void __RPC_STUB IIcadDocument_LoadShapeFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadDocument_INTERFACE_DEFINED__ */


#ifndef __IIcadDocumentPreferences_INTERFACE_DEFINED__
#define __IIcadDocumentPreferences_INTERFACE_DEFINED__

/* interface IIcadDocumentPreferences */
/* [unique][hidden][dual][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IIcadDocumentPreferences;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8011c10f-7e36-11d1-bc5a-0060089608a4")
    IIcadDocumentPreferences : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *Application) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *Document) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ContourLinesPerSurface( 
            /* [retval][out] */ int __RPC_FAR *NumberOfLines) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ContourLinesPerSurface( 
            /* [in] */ int NumberOfLines) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DisplaySilhouette( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Visible) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DisplaySilhouette( 
            /* [in] */ VARIANT_BOOL Visible) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MaxActiveViewports( 
            /* [retval][out] */ int __RPC_FAR *Number) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MaxActiveViewports( 
            /* [in] */ int Number) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ObjectSnapMode( 
            /* [retval][out] */ ObjectSnapMode __RPC_FAR *SnapMode) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ObjectSnapMode( 
            /* [in] */ ObjectSnapMode SnapMode) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RenderSmoothness( 
            /* [retval][out] */ double __RPC_FAR *RenderSmoothness) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RenderSmoothness( 
            /* [in] */ double RenderSmoothness) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SegmentPerPolyline( 
            /* [retval][out] */ int __RPC_FAR *Number) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SegmentPerPolyline( 
            /* [in] */ int Number) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SolidFill( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *SolidFill) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SolidFill( 
            /* [in] */ VARIANT_BOOL SolidFill) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TextFrameDisplay( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *TextFrameDisplay) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TextFrameDisplay( 
            /* [in] */ VARIANT_BOOL TextFrameDisplay) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_XRefLayerVisibility( 
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Visible) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_XRefLayerVisibility( 
            /* [in] */ VARIANT_BOOL Visible) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIcadDocumentPreferencesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIcadDocumentPreferences __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIcadDocumentPreferences __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *Application);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *Document);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ContourLinesPerSurface )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *NumberOfLines);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ContourLinesPerSurface )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [in] */ int NumberOfLines);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DisplaySilhouette )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Visible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DisplaySilhouette )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MaxActiveViewports )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *Number);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MaxActiveViewports )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [in] */ int Number);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ObjectSnapMode )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [retval][out] */ ObjectSnapMode __RPC_FAR *SnapMode);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ObjectSnapMode )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [in] */ ObjectSnapMode SnapMode);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RenderSmoothness )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [retval][out] */ double __RPC_FAR *RenderSmoothness);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RenderSmoothness )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [in] */ double RenderSmoothness);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SegmentPerPolyline )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [retval][out] */ int __RPC_FAR *Number);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SegmentPerPolyline )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [in] */ int Number);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SolidFill )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *SolidFill);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SolidFill )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL SolidFill);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TextFrameDisplay )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *TextFrameDisplay);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TextFrameDisplay )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL TextFrameDisplay);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_XRefLayerVisibility )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Visible);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_XRefLayerVisibility )( 
            IIcadDocumentPreferences __RPC_FAR * This,
            /* [in] */ VARIANT_BOOL Visible);
        
        END_INTERFACE
    } IIcadDocumentPreferencesVtbl;

    interface IIcadDocumentPreferences
    {
        CONST_VTBL struct IIcadDocumentPreferencesVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIcadDocumentPreferences_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIcadDocumentPreferences_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIcadDocumentPreferences_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIcadDocumentPreferences_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IIcadDocumentPreferences_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IIcadDocumentPreferences_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IIcadDocumentPreferences_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IIcadDocumentPreferences_get_Application(This,Application)	\
    (This)->lpVtbl -> get_Application(This,Application)

#define IIcadDocumentPreferences_get_Parent(This,Document)	\
    (This)->lpVtbl -> get_Parent(This,Document)

#define IIcadDocumentPreferences_get_ContourLinesPerSurface(This,NumberOfLines)	\
    (This)->lpVtbl -> get_ContourLinesPerSurface(This,NumberOfLines)

#define IIcadDocumentPreferences_put_ContourLinesPerSurface(This,NumberOfLines)	\
    (This)->lpVtbl -> put_ContourLinesPerSurface(This,NumberOfLines)

#define IIcadDocumentPreferences_get_DisplaySilhouette(This,Visible)	\
    (This)->lpVtbl -> get_DisplaySilhouette(This,Visible)

#define IIcadDocumentPreferences_put_DisplaySilhouette(This,Visible)	\
    (This)->lpVtbl -> put_DisplaySilhouette(This,Visible)

#define IIcadDocumentPreferences_get_MaxActiveViewports(This,Number)	\
    (This)->lpVtbl -> get_MaxActiveViewports(This,Number)

#define IIcadDocumentPreferences_put_MaxActiveViewports(This,Number)	\
    (This)->lpVtbl -> put_MaxActiveViewports(This,Number)

#define IIcadDocumentPreferences_get_ObjectSnapMode(This,SnapMode)	\
    (This)->lpVtbl -> get_ObjectSnapMode(This,SnapMode)

#define IIcadDocumentPreferences_put_ObjectSnapMode(This,SnapMode)	\
    (This)->lpVtbl -> put_ObjectSnapMode(This,SnapMode)

#define IIcadDocumentPreferences_get_RenderSmoothness(This,RenderSmoothness)	\
    (This)->lpVtbl -> get_RenderSmoothness(This,RenderSmoothness)

#define IIcadDocumentPreferences_put_RenderSmoothness(This,RenderSmoothness)	\
    (This)->lpVtbl -> put_RenderSmoothness(This,RenderSmoothness)

#define IIcadDocumentPreferences_get_SegmentPerPolyline(This,Number)	\
    (This)->lpVtbl -> get_SegmentPerPolyline(This,Number)

#define IIcadDocumentPreferences_put_SegmentPerPolyline(This,Number)	\
    (This)->lpVtbl -> put_SegmentPerPolyline(This,Number)

#define IIcadDocumentPreferences_get_SolidFill(This,SolidFill)	\
    (This)->lpVtbl -> get_SolidFill(This,SolidFill)

#define IIcadDocumentPreferences_put_SolidFill(This,SolidFill)	\
    (This)->lpVtbl -> put_SolidFill(This,SolidFill)

#define IIcadDocumentPreferences_get_TextFrameDisplay(This,TextFrameDisplay)	\
    (This)->lpVtbl -> get_TextFrameDisplay(This,TextFrameDisplay)

#define IIcadDocumentPreferences_put_TextFrameDisplay(This,TextFrameDisplay)	\
    (This)->lpVtbl -> put_TextFrameDisplay(This,TextFrameDisplay)

#define IIcadDocumentPreferences_get_XRefLayerVisibility(This,Visible)	\
    (This)->lpVtbl -> get_XRefLayerVisibility(This,Visible)

#define IIcadDocumentPreferences_put_XRefLayerVisibility(This,Visible)	\
    (This)->lpVtbl -> put_XRefLayerVisibility(This,Visible)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocumentPreferences_get_Application_Proxy( 
    IIcadDocumentPreferences __RPC_FAR * This,
    /* [retval][out] */ IIcadApplication __RPC_FAR *__RPC_FAR *Application);


void __RPC_STUB IIcadDocumentPreferences_get_Application_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocumentPreferences_get_Parent_Proxy( 
    IIcadDocumentPreferences __RPC_FAR * This,
    /* [retval][out] */ IIcadDocument __RPC_FAR *__RPC_FAR *Document);


void __RPC_STUB IIcadDocumentPreferences_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocumentPreferences_get_ContourLinesPerSurface_Proxy( 
    IIcadDocumentPreferences __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *NumberOfLines);


void __RPC_STUB IIcadDocumentPreferences_get_ContourLinesPerSurface_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDocumentPreferences_put_ContourLinesPerSurface_Proxy( 
    IIcadDocumentPreferences __RPC_FAR * This,
    /* [in] */ int NumberOfLines);


void __RPC_STUB IIcadDocumentPreferences_put_ContourLinesPerSurface_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocumentPreferences_get_DisplaySilhouette_Proxy( 
    IIcadDocumentPreferences __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Visible);


void __RPC_STUB IIcadDocumentPreferences_get_DisplaySilhouette_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDocumentPreferences_put_DisplaySilhouette_Proxy( 
    IIcadDocumentPreferences __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Visible);


void __RPC_STUB IIcadDocumentPreferences_put_DisplaySilhouette_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocumentPreferences_get_MaxActiveViewports_Proxy( 
    IIcadDocumentPreferences __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *Number);


void __RPC_STUB IIcadDocumentPreferences_get_MaxActiveViewports_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDocumentPreferences_put_MaxActiveViewports_Proxy( 
    IIcadDocumentPreferences __RPC_FAR * This,
    /* [in] */ int Number);


void __RPC_STUB IIcadDocumentPreferences_put_MaxActiveViewports_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocumentPreferences_get_ObjectSnapMode_Proxy( 
    IIcadDocumentPreferences __RPC_FAR * This,
    /* [retval][out] */ ObjectSnapMode __RPC_FAR *SnapMode);


void __RPC_STUB IIcadDocumentPreferences_get_ObjectSnapMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDocumentPreferences_put_ObjectSnapMode_Proxy( 
    IIcadDocumentPreferences __RPC_FAR * This,
    /* [in] */ ObjectSnapMode SnapMode);


void __RPC_STUB IIcadDocumentPreferences_put_ObjectSnapMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocumentPreferences_get_RenderSmoothness_Proxy( 
    IIcadDocumentPreferences __RPC_FAR * This,
    /* [retval][out] */ double __RPC_FAR *RenderSmoothness);


void __RPC_STUB IIcadDocumentPreferences_get_RenderSmoothness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDocumentPreferences_put_RenderSmoothness_Proxy( 
    IIcadDocumentPreferences __RPC_FAR * This,
    /* [in] */ double RenderSmoothness);


void __RPC_STUB IIcadDocumentPreferences_put_RenderSmoothness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocumentPreferences_get_SegmentPerPolyline_Proxy( 
    IIcadDocumentPreferences __RPC_FAR * This,
    /* [retval][out] */ int __RPC_FAR *Number);


void __RPC_STUB IIcadDocumentPreferences_get_SegmentPerPolyline_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDocumentPreferences_put_SegmentPerPolyline_Proxy( 
    IIcadDocumentPreferences __RPC_FAR * This,
    /* [in] */ int Number);


void __RPC_STUB IIcadDocumentPreferences_put_SegmentPerPolyline_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocumentPreferences_get_SolidFill_Proxy( 
    IIcadDocumentPreferences __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *SolidFill);


void __RPC_STUB IIcadDocumentPreferences_get_SolidFill_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDocumentPreferences_put_SolidFill_Proxy( 
    IIcadDocumentPreferences __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL SolidFill);


void __RPC_STUB IIcadDocumentPreferences_put_SolidFill_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocumentPreferences_get_TextFrameDisplay_Proxy( 
    IIcadDocumentPreferences __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *TextFrameDisplay);


void __RPC_STUB IIcadDocumentPreferences_get_TextFrameDisplay_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDocumentPreferences_put_TextFrameDisplay_Proxy( 
    IIcadDocumentPreferences __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL TextFrameDisplay);


void __RPC_STUB IIcadDocumentPreferences_put_TextFrameDisplay_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIcadDocumentPreferences_get_XRefLayerVisibility_Proxy( 
    IIcadDocumentPreferences __RPC_FAR * This,
    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *Visible);


void __RPC_STUB IIcadDocumentPreferences_get_XRefLayerVisibility_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IIcadDocumentPreferences_put_XRefLayerVisibility_Proxy( 
    IIcadDocumentPreferences __RPC_FAR * This,
    /* [in] */ VARIANT_BOOL Visible);


void __RPC_STUB IIcadDocumentPreferences_put_XRefLayerVisibility_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIcadDocumentPreferences_INTERFACE_DEFINED__ */



#ifndef __IntelliCAD_LIBRARY_DEFINED__
#define __IntelliCAD_LIBRARY_DEFINED__

/* library IntelliCAD */
/* [helpstring][lcid][version][uuid] */ 






































































































































































































































































EXTERN_C const IID LIBID_IntelliCAD;

#ifndef ___IcadWorkspaceEvents_DISPINTERFACE_DEFINED__
#define ___IcadWorkspaceEvents_DISPINTERFACE_DEFINED__

/* dispinterface _IcadWorkspaceEvents */
/* [helpstring][uuid] */ 


EXTERN_C const IID DIID__IcadWorkspaceEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("8011c1d1-7e36-11d1-bc5a-0060089608a4")
    _IcadWorkspaceEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct _IcadWorkspaceEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            _IcadWorkspaceEvents __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            _IcadWorkspaceEvents __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            _IcadWorkspaceEvents __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            _IcadWorkspaceEvents __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            _IcadWorkspaceEvents __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            _IcadWorkspaceEvents __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            _IcadWorkspaceEvents __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        END_INTERFACE
    } _IcadWorkspaceEventsVtbl;

    interface _IcadWorkspaceEvents
    {
        CONST_VTBL struct _IcadWorkspaceEventsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _IcadWorkspaceEvents_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define _IcadWorkspaceEvents_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define _IcadWorkspaceEvents_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define _IcadWorkspaceEvents_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define _IcadWorkspaceEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define _IcadWorkspaceEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define _IcadWorkspaceEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* ___IcadWorkspaceEvents_DISPINTERFACE_DEFINED__ */


#ifndef ___EIcadApp_DISPINTERFACE_DEFINED__
#define ___EIcadApp_DISPINTERFACE_DEFINED__

/* dispinterface _EIcadApp */
/* [hidden][helpstring][uuid] */ 


EXTERN_C const IID DIID__EIcadApp;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("22DBFAED-4B16-4015-9C27-F8FAFF54A3E3")
    _EIcadApp : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct _EIcadAppVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            _EIcadApp __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            _EIcadApp __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            _EIcadApp __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            _EIcadApp __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            _EIcadApp __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            _EIcadApp __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            _EIcadApp __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        END_INTERFACE
    } _EIcadAppVtbl;

    interface _EIcadApp
    {
        CONST_VTBL struct _EIcadAppVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _EIcadApp_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define _EIcadApp_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define _EIcadApp_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define _EIcadApp_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define _EIcadApp_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define _EIcadApp_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define _EIcadApp_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* ___EIcadApp_DISPINTERFACE_DEFINED__ */


#ifndef ___EIcadDocument_DISPINTERFACE_DEFINED__
#define ___EIcadDocument_DISPINTERFACE_DEFINED__

/* dispinterface _EIcadDocument */
/* [helpstring][uuid] */ 


EXTERN_C const IID DIID__EIcadDocument;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("8011c1d0-7e36-11d1-bc5a-0060089608a4")
    _EIcadDocument : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct _EIcadDocumentVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            _EIcadDocument __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            _EIcadDocument __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            _EIcadDocument __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            _EIcadDocument __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            _EIcadDocument __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            _EIcadDocument __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            _EIcadDocument __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        END_INTERFACE
    } _EIcadDocumentVtbl;

    interface _EIcadDocument
    {
        CONST_VTBL struct _EIcadDocumentVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _EIcadDocument_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define _EIcadDocument_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define _EIcadDocument_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define _EIcadDocument_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define _EIcadDocument_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define _EIcadDocument_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define _EIcadDocument_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* ___EIcadDocument_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_Dimension;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c19a-7e36-11d1-bc5a-0060089608a4")
Dimension;
#endif

EXTERN_C const CLSID CLSID_DimAngular;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1b4-7e36-11d1-bc5a-0060089608a4")
DimAngular;
#endif

EXTERN_C const CLSID CLSID_DimAligned;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1b5-7e36-11d1-bc5a-0060089608a4")
DimAligned;
#endif

EXTERN_C const CLSID CLSID_DimDiametric;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1b6-7e36-11d1-bc5a-0060089608a4")
DimDiametric;
#endif

EXTERN_C const CLSID CLSID_DimOrdinate;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1b7-7e36-11d1-bc5a-0060089608a4")
DimOrdinate;
#endif

EXTERN_C const CLSID CLSID_DimRadial;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1b8-7e36-11d1-bc5a-0060089608a4")
DimRadial;
#endif

EXTERN_C const CLSID CLSID_DimRotated;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1b9-7e36-11d1-bc5a-0060089608a4")
DimRotated;
#endif

EXTERN_C const CLSID CLSID_Dim3PointAngular;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1ba-7e36-11d1-bc5a-0060089608a4")
Dim3PointAngular;
#endif

EXTERN_C const CLSID CLSID_ModelSpace;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c190-7e36-11d1-bc5a-0060089608a4")
ModelSpace;
#endif

EXTERN_C const CLSID CLSID_PaperSpace;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c191-7e36-11d1-bc5a-0060089608a4")
PaperSpace;
#endif

EXTERN_C const CLSID CLSID_Document;

#ifdef __cplusplus

class DECLSPEC_UUID("0F047D29-2420-4130-98FA-E40ADD7CDBD1")
Document;
#endif

EXTERN_C const CLSID CLSID_DocumentPreferences;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c11f-7e36-11d1-bc5a-0060089608a4")
DocumentPreferences;
#endif

EXTERN_C const CLSID CLSID_Entity;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1bf-7e36-11d1-bc5a-0060089608a4")
Entity;
#endif

EXTERN_C const CLSID CLSID_Face3D;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c192-7e36-11d1-bc5a-0060089608a4")
Face3D;
#endif

EXTERN_C const CLSID CLSID_Polyline3D;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c193-7e36-11d1-bc5a-0060089608a4")
Polyline3D;
#endif

EXTERN_C const CLSID CLSID_Arc;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c195-7e36-11d1-bc5a-0060089608a4")
Arc;
#endif

EXTERN_C const CLSID CLSID_AttributeDef;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c196-7e36-11d1-bc5a-0060089608a4")
AttributeDef;
#endif

EXTERN_C const CLSID CLSID_Attribute;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c197-7e36-11d1-bc5a-0060089608a4")
Attribute;
#endif

EXTERN_C const CLSID CLSID_Attributes;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1b2-7e36-11d1-bc5a-0060089608a4")
Attributes;
#endif

EXTERN_C const CLSID CLSID_BlockInsert;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c198-7e36-11d1-bc5a-0060089608a4")
BlockInsert;
#endif

EXTERN_C const CLSID CLSID_Circle;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c199-7e36-11d1-bc5a-0060089608a4")
Circle;
#endif

EXTERN_C const CLSID CLSID_Ellipse;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c19b-7e36-11d1-bc5a-0060089608a4")
Ellipse;
#endif

EXTERN_C const CLSID CLSID_Hatch;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c19c-7e36-11d1-bc5a-0060089608a4")
Hatch;
#endif

EXTERN_C const CLSID CLSID_Leader;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c19d-7e36-11d1-bc5a-0060089608a4")
Leader;
#endif

EXTERN_C const CLSID CLSID_Line;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c19f-7e36-11d1-bc5a-0060089608a4")
Line;
#endif

EXTERN_C const CLSID CLSID_LWPolyline;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c19e-7e36-11d1-bc5a-0060089608a4")
LWPolyline;
#endif

EXTERN_C const CLSID CLSID_MText;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1a0-7e36-11d1-bc5a-0060089608a4")
MText;
#endif

EXTERN_C const CLSID CLSID_PointEntity;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1a1-7e36-11d1-bc5a-0060089608a4")
PointEntity;
#endif

EXTERN_C const CLSID CLSID_Polyline;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1a2-7e36-11d1-bc5a-0060089608a4")
Polyline;
#endif

EXTERN_C const CLSID CLSID_PolygonMesh;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1a3-7e36-11d1-bc5a-0060089608a4")
PolygonMesh;
#endif

EXTERN_C const CLSID CLSID_PolyfaceMesh;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1b3-7e36-11d1-bc5a-0060089608a4")
PolyfaceMesh;
#endif

EXTERN_C const CLSID CLSID_PViewport;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1a4-7e36-11d1-bc5a-0060089608a4")
PViewport;
#endif

EXTERN_C const CLSID CLSID_Image;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1a5-7e36-11d1-bc5a-0060089608a4")
Image;
#endif

EXTERN_C const CLSID CLSID_Ray;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1a6-7e36-11d1-bc5a-0060089608a4")
Ray;
#endif

EXTERN_C const CLSID CLSID_Shape;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1a8-7e36-11d1-bc5a-0060089608a4")
Shape;
#endif

EXTERN_C const CLSID CLSID_Solid;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1a9-7e36-11d1-bc5a-0060089608a4")
Solid;
#endif

EXTERN_C const CLSID CLSID_Spline;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1aa-7e36-11d1-bc5a-0060089608a4")
Spline;
#endif

EXTERN_C const CLSID CLSID_Text;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1ab-7e36-11d1-bc5a-0060089608a4")
Text;
#endif

EXTERN_C const CLSID CLSID_Tolerance;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1ac-7e36-11d1-bc5a-0060089608a4")
Tolerance;
#endif

EXTERN_C const CLSID CLSID_Trace;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1ad-7e36-11d1-bc5a-0060089608a4")
Trace;
#endif

EXTERN_C const CLSID CLSID_InfiniteLine;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1ae-7e36-11d1-bc5a-0060089608a4")
InfiniteLine;
#endif

EXTERN_C const CLSID CLSID_ExternalReference;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1af-7e36-11d1-bc5a-0060089608a4")
ExternalReference;
#endif

EXTERN_C const CLSID CLSID_Documents;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c112-7e36-11d1-bc5a-0060089608a4")
Documents;
#endif

EXTERN_C const CLSID CLSID_Windows;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c114-7e36-11d1-bc5a-0060089608a4")
Windows;
#endif

EXTERN_C const CLSID CLSID_Window;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c115-7e36-11d1-bc5a-0060089608a4")
Window;
#endif

EXTERN_C const CLSID CLSID_Application;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c111-7e36-11d1-bc5a-0060089608a4")
Application;
#endif

EXTERN_C const CLSID CLSID_Workspace;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1e0-7e36-11d1-bc5a-0060089608a4")
Workspace;
#endif

EXTERN_C const CLSID CLSID_ApplicationPreferences;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c11e-7e36-11d1-bc5a-0060089608a4")
ApplicationPreferences;
#endif

EXTERN_C const CLSID CLSID_Point;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c117-7e36-11d1-bc5a-0060089608a4")
Point;
#endif

EXTERN_C const CLSID CLSID_Points;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c11c-7e36-11d1-bc5a-0060089608a4")
Points;
#endif

EXTERN_C const CLSID CLSID_Vector;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c118-7e36-11d1-bc5a-0060089608a4")
Vector;
#endif

EXTERN_C const CLSID CLSID_Matrix;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c119-7e36-11d1-bc5a-0060089608a4")
Matrix;
#endif

EXTERN_C const CLSID CLSID_Library;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c116-7e36-11d1-bc5a-0060089608a4")
Library;
#endif

EXTERN_C const CLSID CLSID_Utility;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c11d-7e36-11d1-bc5a-0060089608a4")
Utility;
#endif

EXTERN_C const CLSID CLSID_RegisteredApplication;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c143-7e36-11d1-bc5a-0060089608a4")
RegisteredApplication;
#endif

EXTERN_C const CLSID CLSID_RegisteredApplications;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c144-7e36-11d1-bc5a-0060089608a4")
RegisteredApplications;
#endif

EXTERN_C const CLSID CLSID_Block;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c145-7e36-11d1-bc5a-0060089608a4")
Block;
#endif

EXTERN_C const CLSID CLSID_Blocks;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c146-7e36-11d1-bc5a-0060089608a4")
Blocks;
#endif

EXTERN_C const CLSID CLSID_DimensionStyle;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c147-7e36-11d1-bc5a-0060089608a4")
DimensionStyle;
#endif

EXTERN_C const CLSID CLSID_DimensionStyles;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c148-7e36-11d1-bc5a-0060089608a4")
DimensionStyles;
#endif

EXTERN_C const CLSID CLSID_Layer;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c149-7e36-11d1-bc5a-0060089608a4")
Layer;
#endif

EXTERN_C const CLSID CLSID_Layers;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c14a-7e36-11d1-bc5a-0060089608a4")
Layers;
#endif

EXTERN_C const CLSID CLSID_Linetype;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c14b-7e36-11d1-bc5a-0060089608a4")
Linetype;
#endif

EXTERN_C const CLSID CLSID_Linetypes;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c14c-7e36-11d1-bc5a-0060089608a4")
Linetypes;
#endif

EXTERN_C const CLSID CLSID_TextStyle;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c14d-7e36-11d1-bc5a-0060089608a4")
TextStyle;
#endif

EXTERN_C const CLSID CLSID_TextStyles;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c14e-7e36-11d1-bc5a-0060089608a4")
TextStyles;
#endif

EXTERN_C const CLSID CLSID_UserCoordSystem;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c14f-7e36-11d1-bc5a-0060089608a4")
UserCoordSystem;
#endif

EXTERN_C const CLSID CLSID_UserCoordSystems;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c150-7e36-11d1-bc5a-0060089608a4")
UserCoordSystems;
#endif

EXTERN_C const CLSID CLSID_View;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c151-7e36-11d1-bc5a-0060089608a4")
View;
#endif

EXTERN_C const CLSID CLSID_Views;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c152-7e36-11d1-bc5a-0060089608a4")
Views;
#endif

EXTERN_C const CLSID CLSID_Viewport;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c153-7e36-11d1-bc5a-0060089608a4")
Viewport;
#endif

EXTERN_C const CLSID CLSID_Viewports;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c154-7e36-11d1-bc5a-0060089608a4")
Viewports;
#endif

EXTERN_C const CLSID CLSID_SelectionSet;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c11a-7e36-11d1-bc5a-0060089608a4")
SelectionSet;
#endif

EXTERN_C const CLSID CLSID_SelectionSets;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c11b-7e36-11d1-bc5a-0060089608a4")
SelectionSets;
#endif

EXTERN_C const CLSID CLSID_PlotterPen;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1e4-7e36-11d1-bc5a-0060089608a4")
PlotterPen;
#endif

EXTERN_C const CLSID CLSID_PlotterPens;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1e3-7e36-11d1-bc5a-0060089608a4")
PlotterPens;
#endif

EXTERN_C const CLSID CLSID_PlotDeviceConfig;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1e2-0000-11d1-bc5a-0000089608a4")
PlotDeviceConfig;
#endif

EXTERN_C const CLSID CLSID_PlotProperties;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1e2-7e36-11d1-bc5a-0060089608a4")
PlotProperties;
#endif

EXTERN_C const CLSID CLSID_PlotManager;

#ifdef __cplusplus

class DECLSPEC_UUID("8011c1e1-7e36-11d1-bc5a-0060089608a4")
PlotManager;
#endif
#endif /* __IntelliCAD_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long __RPC_FAR *, unsigned long            , BSTR __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  BSTR_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long __RPC_FAR *, BSTR __RPC_FAR * ); 

unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long __RPC_FAR *, unsigned long            , VARIANT __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * ); 
void                      __RPC_USER  VARIANT_UserFree(     unsigned long __RPC_FAR *, VARIANT __RPC_FAR * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif
