abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 

Wir schätzen Ihren Input!
Bitte nehmen Sie an der Umfrage zu Archicad 28 Startbildschirm und Lerninhalte/Schnell-Tutorials teil

Programmierung
Alles über Programmierung in GDL und Python

Objekt multiplizieren

Anonymous
Nicht anwendbar
Hallo

Wie kann ich ein Teil meines Objekts automatisch multiplizieren lassen, in dem ich das ganze Objekt in die Länge ziehe? Sollte inewa so funktionieren wie die Pergola 11 oder die Regenrinne 11 aus AC11.
Hier mal mein 3d-scrip bis jetzt.
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">
material matg
rotx 90
roty 270
Prism_ 6,A,
0,0,15,
B/3,0,15,
B/3,(8/10*zzyzx),15,
B,(7/10*zzyzx),15,
B,(9/10*zzyzx),15,
0,zzyzx,15
del 2
rotx 90
roty 270
addz zb/2
addy 8/10*zzyzx-zh
addx B/3
material matz
Prism_ 5,zb,
0,0,15,
zt/6,0,1,
zt,(2.5/6*zh),1015,
zt,(5.5/6*zh),15,
0,zh,15
addy 2.5/6*zh
addx zt/6
cylind zb,0.025
del 2Die Werte für die Variabeln:
A = 0.1 B = 0.06 zzyzx = 0.1
zb = 0.05 zt = 0.03 zh = 0.06

Der Teil den ich multiplizieren möchte beginnt bei material matz und geht bis zum Schluss. Der erste Teil läuft dann durch und der rest wir immer wieder eingesetzt.

Danke für die Hilfe.

[ 18. Juli 2008, 15:44: Beitrag editiert von: tas ]
8 ANTWORTEN 8
zzyzx
Newcomer
ich weiss zwar nicht genau, was das werden wird, hab aber mal 'was gebastelt:

- erst noch einen ganzzahlparameter n anlegen, wert auf 5 setzen,
a auf 0,6
das wirds wohhl noch nicht sein, deshalb einfach nochmal melden & beschreibven, was anders werden soll.


</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;"> material matg
rotx 90
roty 270
Prism_ 6,A,
0,0,15,
B/3,0,15,
B/3,(8/10*zzyzx),15,
B,(7/10*zzyzx),15,
B,(9/10*zzyzx),15,
0,zzyzx,15
del 2
rotx 90
roty 270
addz zb/2
addy 8/10*zzyzx-zh
addx B/3
material matz

for i = 1 to n
Prism_ 5,zb,
0,0,15,
zt/6,0,1,
zt,(2.5/6*zh),1015,
zt,(5.5/6*zh),15,
0,zh,15
addy 2.5/6*zh
addx zt/6
cylind zb,0.025
del 2
addz (a-2*zb)/(n-1)
next i
Anonymous
Nicht anwendbar
Hallo

Danke für den Vorschlag, leider war ich so weit auch schon. Du hast bestimmt den kleineren Teil unter dem verkehrten "L" gesehen.
Es ist so, dass sich der kleinere automatisch immerwieder einpflantz, wenn ich das Grundelement in die länge ziehe.
Am Schluss sollte es einen sogenannten Tiefzahnschnitt geben, ist eine der Verzierungen an unseren Chalets.

[ 18. Juli 2008, 15:44: Beitrag editiert von: tas ]
zzyzx
Newcomer
die anzahl n kann man auch automatisch aus der länge a und einem maximalen achsabstand der elemente vom skript ermitteln lassen.

aber so ganz ist mir noch nicht klar, wie das teil aussehen soll... vielleicht stellst du einfach noch ein foto rein.

:winken:
Anonymous
Nicht anwendbar
Ok danke muss ich mir mal anschaun mit dem ausrechnen.
Hier noch das verlangte Bild, ist nur der unterste Teil mit den vielen Noppen.

Bundverzierung

Meld mich wieder wens nix sein sollte oder ich Hilfe brauche.
😎

[ 18. Juli 2008, 15:44: Beitrag editiert von: tas ]
Anonymous
Nicht anwendbar
So das hat prima funktioniert.
Besen Dank.
Jetzt hab ich aber schon das nächste Problem. Hier ein Bild dazu.
Schwellenbund

Dieses Element ist mit dem For-next 5 mal multiplizerit. Nun meine Frage wie bring ich die Linien zwischen den Elementen weg?

Noch mein Script:
A = 0.2 B = 0.02 zzyzx = 0.16 n = 5
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;"> for i=1 to n
rotx 90
material matg
prism_ 4,B/2,
0,0,15,
A,0,15,
A,zzyzx,15,
0,zzyzx,15
addy 6.5/16*zzyzx
addz B/2
material matk
Prism_ 7,B/2,
0,0,15,
4/20*A,0,15,
1/2*A,8*zzyzx,800,
16/20*A,0,1015,
A,0,15,
A, 9.5/16*zzyzx,15,
0,9.5/16*zzyzx,15
del 2
material matb
addz B/2
addy 6.5/16*zzyzx
rotz 270
cutplane 0,1,1,1
cutplane 1,0,1,1
PRISM_ 2, B/4,
0,0, 915,
0.025, 360, 4015
cutend
cutend
del 3
addz B/2
addx 13.5/20*A
addy 6.5/16*zzyzx
addx 6.5/20*A
rotz 180
cutplane 0,1,1,1
cutplane 1,0,1,1
PRISM_ 2, B/4,
0,0, 915,
0.025, 360, 4015
cutend
cutend
del 5
addx A
rotx 270
next i
del n
del 2

[ 18. Juli 2008, 16:08: Beitrag editiert von: tas ]
Anonymous
Nicht anwendbar
Hab mein Script etwas bearbeitet aber bin das Problem noch nicht ganz los geworden.
Jetzt siehts so aus!

Hat sich erledigt!!!
Aber...


Eine Frage hab ich immer noch.
Kann man den Befehl geben, dass es ein Resultat einer Rechnung auf ganze Zahlen rundet??
:dozey:

[ 21. Juli 2008, 08:22: Beitrag editiert von: tas ]
zzyzx
Newcomer
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif"> Kann man den Befehl geben, dass es ein Resultat einer Rechnung auf ganze Zahlen rundet? ja, das ist der int(...) befehl, etwa:
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;"> n = int(a/0.25) schau auch mal hier: selfgdl
:winken:
Anonymous
Nicht anwendbar
Ok. Besten Dank ich glaub ich hab jetzt alles was ich brauch.
Hoffe du (zzyzx) weiss jetzt auch worum es sich handlet. :idee: