Untitled

mail@pastecode.io avatar
unknown
csharp
a month ago
1.6 kB
3
Indexable
Never
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using System;
using System.Collections.Generic;
using System.Linq;

public class AccessLineStyleCommand : IExternalCommand
{
    public Result Execute(
        ExternalCommandData commandData, 
        ref string message, 
        ElementSet elements)
    {
        // Obtener el documento activo
        Document doc = commandData.Application.ActiveUIDocument.Document;

        // Crear un collector para obtener todas las líneas de detalle en el documento
        FilteredElementCollector collector = new FilteredElementCollector(doc)
            .OfClass(typeof(CurveElement))  // Filtrar por elementos de tipo curva
            .OfCategory(BuiltInCategory.OST_Lines);  // Específicamente líneas

        // Iterar sobre los elementos filtrados
        foreach (Element element in collector)
        {
            // Convertir el elemento a CurveElement para acceder a la propiedad LineStyle
            CurveElement curveElement = element as CurveElement;
            if (curveElement != null)
            {
                // Obtener el estilo de línea
                GraphicsStyle lineStyle = curveElement.LineStyle;
                string styleName = lineStyle.Name;

                // Mostrar la información del elemento y su estilo de línea
                TaskDialog.Show("Información del Elemento",
                    $"ID: {element.Id}\n" +
                    $"Nombre: {element.Name}\n" +
                    $"Estilo de Línea: {styleName}");
            }
        }

        return Result.Succeeded;
    }
}
Leave a Comment