#ifndef _ebdefine_info
#define _ebdefine_info

//====================================版本控制==================================

//#define  _EB_PRODUCT_ENV_
#define _EB3D_PRODUCT_ENV_
//#define  _EBNET_PRODUCT_ENV_
//#define  _CAPP_PRODUCT_ENV_
//#define  _IMD_PRODUCT_ENV_
//#define  _WEDM_PRODUCT_ENV_
//#define  _EBDLL_FOR_BOM_


#define VERSION	1060//软件版本
//#define _NET_CRYP	//网络版文件加密开关
//#define _EB_FOR_ANSI_
//#define _CAXAV52D_PRODUCT_ENV_//CAXAV52D的编译开关，CAXAV52D的功能与企业版相同，只是注册表、封面、名称等不同


//	By hsb	2005.3.11
//	定义注册表主键


#ifdef _EB_PRODUCT_ENV_

#define REGISTRY_COMPANY		_T("BEIHANGHAIER")
#define REGISTRY_SOFTWARE		_T("CAXA_EB")
#define REGISTRY_VERSION		_T("4.0")

#define REGISTRY_PROFILE		_T("CAXA_EB\\4.0")
#define REGISTRY_ROOT			_T("SOFTWARE\\BEIHANGHAIER\\CAXA_EB\\4.0")
#define REGISTRY_CUSTOMIZE		_T("SOFTWARE\\BEIHANGHAIER\\CAXA_EB\\4.0\\CUSTOMIZE")
#define REGISTRY_SETTINGS		_T("SOFTWARE\\BEIHANGHAIER\\CAXA_EB\\4.0\\SETTINGS")
#define REGISTRY_EFONTS			_T("SOFTWARE\\BEIHANGHAIER\\CAXA_EB\\4.0\\SETTINGS\\EFONTS")
#define REGISTRY_CFONTS			_T("SOFTWARE\\BEIHANGHAIER\\CAXA_EB\\4.0\\SETTINGS\\CFONTS")
#define REGISTRY_APIMODULES		_T("SOFTWARE\\BEIHANGHAIER\\CAXA_EB\\4.0\\APPLICATION")
#define REGISTRY_SHAPES			_T("SOFTWARE\\BEIHANGHAIER\\CAXA_EB\\4.0\\SETTINGS\\SHAPS")
#define REGISTRY_PATHDEF		_T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\EB.EXE")

