private static double EvalDouble(string strExper, DbElement modelEle)
		{
			Experssion exper = new Experssion(strExper);
			return exper.Eval(modelEle);
		}
		private Experssion GetExper(DbElement gEle, DbAttribute attr)
		{
			Dictionary<string, Experssion> map = null;
			if (!experMap.TryGetValue(attr, out map))
			{
				map = new Dictionary<string, Experssion>();
				experMap.Add(attr, map);
			}

			Experssion exper = null;
			if (!map.TryGetValue(gEle.GetAsString(DbAttributeInstance.NAME), out exper))
			{
				exper = new Experssion(gEle.GetAsString(attr));
				map.Add(gEle.GetAsString(DbAttributeInstance.NAME), exper);
			}

			return exper;
		}
		public AngleOp(Experssion exper)
			: base(exper)
		{

		}
		public RadiusOp(Experssion exper)
			: base(exper)
		{

		}
		public IParamOp(Experssion exper)
			: base(exper)
		{
		}
		public HeightOp(Experssion exper) : base(exper)
		{

		}
		public TwoAttribOp(Experssion exper)
			: base(exper)
		{
		}
		public DbExperOp(Experssion exper)
		{
			Exper = exper;
		}
		public AttribOp(Experssion exper)
		{
			Exper = exper;
		}
		public AttribArrayOp(Experssion exper)
			: base(exper)
		{
		}
		public EleOp(Experssion exper)
		{
			Exper = exper;
		}