Revit二次开发——布管系统设置

弯头相关信息的取得,及设置

              //待设置的类型
            FamilySymbol selFamilySymbol = doc.GetElement(new ElementId(536208)) as FamilySymbol;

            Reference selRef = uiDoc.Selection.PickObject(ObjectType.Element, new CurveFilter(), "select Pipe | Duct");
            Element selElem = doc.GetElement(selRef);
            Pipe selPipe = selElem as Pipe;
            if (selPipe == null)
            {
                MessageBox.Show("Not Pipe !!");
                return Result.Failed;
            }

            RoutingPreferenceManager routing = selPipe.PipeType.RoutingPreferenceManager;

            //获取弯头设置
            RoutingPreferenceRule routingRule = routing.GetRule(RoutingPreferenceRuleGroupType.Elbows, 0);
            FamilySymbol elbowFamilySymbol = doc.GetElement(routingRule.MEPPartId) as FamilySymbol;
            if(elbowFamilySymbol != null)
            {
                PrimarySizeCriterion psc = routingRule.GetCriterion(0) as PrimarySizeCriterion;
                MessageBox.Show("minSize: " + psc.MinimumSize + Environment.NewLine + "maxSize:" + psc.MaximumSize);
            }
            else  //设置 弯头类型:
            {
                using (Transaction trans = new Transaction(doc))
                {
                    trans.Start("Set Symbol");
                    PrimarySizeCriterion sizeCriterion = new PrimarySizeCriterion(80 / 304.8, 1200 / 304.8);
                    RoutingPreferenceRule rpr = new RoutingPreferenceRule(selFamilySymbol.Id, "newSymbol");
                    rpr.AddCriterion(sizeCriterion);
                    routing.AddRule(RoutingPreferenceRuleGroupType.Elbows, rpr, 0);
                    trans.Commit();
                }
            }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值