#else
#ifdef _EB3D_PRODUCT_ENV_

	#ifndef _CAXAV52D_PRODUCT_ENV_

		#define REGISTRY_COMPANY		_T("BEIHANGHAIER")
		#define REGISTRY_SOFTWARE		_T("CAXA3D")
		#define REGISTRY_VERSION		_T("2.0")

		#define REGISTRY_PROFILE		_T("CAXA3D\\2.0")
		#define REGISTRY_ROOT			_T("SOFTWARE\\BEIHANGHAIER\\CAXA3D\\2.0")
		#define REGISTRY_CUSTOMIZE		_T("SOFTWARE\\BEIHANGHAIER\\CAXA3D\\2.0\\CUSTOMIZE")
		#define REGISTRY_SETTINGS		_T("SOFTWARE\\BEIHANGHAIER\\CAXA3D\\2.0\\SETTINGS")
		#define REGISTRY_EFONTS			_T("SOFTWARE\\BEIHANGHAIER\\CAXA3D\\2.0\\SETTINGS\\EFONTS")
		#define REGISTRY_CFONTS			_T("SOFTWARE\\BEIHANGHAIER\\CAXA3D\\2.0\\SETTINGS\\CFONTS")
		#define REGISTRY_APIMODULES		_T("SOFTWARE\\BEIHANGHAIER\\CAXA3D\\2.0\\APPLICATION")
		#define REGISTRY_SHAPES			_T("SOFTWARE\\BEIHANGHAIER\\CAXA3D\\2.0\\SETTINGS\\SHAPS")
		#define REGISTRY_PATHDEF		_T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\CAXA3D.EXE")

	#else
		#define REGISTRY_COMPANY		_T("CAXA")

		#define REGISTRY_SOFTWARE		_T("CAXAV52D")
		#define REGISTRY_VERSION		_T("R14")

		#define REGISTRY_PROFILE		_T("CAXAV52D\\R14")
		#define REGISTRY_ROOT			_T("SOFTWARE\\CAXA\\CAXAV52D\\R14")
		#define REGISTRY_CUSTOMIZE		_T("SOFTWARE\\CAXA\\CAXAV52D\\R14\\CUSTOMIZE")
		#define REGISTRY_SETTINGS		_T("SOFTWARE\\CAXA\\CAXAV52D\\R14\\SETTINGS")
		#define REGISTRY_EFONTS			_T("SOFTWARE\\CAXA\\CAXAV52D\\R14\\SETTINGS\\EFONTS")
		#define REGISTRY_CFONTS			_T("SOFTWARE\\CAXA\\CAXAV52D\\R14\\SETTINGS\\CFONTS")
		#define REGISTRY_APIMODULES		_T("SOFTWARE\\CAXA\\CAXAV52D\\R14\\APPLICATION")
		#define REGISTRY_SHAPES			_T("SOFTWARE\\CAXA\\CAXAV52D\\R14\\SETTINGS\\SHAPS")
		#define REGISTRY_PATHDEF		_T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\CAXAV52D.EXE")
	#endif

#else
#ifdef _CAPP_PRODUCT_ENV_
#define REGISTRY_COMPANY		_T("BEIHANGHAIER")

#define REGISTRY_SOFTWARE		_T("CAXA_CAPP")
#define REGISTRY_VERSION		_T("1.0")

#define REGISTRY_PROFILE		_T("CAXA_CAPP\\1.0")
#define REGISTRY_ROOT			_T("SOFTWARE\\BEIHANGHAIER\\CAXA_CAPP\\1.0")
#define REGISTRY_CUSTOMIZE		_T("SOFTWARE\\BEIHANGHAIER\\CAXA_CAPP\\1.0\\CUSTOMIZE")
#define REGISTRY_SETTINGS		_T("SOFTWARE\\BEIHANGHAIER\\CAXA_CAPP\\1.0\\SETTINGS")
#define REGISTRY_EFONTS			_T("SOFTWARE\\BEIHANGHAIER\\CAXA_CAPP\\1.0\\SETTINGS\\EFONTS")
#define REGISTRY_CFONTS			_T("SOFTWARE\\BEIHANGHAIER\\CAXA_CAPP\\1.0\\SETTINGS\\CFONTS")
#define REGISTRY_APIMODULES		_T("SOFTWARE\\BEIHANGHAIER\\CAXA_CAPP\\1.0\\APPLICATION")
#define REGISTRY_SHAPES			_T("SOFTWARE\\BEIHANGHAIER\\CAXA_CAPP\\1.0\\SETTINGS\\SHAPS")
#define REGISTRY_PATHDEF		_T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\CAPP.EXE")


#else

#ifdef _IMD_PRODUCT_ENV_
#define REGISTRY_COMPANY		_T("BEIHANGHAIER")
#define REGISTRY_SOFTWARE		_T("CAXA_IMD")
#define REGISTRY_VERSION		_T("2.0")

