91手机视频在线-91手机视频在线观看-91手机在线-91手机在线播放-91手机在线观看

完善主體資料,免費(fèi)贈(zèng)送VIP會(huì)員!
* 主體類型
* 企業(yè)名稱
* 信用代碼
* 所在行業(yè)
* 企業(yè)規(guī)模
* 所在職位
* 姓名
* 所在行業(yè)
* 學(xué)歷
* 工作性質(zhì)
請(qǐng)先選擇行業(yè)
您還可以選擇以下福利:
行業(yè)福利,領(lǐng)完即止!

下載app免費(fèi)領(lǐng)取會(huì)員

NULL

ad.jpg

二次開發(fā)教程:Revit開發(fā)之警告和錯(cuò)誤處理

發(fā)布于:2019-08-26 16:40:58

網(wǎng)友投稿

更多

在Revit 里很多操作都會(huì)彈出警告和錯(cuò)誤提示,


比如墻的高度降低,墻頂部的窗出現(xiàn)在墻的外面


這個(gè)會(huì)彈一個(gè)錯(cuò)誤提示框,


比如在同一個(gè)位置創(chuàng)建兩面墻,


會(huì)彈出一個(gè)警告提示框




如果在自己寫的程序里出現(xiàn)了這種彈窗,會(huì)影響到用戶體驗(yàn),




其實(shí)API里提供一些錯(cuò)誤和警告的處理,


下面提供一個(gè)例子解決上面的兩種情況,


關(guān)鍵代碼如下:



    public class FailuresPreprocessor : IFailuresPreprocessor

    {

        public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor)

        {           

            IList<FailureMessageAccessor> listFma =failuresAccessor.GetFailureMessages();

            if (listFma.Count == 0)

                return FailureProcessingResult.Continue;

            foreach (FailureMessageAccessor fma in listFma)

            {

                if (fma.GetSeverity() == FailureSeverity.Error)

                {

                    if (fma.HasResolutions())

                        failuresAccessor.ResolveFailure(fma);

                }

                if (fma.GetSeverity() == FailureSeverity.Warning)

                {

                    failuresAccessor.DeleteWarning(fma);

                }

            }

            return FailureProcessingResult.ProceedWithCommit;

        }

    }


            bool testError = true;

            // 處理錯(cuò)誤

            if (testError)

            {

                Wall wall = doc.GetElement(uidoc.Selection.PickObject(ObjectType.Element)) as Wall;

                Transaction trans = new Transaction(doc, "test");

                trans.Start();

                FailureHandlingOptions fho = trans.GetFailureHandlingOptions();

                fho.SetFailuresPreprocessor(new FailuresPreprocessor());

                trans.SetFailureHandlingOptions(fho);

                Parameter p = wall.LookupParameter("無連接高度");

                double h = p.AsDouble();

                p.Set(h / 2);

                trans.Commit();

            }

            // 處理警告

            else

            {

                FilteredElementCollector lvlFilter = new FilteredElementCollector(doc);

                lvlFilter.OfClass(typeof(Level));

                Level lvl = lvlFilter.First() as Level;

                Transaction trans1 = new Transaction(doc, "wall");

                FailureHandlingOptions fho1 = trans1.GetFailureHandlingOptions();

                fho1.SetFailuresPreprocessor(new FailuresPreprocessor());

                trans1.SetFailureHandlingOptions(fho1);

                trans1.Start();

                Line line = Line.CreateBound(new XYZ(), new XYZ(10, 0, 0));

                Wall.Create(doc, line, lvl.Id, false);

                Wall.Create(doc, line, lvl.Id, false);

                trans1.Commit();

            }

            return Result.Succeeded;

本文版權(quán)歸腿腿教學(xué)網(wǎng)及原創(chuàng)作者所有,未經(jīng)授權(quán),謝絕轉(zhuǎn)載。

未標(biāo)題-1.jpg

上一篇:二次開發(fā)教程:Revit開發(fā)創(chuàng)建部件和部件視圖

下一篇:二次開發(fā)教程:Revit開發(fā)之放棄重做操作

主站蜘蛛池模板: 在线免费观看国产 | 欧美一区二区三区免费观看视频 | 亚洲国产日韩在线观频 | 日韩五级片 | 国产日韩精品一区二区在线观看播放 | 香蕉视频免费播放 | 亚洲国产日韩在线成人蜜芽 | 亚洲最大网站在线 | 久久一级片 | 国产精品嫩草影院人体模特 | 夜夜拍夜夜爽夜夜拍拍拍 | 香蕉成人啪国产精品视频综合网 | 亚洲青青 | 亚洲爱色| 国产精品久久久久久久小唯西川 | 精品一区二区三区影院在线午夜 | 久草在线这里只有精品 | 就要干就要操 | 久久er这里只有精品 | 一级片黄色的 | 日韩精品特黄毛片免费看 | 国产成人高清在线 | 亚洲国产精品成人午夜在线观看 | 免费看操片 | 亚洲色图2 | 午夜一级毛片免费视频 | 50岁老女人毛片一级亚洲 | 黄色片在线免费观看视频 | 亚洲黄网址 | 亚洲欧洲高清有无 | 日韩欧美亚州 | 第一福利在线观看 | 国产精品成人一区二区1 | 亚洲精品久久久久久久网站 | 成人午夜视频在线观 | 国产精品乳摇在线播放 | 视频在线91 | 全部免费国产潢色一级 | 日本三级黄色片网站 | 妖精www视频在线观看高清 | 国产亚洲视频在线观看 |