Revit-Sekundärentwicklung zum Ändern des Linienstils der gefüllten Fläche

Ich habe ein Plug-In erstellt, das die Nettohöhe automatisch berechnet. Es muss die Höhe durch einen Kommentarblock markieren, aber wenn es herauskommt, wird es eine Grenzlinie geben. Wie in der Abbildung unten gezeigt, wird die Breite durch die Linienstärke von definiert FilledregionType schlägt fehl und legt es über LineStyleId fest, aber das direkte Abrufen des LineStyle-Stils führt nur zu: Unter den Linien in Management->Line Style gibt es keine Kategorie <Invisible Line>, die wir benötigen.
Fügen Sie hier eine Bildbeschreibung ein
Hier müssen Sie den folgenden GraphStyle sammeln, die ID der unsichtbaren Linie finden und direkt zuweisen. Im Beispiel werde ich die Grenze des grünen Teils aufheben.
Fügen Sie hier eine Bildbeschreibung ein

var filter = new FilteredElementCollector(doc);
            var dates =  filter.OfClass(typeof(GraphicsStyle)).ToElements();

            var line = dates.Where(x => x.Name.Contains("线")).ToList();

            var fake = line.FirstOrDefault(x => x.Name.Contains("不可见"));

//201是不可见线的id作为样板中自带的id是不变的如果怕出问题可以用上面的方法获取
 fill.SetLineStyleId(new ElementId(201));

Supongo que te gusta

Origin blog.csdn.net/qq_41059339/article/details/129444723
Recomendado
Clasificación