#define REGISTRY_PROFILE		_T("CAXA_IMD\\2.0")
#define REGISTRY_ROOT			_T("SOFTWARE\\BEIHANGHAIER\\CAXA_IMD\\2.0")
#define REGISTRY_CUSTOMIZE		_T("SOFTWARE\\BEIHANGHAIER\\CAXA_IMD\\2.0\\CUSTOMIZE")
#define REGISTRY_SETTINGS		_T("SOFTWARE\\BEIHANGHAIER\\CAXA_IMD\\2.0\\SETTINGS")
#define REGISTRY_EFONTS			_T("SOFTWARE\\BEIHANGHAIER\\CAXA_IMD\\2.0\\SETTINGS\\EFONTS")
#define REGISTRY_CFONTS			_T("SOFTWARE\\BEIHANGHAIER\\CAXA_IMD\\2.0\\SETTINGS\\CFONTS")
#define REGISTRY_APIMODULES		_T("SOFTWARE\\BEIHANGHAIER\\CAXA_IMD\\2.0\\APPLICATION")
#define REGISTRY_SHAPES			_T("SOFTWARE\\BEIHANGHAIER\\CAXA_IMD\\2.0\\SETTINGS\\SHAPS")
#define REGISTRY_PATHDEF		_T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\IMD.EXE")


#else
#ifdef _WEDM_PRODUCT_ENV_
#define REGISTRY_COMPANY		_T("BEIHANGHAIER")
#define REGISTRY_SOFTWARE		_T("CAXA_WEDM")
#define REGISTRY_VERSION		_T("3.0")

#define REGISTRY_PROFILE		_T("CAXA_WEDM\\3.0")
#define REGISTRY_ROOT			_T("SOFTWARE\\BEIHANGHAIER\\CAXA_WEDM\\3.0")
#define REGISTRY_CUSTOMIZE		_T("SOFTWARE\\BEIHANGHAIER\\CAXA_WEDM\\3.0\\CUSTOMIZE")
#define REGISTRY_SETTINGS		_T("SOFTWARE\\BEIHANGHAIER\\CAXA_WEDM\\3.0\\SETTINGS")
#define REGISTRY_EFONTS			_T("SOFTWARE\\BEIHANGHAIER\\CAXA_WEDM\\3.0\\SETTINGS\\EFONTS")
#define REGISTRY_CFONTS			_T("SOFTWARE\\BEIHANGHAIER\\CAXA_WEDM\\3.0\\SETTINGS\\CFONTS")
#define REGISTRY_APIMODULES		_T("SOFTWARE\\BEIHANGHAIER\\CAXA_WEDM\\3.0\\APPLICATION")
#define REGISTRY_SHAPES			_T("SOFTWARE\\BEIHANGHAIER\\CAXA_WEDM\\3.0\\SETTINGS\\SHAPS")
#define REGISTRY_PATHDEF		_T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\WEDM.EXE")

/*
#else
#ifdef _EBDLL_FOR_BOM_

#define REGISTRY_SETTINGS	_T("SOFTWARE\\BEIHANGHAIER\\SETTINGS\\")
#define REGISTRY_EFONTS	_T("SOFTWARE\\BEIHANGHAIER\\SETTINGS\\EFONTS")
#define REGISTRY_CFONTS	_T("SOFTWARE\\BEIHANGHAIER\\SETTINGS\\CFONTS")//用来记录形文件路径
*/
#else
#define REGISTRY_COMPANY		_T("BEIHANGHAIER")
#define REGISTRY_SOFTWARE		_T("CAXA_EB")
#define REGISTRY_VERSION		_T("4.0")

#define REGISTRY_PROFILE		_T("CAXA_EB\\4.0")
#define REGISTRY_ROOT			_T("SOFTWARE\\BEIHANGHAIER\\CAXA_EB\\4.0")
#define REGISTRY_CUSTOMIZE		_T("SOFTWARE\\BEIHANGHAIER\\CAXA_EB\\4.0\\CUSTOMIZE")
#define REGISTRY_SETTINGS		_T("SOFTWARE\\BEIHANGHAIER\\CAXA_EB\\4.0\\SETTINGS")
#define REGISTRY_EFONTS			_T("SOFTWARE\\BEIHANGHAIER\\CAXA_EB\\4.0\\SETTINGS\\EFONTS")
#define REGISTRY_CFONTS			_T("SOFTWARE\\BEIHANGHAIER\\CAXA_EB\\4.0\\SETTINGS\\CFONTS")
#define REGISTRY_APIMODULES		_T("SOFTWARE\\BEIHANGHAIER\\CAXA_EB\\4.0\\APPLICATION")
#define REGISTRY_SHAPES			_T("SOFTWARE\\BEIHANGHAIER\\CAXA_EB\\4.0\\SETTINGS\\SHAPS")
#define REGISTRY_PATHDEF		_T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\EB.EXE")

