Exemplo n.º 1
0
 protected void ProcessSymbol(object sender, SymbolEventArgs e)
 {
     if (String.Compare(e.Name, "pi", true) == 0)
     {
         e.Result = Math.PI;
     }
     // Unknown symbol name
     else
     {
         e.Status = SymbolStatus.UndefinedSymbol;
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// 获取设备样式
        /// </summary>
        /// <param name="es"></param>
        /// <param name="color"></param>
        /// <param name="xmlDbManager"> </param>
        /// <returns></returns>
        public static SymbolEventArgs GetSymbolExecution(ElectronSymbol es, CADColor color, XmlDBManager xmlDbManager)
        {
            var value = new SymbolEventArgs
            {
                color          = color,
                electronSymbol = es,
                DBManager      = xmlDbManager
            };

            //匹配符号
            ExecutionManager.Instance.GetFactory(typeof(SymbolExecutionFactory)).GetExecution(es.G3E_FNO).Execute(es, value);
            return(value);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 获取设备样式
        /// </summary>
        /// <param name="es"></param>
        /// <param name="lineWidth"></param>
        /// <param name="color"></param>
        /// <param name="xmlDbManager"> </param>
        /// <returns></returns>
        public static SymbolEventArgs GetSymbolExecution(ElectronSymbol es, double lineWidth, CADColor color, XmlDBManager xmlDbManager)
        {
            var symboleargs = new SymbolEventArgs
            {
                color          = color,
                lineWidth      = lineWidth,
                electronSymbol = es,
                DBManager      = xmlDbManager
            };

            ExecutionManager.Instance.GetFactory(typeof(SymbolExecutionFactory)).GetExecution(es.G3E_FNO).Execute(es, symboleargs);
            return(symboleargs);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 获取点设备样式
        /// </summary>
        /// <param name="color"></param>
        /// <param name="pt"></param>
        /// <returns></returns>
        private SymbolEventArgs GetPointStyle(CADColor color, ElectronSymbol pt)
        {
            var value = new SymbolEventArgs
            {
                color          = color,
                electronSymbol = pt,
                DBManager      = DBManager.Instance as XmlDBManager
            };

            //匹配符号
            ExecutionManager.Instance.GetFactory(typeof(SymbolExecutionFactory))
            .GetExecution(pt.G3E_FNO)
            .Execute(pt, value);
            return(value);
        }
Exemplo n.º 5
0
        void OnSymbolLoading(object sender, SymbolEventArgs e)
        {
            var company = e.Item as Company;
            var img     = new Image()
            {
                Source = ImageSource.FromResource(string.Format("FlexChart101.Images.{0}.png", company.Name.ToLower())),
                Aspect = Aspect.AspectFit,
            };
            var root = new Grid()
            {
                Children = { img }, Padding = 10, BackgroundColor = Color.SteelBlue
            };

            root.InputTransparent = true;
            e.PlotElement.Content = root;
        }
Exemplo n.º 6
0
        private void Eval_EvaluateSymbol(object sender, SymbolEventArgs e)
        {
            switch (e.Name.ToUpper())
            {
            case "TWO":
                e.Result.SetValue(2);
                break;

            case "THREE":
                e.Result.SetValue(3);
                break;

            case "FIVE":
                e.Result.SetValue(5);
                break;

            default:
                e.Status = SymbolStatus.UndefinedSymbol;
                break;
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// 获取源符号的块定义名称
        /// </summary>
        /// <param name="objectId"></param>
        /// <param name="g3eObject"></param>
        /// <param name="xmlDbManager"> </param>
        /// <returns></returns>
        public static SymbolEventArgs GetSymbolExecution(ObjectId objectId, G3EObject g3eObject, XmlDBManager xmlDbManager)
        {
            SymbolEventArgs value = null;

            try
            {
                var pt = DBSymbolFinder.Instance[objectId];
                value = new SymbolEventArgs {
                    DBManager = xmlDbManager, electronSymbol = pt
                };
                //匹配符号
                ExecutionManager.Instance.GetFactory(typeof(SymbolExecutionFactory)).GetExecution(g3eObject.G3E_FNO).
                Execute(pt, value);
            }
            catch (Exception ex)
            {
                LogManager.Instance.Error("获取符号样式失败!\n" + ex);
            }
            //获取块定义名称
            return(value);
        }
Exemplo n.º 8
0
 private void WPFLinker_GetSymbol(object sender, SymbolEventArgs e)
 {
 }
Exemplo n.º 9
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="sourceBlockName">原设备块定义名称</param>
 /// <param name="targetObjId">目标对象</param>
 /// <param name="eventArgs">设备样式</param>
 private static void UpdateSymbol(string sourceBlockName, ObjectId targetObjId, SymbolEventArgs eventArgs)
 {
     try
     {
         var targetBlockName = string.Empty;
         //获取目标设备块定义名称
         var entity = PublicMethod.Instance.GetObject(targetObjId, OpenMode.ForRead);
         if (entity is BlockReference)
         {
             targetBlockName = (entity as BlockReference).Name;
         }
         var objId = ObjectId.Null;
         //获取目标设备对象数据
         var psd = DCadApi.GetSymbolDataByObjId(targetObjId);
         if (!string.IsNullOrEmpty(sourceBlockName) && !sourceBlockName.Equals(targetBlockName) && entity is BlockReference)
         {
             psd.blockName = sourceBlockName;
             psd.color     = eventArgs.color;
             //更新设备
             DCadApi.ReplacePointSymbol(psd, ref objId);
         }
         else
         {
             //这里是针对线改变颜色
             if (psd.color != eventArgs.color)
             {
                 //更新颜色
                 DCadApi.EditorPointSymbol(psd.objectId, eventArgs.color);
                 psd.color = eventArgs.color;
             }
         }
     }
     catch (Exception ex)
     {
         LogManager.Instance.Error(ex);
     }
 }