Allplan Fórum

[Otázka] Smart Part Script Schleife [Vyřešeno]


Hallo Ihr lieben,

Ich scripte zurzeit ein eigenes Smart Part. Nun möchte ich gerne einen kleinen Körper(Stäbe) entlang der Y Achse so oft wieder holen, dass die Stäbe sich über die Länge meines Grundkörpers ausbreiten. Ich habe das versucht, indem ich eine REPEAT ... UNTIL Schleife eingebaut habe und als UNTIL Bedingung variable = REF_Y angegeben. Die Variable ist definiert mit der breite der Stäbe *2 , da ich zwischen den Stäben die gleiche Breite an Luft haben möchte. Mit diesem Script bekomme ich allerdings eine Endlosschleife da sich die Variable ja nicht automatisch mit erhöht und somit niemals REF_Y erreicht. Nun meine Frage: Hat jemand eine Idee wie das einfach funktionieren kann? Oder vielleicht wie ich in meinem Ansatz weiter komme?

Liebe Grüße
Jamy

Show solution Hide solution

Hallo!

Wenn ich Dich richtig verstehe, könnte das beispielsweise so aussehen (im 3D-Script):

y_pos = 0
r = 0.1 ! Stabradius
REPEAT 
   CYLIND 1 , r 
   TRANSY 4 * r 
   y_pos = y_pos + 4 * r 
UNTIL y_pos >= REF_Y 

lg,
Stefan

GEA Arquitectos S.L.P.
Calle Gerardo Diego 6A | 41013 Sevilla | Spain

Achso, mein nächster Gedanke war es eine Variable einzubauen, dies sich mit jeder Wiederholung um die jeweilige Länge erhöht, sodass ich diese mit REF_Y gleichsetzen kann. Leider kenne ich hierfür keinen Befehl bzw. weiß nicht so genau wie ich das im Script formulieren kann.

LG
Jamy

Hallo!

Wenn ich Dich richtig verstehe, könnte das beispielsweise so aussehen (im 3D-Script):

y_pos = 0
r = 0.1 ! Stabradius
REPEAT 
   CYLIND 1 , r 
   TRANSY 4 * r 
   y_pos = y_pos + 4 * r 
UNTIL y_pos >= REF_Y 

lg,
Stefan

GEA Arquitectos S.L.P.
Calle Gerardo Diego 6A | 41013 Sevilla | Spain

Perfekt vielen Dank
so einfach und trotzdem bin ich nicht darauf gekommen. Aber mit der Vorlage funktioniert nun alles wie es soll und ich kann weiter daran arbeiten.

mit freundlichen Grüßen und jeder Menge Dankbarkeit
Jamy


https://connect.allplan.com/ používá cookies  -  Více informací

Souhlasím