//#endif
#endif
#endif
#endif
#endif
#endif

#define REGISTRY_CAXAV5PDM		_T("Software\\CAXA\\CAXAV5PDM\\R14\\CAXA2DINTEGRATION")

//================================================================================




#define L_TSOLID	0		//粗实线
#define L_SOLID 	1		//细实线
#define L_DASH		2		//虚线
#define L_DASHDOT	3		//点划线
#define L_DASHDOTDOT	4		//双点划线

#define L_TDASH 	5		//粗虚线
#define L_MDASH 	6		//中虚线
#define L_TDASHDOT	7		//粗点划线
#define L_MDASHDOT	8		//中点划线
#define L_TDASHDOTDOT	9		//粗双点划线
#define L_MDASHDOTDOT	10		//中双点划线
#define L_DTSOLID	11		//两倍粗实线笔宽

#define L_TEXT14	12		//A 型 字 笔 线 宽
#define L_TEXT10	13		//B 型 字 笔 线 宽
#define L_TEXT07	14		//两倍A 型 字 笔 线 宽
#define L_TEXT05	15		//两倍B 型 字 笔 线 宽

#define L_SOLID018	16		// 0.18毫米线宽
#define L_SOLID025	17		// 0.25毫米线宽
#define L_SOLID035	18		// 0.35毫米线宽
#define L_SOLID050	19		// 0.50毫米线宽
#define L_SOLID070	20		// 0.70毫米线宽
#define L_SOLID100	21		// 1.00毫米线宽
#define L_SOLID140	22		// 1.40毫米线宽
#define L_SOLID200	23		// 2.00毫米线宽

#define GNDCOLORLAYERB	       100	 //线型为粗实线笔宽
#define GNDCOLORLAYER2B        101	 //线型为两倍粗实线笔宽

#define ZEROLAYER	    0		// 0层
#define CENTERLINELAYER	    1		// 中心线层
#define DASHLINELAYER	    2		// 虚线层
#define SOLIDLINELAYER	    3		// 细实线层
#define DIMLINELAYER	    4		// 尺寸线层
#define HATCHLINELAYER	    5		// 剖面线层
#define HIDELAYER	    6		// 隐藏层


#define NORMAL		-3
#define PICKED		-4
#define DRAGING 	-5
#define ERASED		-6
#define OPERATING	-100	//正在操作


#define C_BYBLOCK      252
#define C_BYLAYER      251
#define C_BLACK        40  //  黑 色
#define C_RED	       24  //  暗 红 色
#define C_GREEN        26  //  暗 绿 色
#define C_YELLOW       41  //  暗 黄 色
#define C_BLUE	       36  //  暗 蓝 色
#define C_VIOLET       30  //  暗 紫 色
#define C_GREENBLUE    19  //  暗 青 色
#define C_LIGHTGRAY    45  //  亮 灰 色
#define C_GRAY	       43  //  暗 灰 色
#define C_LIGHTRED     8   //  亮 红 色
#define C_LIGHTGREEN   18  //  亮 绿 色
#define C_LIGHTYELLOW  9   //  亮 黄 色
#define C_LIGHTBLUE    28  //  亮 蓝 色
#define C_LIGHTVIOLET  15  //  亮 紫 色
#define C_LIGHTGRNBLUE 12  //  亮 青 色
#define C_WHITE        47	 //  白 色

