We value your input!
Please participate in Archicad 28 Home Screen and Tooltips/Quick Tutorials survey

GDL
About building parametric objects with GDL.
SOLVED!

This is a question about TUBEA.

LeeJaeYoung
Virtuoso

It was done with TUBEA.
As the height changes, the thickness changes.
I want the thickness to be the same.
Is it possible?

 

The thickness went from 150mm to 100mm and back to 150mm.

LeeJaeYoung_1-1688100294665.png

 

LeeJaeYoung_0-1688100272210.png

 

TUBEA 2, 10, 1 + 2 + 16 + 32,
        0  , HBottom, 0,
        um_ThkWall, HBottom, 0,

Wid  , -100, 0, 

Wid  ,   -0.1, 0, 
Wid  ,    0, 0, 

Wid  ,  um_Length_Start , um_Height_Land,
Wid  ,  um_Length_Start+WidL, um_Height_Land,
-Wid ,  um_Length_Start+WidL, um_Height_Land,
-Wid ,  um_Length_Start , um_Height_Land,

-Wid ,  um_Length_Start-um_Length_End, ZZYZX,
-Wid ,  um_Length_Start-um_Length_End-0.1, ZZYZX,
-Wid ,  um_Length_Start-100, ZZYZX

 

AC27 on window 11
1 ACCEPTED SOLUTION

Accepted Solutions
Solution
Sweepgroup produces good results.
 
d1=.1
d2=.1

x1=0
y1=0
z1=.5

x2=1
y2=0
z2=.6

x3=1
y3=1
z3=.7

x4=0
y4=1
z4=.8
group "TUBE2"
pen 1
material 1
gosub "TUBE"
endgroup


g_expr="TUBE2"
x=0
y=0
z=-1
edgeColor=1
materialId=1
materialColor=1
method=1

placegroup SWEEPGROUP{3} (g_expr, x, y, z, edgeColor, materialId, materialColor, method)


end

"TUBE":
put     -d1*.5, 0.0,     0, 
0.0,  -d2,     0, 
d1*.5,  0.0,     0, 
-d1*.5, 0.0,     -1

m=nsp/3
put  2*x1-x2, 2*y1-y2, z2, 0,
x1, y1, z1, 0,
x2, y2, z2, 0,
x3, y3, z3, 0,
x4, y4, z4, 0,
2* x4- x3, 2* y4- y3, z3, 0

n=(nsp-3*m)/4
       
TUBE m, n, 1+2+16+32,get(nsp)
return
- AC-24 FIN - WIN 10 - HP Zbook -
“A winner is just a loser who tried one more time.”
George M. Moore, Jr.

View solution in original post

3 REPLIES 3
Pertti Paasky
Expert

Maybe You can use TUBE and cut it with a TubeA by solid element operations.

Tube keeps it´s profile the same. 

The tube path  should be flat.

The TubeA should be thick enough so that the minimum thickness is present everywhere.

 

The code can be like this:

 

Group  "TubeA"

----

endgroup



Group "Tube"

----

endgroup



placegroup isectgroup ("Tube", "TubeA")

killgroup "Tube"

killgroup "TubeA"
- AC-24 FIN - WIN 10 - HP Zbook -
“A winner is just a loser who tried one more time.”
George M. Moore, Jr.
Solution
Sweepgroup produces good results.
 
d1=.1
d2=.1

x1=0
y1=0
z1=.5

x2=1
y2=0
z2=.6

x3=1
y3=1
z3=.7

x4=0
y4=1
z4=.8
group "TUBE2"
pen 1
material 1
gosub "TUBE"
endgroup


g_expr="TUBE2"
x=0
y=0
z=-1
edgeColor=1
materialId=1
materialColor=1
method=1

placegroup SWEEPGROUP{3} (g_expr, x, y, z, edgeColor, materialId, materialColor, method)


end

"TUBE":
put     -d1*.5, 0.0,     0, 
0.0,  -d2,     0, 
d1*.5,  0.0,     0, 
-d1*.5, 0.0,     -1

m=nsp/3
put  2*x1-x2, 2*y1-y2, z2, 0,
x1, y1, z1, 0,
x2, y2, z2, 0,
x3, y3, z3, 0,
x4, y4, z4, 0,
2* x4- x3, 2* y4- y3, z3, 0

n=(nsp-3*m)/4
       
TUBE m, n, 1+2+16+32,get(nsp)
return
- AC-24 FIN - WIN 10 - HP Zbook -
“A winner is just a loser who tried one more time.”
George M. Moore, Jr.

I learned a new way with your help. thank you ^^

AC27 on window 11