cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 
GDL
About building parametric objects with GDL.

GDL: TubeA

Lingwisyer
Guru

Hi all,

 

How do you use TUBEA?

 

TUBEA 4, 2, 1+2+16+32,
	0,							0,		900,
	A/2,						360,	4000+1,

	0,							0,		900,
	A/2 + (RND(2)-1) * aMax,	360,	4000+1,

	0,										0,										0,
	omax * sin(RND(987*SYMB_POS_X)%360),	omax * sin(RND(987*SYMB_POS_Y)%360),	zzyzx

 

I get a "parameter error"...

I am wanting to create a tube where the polygon at each node varies in size and offset from center.

 

Ling.

AC22-28 AUS 3110Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win11 | i9 10850K | 64GB | RX6600 Win11 | R5 2600 | 16GB | GTX1660
2 REPLIES 2
runxel
Hero

Hi Ling, two issues there:

1) TUBEA, just like regular Tube, want the vectors at start and end, the "ghost points". So you can never have less than 4 path points.

2) Pipes, as in duct / with a hole, can not be done with the 4000 status on the inside. The larger diameter needs to be stated first, then comes the inside one. The inside – so its recognized as a hole – needs to start with status 600.

But that prohibits the use of 4000. So instead you need to do two half circles, and then go back to the beginning explicitly with a -1, so AC knows it's properly closed (that's more of a concern when you do more than one hole but I always found it good practice).

 

Here is a working example:

 

inner_rnd = A/2 - RND(A/3)

TUBEA 6, 4, 1+2+16+32,
	0, 0, 900,
	A/2, 360, 4000+1,

	inner_rnd, 0, 601,
	0, 180, 4001,
	0, 180, 4001,
	inner_rnd, 0, -1,

	-1, -1, 0,
	0, 0, 0,
	1, 1, 1,
	2, 2, zzyzx

 

But I also wonder: why do you want to use TUBEA in the first place? It's not really a ... useful command. I never used it. Only interesting part is that you can use open polylines as the tube cross section which then will be prolonged to z=0.

Or are you after the fact that the cross section is defined in the miters?

 

Happy coding!

Lucas Becker | AC 29 on Mac (Sequoia) | Graphisoft Insider Panelist | Akroter.io – high-end GDL objects | Author of Runxel's Archicad Wiki | Editor at SelfGDL | Developer of the GDL plugin for Sublime Text

My List of AC shortcomings & bugs | I Will Piledrive You If You Mention AI Again |

POSIWID – The Purpose Of a System Is What It Does /// «Furthermore, I consider that Carth... yearly releases must be destroyed»

I was looking for a tube function in which I could scale each node indepentently, which could be done by redefining the cross section at each path segment. So I was actually just trying to work it out with few nodes before I shifted to using a buffer to build it. I see now that the example is just extending the open polyline down to the local base and closing it. Did not get what that bit of the explaination was talking about. Have not used a TUBE before, so I had overlooked the note about node count...

 

I will try again later with a few more nodes.

 

Ling.

AC22-28 AUS 3110Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win11 | i9 10850K | 64GB | RX6600 Win11 | R5 2600 | 16GB | GTX1660

Didn't find the answer?

Check other topics in this Forum

Back to Forum

Read the latest accepted solutions!

Accepted Solutions

Start a new conversation!