#define BYBLOCK        252     //线型
#define BYLAYER        251     //线型

#define L_BYBLOCK      252     //层

#define PAI  3.14159265358979323
#define PAI2 6.28318530717958646

#define UPDATE_TRACE		1
#define ERASE_TRACE			2
#define CLEAR_SCENE			3


#define C_RT_NORMAL    1000
#define C_RT_FINISH    1001
#define C_RT_USERBRK   1002
#define C_RT_INVALID   1003
#define C_RT_FAILED    1004

#define C_RT_NOTOVER   1007
#define C_RT_ISOVER    1008

//捕捉方式  0-不捕捉，1-智能点捕捉，2-栅格捕捉，
//	    3-动态导航捕捉(元素吸附)，4-零件号标注对齐
#define SNAP_FREE    0
#define SNAP_SMART   1
#define SNAP_GRID    2
#define SNAP_GUIDE   3
#define SNAP_PARTLISTLINE 4

#define ZERO3	0.001
#define ZERO	0.00001
#define PI      3.1415926535897932384626433
#define PI2	(2.0*PI)
#define MAX_CHAR_NUM 200

#define C_RT_TANG    2000
#define C_RT_FOOT    2001
#define C_RT_KEYB_INPUT       2010
#define C_RT_MOUSE_INPUT      2011
#define C_RT_MOUSE_TANG_INPUT 2012
#define C_RT_ELEMENT_INPUT    2013

#define  SOLID		1	//细实线

#define  TEXTUP 	0	//文字在尺寸线垂直方向上的位置
#define  TEXTCENTER	1	//文字在尺寸线垂直方向上的位置
#define  TEXTDOWN	2	//文字在尺寸线垂直方向上的位置
#define  TEXTPAR	0	//文字和尺寸线平行
#define  TEXTHOR	1	//文字方向
// Lg 2004-3-9 modified 标注风格判断函数返回BOOL值，为使返回值与下列宏的意义匹配而重新定义此宏
//#define  SWITCHON       0       //开状态
//#define  SWITCHOFF      1       //关状态
#define  SWITCHON       1       //开状态
#define  SWITCHOFF      0       //关状态
// Lg 2004-3-9 end
#define  NOARROW	0	//无箭头
#define  ARROW		1	//有箭头
#define  ARROWLINE	2	//箭头为斜线
#define  ARROWDOT	3	//箭头为点

#define PT_SCREEN    1
#define PT_END	     2
#define PT_MID       3
#define PT_CENTER    4
#define PT_INTERS    5
#define PT_TANG      6
#define PT_FOOT      7
#define PT_NEAR      8
#define PT_SINGLE    9
#define PT_QUADRANT  10
#define PT_KNV	     11
#define PT_START     12
#define PT_OVER      13
#define PT_FILTER	     14
#define PT_LINESEGDIST	     15

#define PICKALL       1
#define PICKADD       2
#define UNPICKALL     3
#define UNPICK	      4
#define UNPICKLAST    5



#define CURSOR_HIDE  0
#define CURSOR_CROSS 1
#define CURSOR_BOX   2
#define CURSOR_PICK  3
#define CURSOR_COORD 4



#define ID_OK        0
#define ID_CANCEL    1
#define ID_YES       2
#define ID_NO        3


//用户坐标系的最大数目
#define MAX_UCS_NUMBER 16
#define MAX_KEYPOINT_NUMBER 10	    //结点关键点个数限制

#define MAX_PATH_NAME	 256

#define MAX_KEYXYZ_NUMBER    10

#define OPEN_PREVIEW_WIDTH	200 //by Cai
#define OPEN_PREVIEW_HEIGHT	128
#define BKG_NORMAL_VIEW 0
#define BKG_OPEN_PREVIEW 1 // Zwz 2001-8-9 用于背景图片输出对象(预览图片， 不同图形显示)

#define CURRENT_CAPP_VERSION		1051


#endif



//End
