Das Wissen aller Anwender nutzen

Im Allplan Connect Forum tauschen sich Anwender aus, geben wertvolle Tipps oder beraten sich bei ganz konkreten Aufgabenstellungen − auch international.
Und damit wirklich keine Frage unbeantwortet bleibt, unterstützen die Mitarbeiter des Technischen Supports ebenfalls aktiv das Forum.

Es erwarten Sie:

  • Foren-Vielfalt aus CAD Architektur, CAD Ingenieurbau uvm.
  • Tipps von User für User
  • international: Deutsch, Englisch, Italienisch, Französisch und Tschechisch

Melden Sie sich jetzt an und diskutieren Sie mit!

Zur Registrierung

[Frage] Smart Part Script Schleife [Gelöst]


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

Lösung anzeigen Lösung verbergen

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