1. 程式人生 > 其它 >Aveva marine C# 二次開發提取 批量板架語句

Aveva marine C# 二次開發提取 批量板架語句

根據使用者選擇批量提取scheme語句https://www.bilibili.com/video/BV1FW4y1C7DT/

var draftApp = new MarDrafting();
            var marui = new MarUi();
            var marUti = new MarUtil();
            bool flag = true;
            MarElementHandle lastHandle=new MarElementHandle();
            while (flag)
            {
                MarModel mm = new MarModel();
                var marhullp = new MarHullPan();
                var panelsch = new MarPanelSchema();
                var pt = new MarPointPlanar();
                var rtn = marui.PointPlanarReq("選擇板架上的構件", pt);
                flag = rtn == marUti.Ok();
                if (flag)
                {
                    if (lastHandle.handle!=0) draftApp.HighlightOff(lastHandle);
                    var hd = draftApp.ModelIdentify(pt, mm);
                    lastHandle = draftApp.ModelHighlight(mm);
                    string C = marhullp.StmtGet(mm.Name, marhullp.GroupGet(mm.Name, mm.PartId));
                    panelsch.PanelName = mm.Name;
                    wm.StatusBar.Text = mm.Name;
                    var sts = panelsch.GetStatements();
                    using (StreamWriter sw = new StreamWriter($@"c:\{mm.Name}.txt"))
                    {
                        for (int i = 0; i < sts.GetLength(0); i++)
                        {
                            for (int j = 0; j < sts.GetLength(1); j++)
                            {
                                sw.WriteLine(sts[i, j]);
                            }
                        }
                    }
                    
                }
            }