Support Forum

[Frage] Unter- und Oberkanten Wert für SmartPart Script [Gelöst]

Schlagworte:
  • Smartparts
  • Höhenbezug
  • Höheneingabe Stützen
  • Plugin-Download

Hallo,

momentan bin ich dabei eine Träger-Länge an ein Stockwerk anpassen zu lassen.
Ich habe einen passenden Handle erstellt und möchte per Dialog Eingabe die Träger-Länge durch die Unter- und Oberkante des Geschosses ermitteln.
Geht das überhaupt auf diesen Weg?

Lösung anzeigen Lösung verbergen

Vergiss es! Was Du versuchst funktioniert mit SmartParts nicht! Das sind keine Architekturbauteile!
Ein SmartPart kann sich nicht an die Ebenen anpassen!

Ein SmartPart ist eigentlich ein Makro mit einem Einfügepunkt.
Und genau diesen Einfügepunkt kann man ein Höhe bezogen auf die Standard-Ebene zuweisen oder den Einfügepunkt
an die Bodenfläche beziehen! Letzteres setzt voraus, dass das SamrtPart an eine Raum verkettet ist!
Wie am an der Fehlermeldung erkennen kann, ist es hingegen nicht erlaubt, das SmartPart an eine Deckefläche zu verketten!
Dazu muss "über" dem SmartPart erst mal eine Deckenfläche oder ein Raum mit Deckenfläche vorhanden sein!

11 - 18 (18)

Hallo,

wenn ich versuche es an die Deckenfläche zu verketten, dann bekomme ich nur eine Fehlermeldung (siehe Anhang).
Muss ich dem Höhen-Parameter für den Träger in meinem Script vielleicht ein bestimmtes Attribut zuweisen, damit die Verkettung funktionieren kann?

Wie stellt man das denn eigentlich sonst an, wenn man bei einer SmartPart Programmierung das Objekt an die Ebenen packen möchte?

Vielleicht gehe ich auch gerade mit der Makro Verwendung falsch um.
Bei vielen meiner Versuche, habe ich entweder das Symbol "Makro modifizieren" oder "SmartPart Verlegungs-Attribute modifizieren" verwendet und damit die Verkettung oder den Höhenzug bearbeitet. Muss ich diese Einstellungen anders angehen?

Anhänge (1)

Typ: image/jpeg
30-mal heruntergeladen
Größe: 72,02 KiB

Hello,

Maybe, there is something wrong in your SmartPart scripts. Please, check and test with various codes.
And also, because I am not a German speaker, I may have misunderstood one of your questions.
_______________

Möglicherweise stimmt etwas in Ihren SmartPart-Skripten nicht. Bitte überprüfen und testen Sie mit verschiedenen Codes.
Da ich kein deutscher Sprecher bin, habe ich möglicherweise eine Ihrer Fragen falsch verstanden.


Hallo,

ich habe versucht bei einem anderen SmartPart ebenfalls die Höhe an die Ebene anzupassen.
Es ist mir nicht gelungen das SmartPart auf die entsprechende Ebenen Höhe zu vergrößern und es ist mir nicht gelungen die Verkettung an die Deckenfläche anzuwenden. Bei der Verkettung an die Deckenfläche bekomme ich nur einen Fehler, den ich in meiner letzten Nachricht mit angehangen habe.

Ich habe mal meine SmartPart Verlegungs-Attribute im Anhang mitgeschickt. Habe ich da vielleicht etwas falsch eingestellt?

Anhänge (1)

Typ: image/jpeg
36-mal heruntergeladen
Größe: 45,97 KiB

Hello,

By default, this works.
If you get an error, please check your code to find where is the problem.
The text of the error explains the problem: there is an invalid parameter in an enumeration.
_______________

Standardmäßig funktioniert dies.
Wenn Sie eine Fehlermeldung erhalten, überprüfen Sie bitte Ihren Code, um herauszufinden, wo das Problem liegt.
Der Text des Fehlers erklärt das Problem: Eine Aufzählung enthält einen ungültigen Parameter.


Hallo,

