Quantcast
Channel: All Revit API Forum posts
Viewing all articles
Browse latest Browse all 66692

Re: Get CenteLinesCurves from rebar

$
0
0

Dear pipiyedu

I completed your code to accomplish the mission. Good luck.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Autodesk.Revit.DB;
using Autodesk.Revit.DB.Structure;
using Autodesk.Revit.UI;
using Autodesk.Revit.UI.Selection;
using Autodesk.Revit.Attributes;

namespace CreateImageRebar
{
    [TransactionAttribute(TransactionMode.Manual)]
    [RegenerationAttribute(RegenerationOption.Manual)]
    public class ReinforcementDetail : IExternalCommand
    {
        //Clase de filtro de selección
        public class RebarPickFilter : ISelectionFilter
        {
            public bool AllowElement(Element e)
            {
                return (e.Category.Id.IntegerValue.Equals((int)BuiltInCategory.OST_Rebar));
            }
            public bool AllowReference(Reference r, XYZ p)
            {
                return false;
            }
        }
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            UIApplication uiApp = commandData.Application;
            Document doc = uiApp.ActiveUIDocument.Document;

            Reference pickedRef = null;
            

            Selection sel = uiApp.ActiveUIDocument.Selection;
            RebarPickFilter selFilter = new RebarPickFilter();
            pickedRef = sel.PickObject(ObjectType.Element, selFilter, "Seleccione una Armadura");
            //Obtener referencia
            Element el = doc.GetElement(pickedRef);
            Rebar myRebar = el as Rebar;
            List<Curve> lc = myRebar.GetCenterlineCurves(true, true, false).ToList();
            return Result.Succeeded;
         }
     }
}
               

 


Viewing all articles
Browse latest Browse all 66692

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>