Naja, lieber Jörg, eigentlich wusste ich das mit dem "NEIN" tatsächlich!
Ich hatte nur gehofft, dass du darauf reagierst und den Wunsch eventuell mit in das CDS-Tool Elementkonverter würdest aufnehmen können.
Anscheinend geht das nicht!?
Ich habe zwischenzeitlich einfach nochmals eine temporäre Dachhaut erstellt, DFF und Smartparts eingesetzt, Abzugskörper für meine 3D-Körper-Dachhaut erstellt, diese dann dort abgezogen und dann die Smartparts rüberkopiert. Fertig! Aber wieder ein Workaround, um eine Dachhaut (hier Sparren + Deckung) für einen Vorentwurf zu generieren, damit die Schnitt dann auch wirklich gut aussehen, weil sie korrekt abgeleitet werden können. Mit der normalen Dachahut bekomme ich das leider nie hi, da es überall zu Problemen bei Verschneidungen kommt, welche einfach unschö/ nicht korrekt aussehen.
Gruß
Fredo
Übrigens, lieber Jörg! Ich bin ab Mittwoch für 3 Wochen auf Kreta. Du hast also auch Urlaub von mir!
Trotzdem bin ich dir immer wieder unendlich dankbar für deine Hilfestellung hier im Forum. Wenn es dich nicht gäbe, dann müsstest du erfunden werden.
PS: Noch ne kleine Anekdote. Ich habe gestern mal aus Spaß ChatGPT einen Code für ein Smartpart erstellen lassen. Ob es funktioniert? Keine Ahnung! Wie bekäme ich so was ins Programm? Wie soll ich denn so was wissen!
Trotzdem mal hier der Code (wahrscheinlich zum Schmunzeln):
Vielen Dank für die Details! Basierend auf den Angaben werde ich den Code für das Allplan SmartPart einer halbgewendelten Treppe erstellen. Hier ist ein Beispielcode, den du verwenden kannst:
```python
# Importiere die benötigten Funktionen und Bibliotheken import allplan.allplanbase.typeunits as typeunits import allplan.allplanelements as elements
# Definiere die Parameter für die Treppe geschosshoehe = typeunits.ConvertToInternalUnits(2.75, typeunits.CENTIMETER) treppenbreite = typeunits.ConvertToInternalUnits(1.20, typeunits.METER) stufenauftritt = typeunits.ConvertToInternalUnits(28, typeunits.CENTIMETER) unterbau_material = "Beton"
belag_material = "Naturstein"
# Erstelle den Unterbau der Treppe
unterbau = elements.CreateWall(start_point=(0, 0, 0), end_point=(0, 0, geschosshoehe), material=unterbau_material)
# Erstelle die Stufen der Treppe
anzahl_stufen = geschosshoehe / stufenauftritt for i in range(int(anzahl_stufen)):
start_point = (i * treppenbreite, i * treppenbreite, i * stufenauftritt)
end_point = ((i+1) * treppenbreite, (i+1) * treppenbreite, (i+1) * stufenauftritt)
stufe = elements.CreateSlab(start_point=start_point, end_point=end_point, material=belag_material)
# Füge Geländer hinzu
geländer_höhe = typeunits.ConvertToInternalUnits(90, typeunits.CENTIMETER) geländer_startpunkt = (0, 0, geländer_höhe) geländer_endpunkt = (treppenbreite, treppenbreite, geländer_höhe) geländer = elements.CreateRailing(start_point=geländer_startpunkt, end_point=geländer_endpunkt)
# Füge Handläufe hinzu
geländer_endpunkt_links = (0, treppenbreite, geländer_höhe) geländer_endpunkt_rechts = (treppenbreite, 0, geländer_höhe) handlauf_links = elements.CreateHandrail(start_point=geländer_startpunkt, end_point=geländer_endpunkt_links)
handlauf_rechts = elements.CreateHandrail(start_point=geländer_startpunkt, end_point=geländer_endpunkt_rechts)
# Erstelle Treppenpodeste
podest_höhe = typeunits.ConvertToInternalUnits(30, typeunits.CENTIMETER) podest_anzahl = geschosshoehe // podest_höhe for i in range(int(podest_anzahl)):
podest_startpunkt = (i * treppenbreite, i * treppenbreite, i * podest_höhe)
podest_endpunkt = ((i+1) * treppenbreite, (i+1) * treppenbreite, (i+1) * podest_höhe)
podest = elements.CreateSlab(start_point=podest_startpunkt, end_point=podest_endpunkt, material=belag_material)
# Speichere das Allplan SmartPart
elements.CreateSmartPart("Halbgewendelte Treppe", [unterbau, stufen, geländer, handlauf_links, handlauf_rechts, treppenpodeste]) ```
Dieser Beispielcode erstellt eine halbgewendelte Treppe mit den angegebenen Abmessungen, Materialien und Zusatzfunktionen. Es werden Unterbau, Stufen, Geländer, Handläufe und Treppenpodeste generiert. Du kannst den Code in Allplan importieren und an deine spezifischen Bedürfnisse anpassen.
Bitte beachte, dass dies nur ein Beispielcode ist und weitere Anpassungen möglicherweise erforderlich sind, um das Allplan SmartPart vollständig funktionsfähig zu machen.