ich denke ich habe die Ebenen Anpassung generell nicht richtig verstanden.
Wenn ich eine Box erstelle als SmartPart, kriege ich sie auch nicht an die Ebene angepasst.
Ich kann ja mal erklären meine Arbeitsweise ist. Vielleicht fällt da ja ein deutlicher Fehler auf.
1. Ich gehe in Allplan auf das Symbol "Projektbezogen öffnen".
2. Ich gehe auf den Tab "Bauwerkstruktur" und gehe in Beispielsweise in das 1.Obergeschoss rein.
3. Dort wähle ich ein Teilbild aus, wie es Bild vom Anhang zu sehen ist.
4. Ich schließe alles und erstelle mit dem BOX Befehl eine Box mit den Werten REF_X , REF_Y , REF_Z.
5. Ich verlasse das SmartPartScript, klicke mit der rechten Maustaste auf das SmartPart und wähle "SmartPart Verlegungs-Attribute modifizieren" aus.
6. Dort stelle ich eine Verkettung zur Bodenfläche ein und einen Höhenabstand von "0" zur Oberkante des Obergeschosses in dem ich mich befinde. (siehe Anhang)
-> Wenn ich eine Verkettung zur Deckenfläche einstelle löst es den Fehler aus, den man als drittes Bild im Anhang sieht.

Das sind die Einstellungen die ich Instinktiv getroffen hatte. Nach vielem probieren kriege ich nur den Abstand zur Bodenfläche gleich null hin und das wars.
Ich wäre wirklich sehr froh, wenn mir jemand erklären könnte wie ich eine simple SmartPart Box an die Ebene Anpassen kann und sich bei Veränderung der Ebene ebenfalls anpasst. In den Dokumentationen und anderen Foren Einträgen finde ich nämlich nicht wirklich etwas, dass dazu hilft.

Anhänge (3)

Typ: image/jpeg
17-mal heruntergeladen
Größe: 147,18 KiB
Typ: image/jpeg
22-mal heruntergeladen
Größe: 45,97 KiB
Typ: image/jpeg
13-mal heruntergeladen
Größe: 68,81 KiB

Vergiss es! Was Du versuchst funktioniert mit SmartParts nicht! Das sind keine Architekturbauteile!
Ein SmartPart kann sich nicht an die Ebenen anpassen!

Ein SmartPart ist eigentlich ein Makro mit einem Einfügepunkt.
Und genau diesen Einfügepunkt kann man ein Höhe bezogen auf die Standard-Ebene zuweisen oder den Einfügepunkt
an die Bodenfläche beziehen! Letzteres setzt voraus, dass das SamrtPart an eine Raum verkettet ist!
Wie am an der Fehlermeldung erkennen kann, ist es hingegen nicht erlaubt, das SmartPart an eine Deckefläche zu verketten!
Dazu muss "über" dem SmartPart erst mal eine Deckenfläche oder ein Raum mit Deckenfläche vorhanden sein!

Hello,

I thought you were using a room as a height reference (this function is based on the height of the rooms). I didn't think you were doing this outside of a room.
As Nemo says and as I said in my first and second answers, a SmartPart cannot be linked to a reference plane but can be linked to the height of a room or a roof covering.
_______________

Ich dachte, Sie verwenden einen Raum als Höhenreferenz (diese Funktion basiert auf der Höhe der Räume). Ich hätte nicht gedacht, dass du das außerhalb eines Raumes machst.
Wie Nemo sagt und wie ich in meiner ersten und zweiten Antwort sagte, kann ein SmartPart nicht mit einer Referenzebene verknüpft werden, sondern mit der Höhe eines Raums oder einer Dacheindeckung.


Hallo,
hilft vielleicht nicht unmittelbar weiter, aber:
in den neuesten Pythonparts (aktuelle Version von 2020) kannst du auf die Ebenen zugreifen.
Klasse: PlaneReferences

Ein fälliger Quantensprung in der Pythonpartentwicklung!!!! Auch auf die ersten WandAlgorithmen kann man inzwischen zugreifen. In Pythonparts können da bisher schon mehr als in Visualscripting aufbereitet ist. Fenster und so gehen zwar noch nicht, aber immerhin schon ein Anfang.

Wenn du dich von Python und den unübersichtlichen Klassenverkastelungen nicht abschrecken lässt, kannst du damit sicher alles erreichen, was du erreichen willst.

Meine ganz persönliche Meinung nach, hätte ich sowelche Zugriffs-Funktionen auch lieber in smartparts-script zur Verfügung gehabt. Python ist wahrscheinlich für die Programmiererer leichter auf die bestehende Struktur in Allplan aufzubauen. Für nicht-Informatiker halte ich so eine smart-part-maske für viel übersichtlicher; ist nur leider viel zu begrenzt in den zugriffsmöglichkeiten auf bestehnde Algorithmen in Allplan! Und so wurde in den letzten fünf Jahren auf dem smart-part Gebiet so etwa gegen null weiterentwickelt.

Beste Grüße
Marek

czyborra klingbeil architekturwerkstatt - http://www.cka.berlin

11 - 18 (18)