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

GDL
About building parametric objects with GDL.
SOLVED!

help: vert{2},edge,vect,pgon,

yongler
Enthusiast

Help: vert {2}, edge, vect, pgon, how are these commands used?
Constructing a freeform surface definitely requires these instructions.
Unfortunately, I have tried many times but still cannot find their patterns.

3 ACCEPTED SOLUTIONS

Accepted Solutions
Solution
yongler
Enthusiast
!!!!  point ID
	define style    "AC_STYLE_1" "微软雅黑",     300,      5  ,      0
	set style "AC_STYLE_1"

	text  0.01 , 0 , "1"  
	
	add  1.643906967031, 0.1546438481421,           0
	text  0.01 , 0 , "2"  
	DEL 1
	
	add  0.1230635517156, 1.803123593506,           0
	text  0.01 , 0 , "3"  
	DEL 1
	
	add  0.06145182874897, 0.9003904140308, 0.58755210189
	text  0.01 , 0 , "4"  
	DEL 1
	
	add  4.544338329264, 0.1144655796645,           0
	text  0.01 , 0 , "5"  
	DEL 1
	
	add  4.637554607596, 1.006839271967, 0.58755210189
	text  0.01 , 0 , "6"  
	DEL 1
	
	add  4.720104273318, 1.79709985000,           0
	text  0.01 , 0 , "7"  
	DEL 1
	
	add 1.821001481466, 1.886234655945,           0
	text  0.01 , 0 , "8"  
	DEL 1
	
	add 1.919387322818, 1.131943205577, 0.58755210189
	text  0.01 , 0 , "9"  
	DEL 1

!!!!=============================================
vert{2}	 0,            0,           0,  0	!	#1   VertId=0
vert{2}	1.643906967031, 0.1546438481421,     0,  0	!	#2   VertId=0
vert{2}	0.1230635517156, 1.803123593506,      0, 0	!	#3   VertId=0

vert{2}	0.06145182874897, 0.9003904140308, 0.58755210189, 0	!	#4   VertId=0
vert{2}	4.544338329264, 0.1144655796645,           0, 0	!	#5   VertId=0
vert{2}	4.637554607596, 1.006839271967, 0.58755210189, 0	!	#6   VertId=0

vert{2}	4.720104273318, 1.79709985000,           0, 0	!	#7   VertId=0
vert{2}	1.821001481466, 1.886234655945,           0,0 !	#8   VertId=0
vert{2}	1.919387322818, 1.131943205577, 0.58755210189 ,0	!	#9   VertId=0

pen penAttribute_3
edge	   1,    2,    1,    0,  0			!	#1   EdgeId=0
edge	   1,    4,    1,    0,  0			!	#2   EdgeId=0
edge	   2,    4,    1,    2,     2			!	#3   EdgeId=0

edge	   3,    4,    3,    0, 0			!	#4   EdgeId=0
edge	   2,    5,    5,    0, 0			!	#5   EdgeId=0
edge	   9,    4,    2,    3, 0			!	#6   EdgeId=0

edge	   3,    9,    3,    4,      2		!	#7   EdgeId=0
edge	   8,    3,    4,    0, 0			!	#8   EdgeId=0
edge	   5,    6,    6,    0, 0			!	#9   EdgeId=0

edge	   5,    9,    5,    6,      2		!	#10  EdgeId=0
edge	   2,    9,    2,    5,      2		!	#11  EdgeId=0
edge	   8,    9,    4,    8,      2		!	#12  EdgeId=0

edge	   6,    9,    6,    7, 0			!	#13  EdgeId=0
edge	   6,    7,    7,    0, 0			!	#14  EdgeId=0
edge	   7,    9,    7,    8,      2		!	#15  EdgeId=0
edge	   7,    8,    8,    0, 0			!	#16  EdgeId=0

vect	0.05157243428629, -0.5482292703434, 0.8347364561109	!	#1  
vect	0.06576518232058, -0.527687296239, 0.8468890471498	!	#2  
vect	-0.06823318971576, 0.5474901174812, 0.8340256609252	!	#3  
vect	-0.02994677287806, 0.611804975783, 0.7904415616612	!	#4  
vect	-0.007116927009464, -0.5137642582209, 0.8579018803597	!	#5  
vect	-0.02521742494584, -0.5479058692778, 0.8361598171941	!	#6  
vect	0.02736588562897, 0.594586060484, 0.8035661298125	!	#7  
vect	0.01893749272581, 0.6159405124258, 0.78756501733	!	#8  

material materialAttribute_1
pgon	   3,    1,   0,					!	#1   PolyId=0
		   1,		   3,		  -2
material materialAttribute_1
pgon	   3,    2,   0,					!	#2   PolyId=0
		  -3,		  11,		   6
material materialAttribute_1
pgon	   3,    3,   0,					!	#3   PolyId=0
		   4,		  -6,		  -7
material materialAttribute_1
pgon	   3,    4,   0,					!	#4   PolyId=0
		   7,		 -12,		   8
material materialAttribute_1
pgon	   3,    5,   0,					!	#5   PolyId=0
		   5,		  10,		 -11
material materialAttribute_1
pgon	   3,    6,   0,					!	#6   PolyId=0
		   9,		  13,		 -10
material materialAttribute_1
pgon	   3,    7,   0,					!	#7   PolyId=0
		 -13,		  14,		  15
material materialAttribute_1
pgon	   3,    8,   0,					!	#8   PolyId=0
		  12,		 -15,		  16

body	-1

View solution in original post

Solution
yongler
Enthusiast
!!!=========================
 lin_pen = 2
 mat1 = 115
 mat2 = 425
 mat3 = 29
dim x[] ,y[] ,z[][]
x[1] = 0 
y[1] = 0 

m=  30
n =  30

for k = 2 to n
for  i = 2 to m
	x[k] = x[k-1]  + 0.15
	y[i] = y[i-1]  +  0.15
	z[i][k] = 0.25* sin( i*K*(4*360/(m*n)))
next i
next k
!!!=========================
base

for  k = 1 to  m -1
for  i = 1 to   n -1
		vert{2}  x[i] ,       y[k]  ,  z[i][k],    0 
		vert{2}   x[i+1] ,  y[k]  ,    z[i+1][k],  0 
		vert{2}   x[i] ,      y[k+1]  , z[i][k+1], 0 
		vert{2}   x[i+1] ,  y[k+1]  , z[i+1][k+1], 0

	pen lin_pen
	edge  1,  2 , -1, -1,    2 !   1+2+4+8
	edge  2  ,3 , -1, -1,    2  !   1+2+4+8
	edge  3 ,  1  , -1, -1,  2  !   1+2+4+8
	
	edge  2 , 4  , -1, -1,  2  !   1+2+4+8
	edge  4 , 3  , -1, -1,  2!   1+2+4+8
	edge  3 , 2  , -1, -1,  2 !   1+2+4+8
	
	 IF z[i][k]< -0.15  then material  mat1
	 IF z[i][k] >=-0.15 and  z[i][k] < 0.1   then material  mat2
	 IF z[i][k] >=0.1    then material  mat3

	pgon 3, 0, -1, 1,2,3
	pgon 3, 0, -1, 4,5,6

body -1
	next  i
	next  k
!!!=========================

View solution in original post

Solution
yongler
Enthusiast

Primitive elements can control the material representation of each unit of the surface, thereby expressing the analysis of mountain elevation, slope, etc. The GDL script is still being further optimized.

微信截图_20240406141549.jpg   微信截图_20240406141513.jpg   微信截图_20240406141534.jpg

View solution in original post

6 REPLIES 6
Solution
yongler
Enthusiast
!!!!  point ID
	define style    "AC_STYLE_1" "微软雅黑",     300,      5  ,      0
	set style "AC_STYLE_1"

	text  0.01 , 0 , "1"  
	
	add  1.643906967031, 0.1546438481421,           0
	text  0.01 , 0 , "2"  
	DEL 1
	
	add  0.1230635517156, 1.803123593506,           0
	text  0.01 , 0 , "3"  
	DEL 1
	
	add  0.06145182874897, 0.9003904140308, 0.58755210189
	text  0.01 , 0 , "4"  
	DEL 1
	
	add  4.544338329264, 0.1144655796645,           0
	text  0.01 , 0 , "5"  
	DEL 1
	
	add  4.637554607596, 1.006839271967, 0.58755210189
	text  0.01 , 0 , "6"  
	DEL 1
	
	add  4.720104273318, 1.79709985000,           0
	text  0.01 , 0 , "7"  
	DEL 1
	
	add 1.821001481466, 1.886234655945,           0
	text  0.01 , 0 , "8"  
	DEL 1
	
	add 1.919387322818, 1.131943205577, 0.58755210189
	text  0.01 , 0 , "9"  
	DEL 1

!!!!=============================================
vert{2}	 0,            0,           0,  0	!	#1   VertId=0
vert{2}	1.643906967031, 0.1546438481421,     0,  0	!	#2   VertId=0
vert{2}	0.1230635517156, 1.803123593506,      0, 0	!	#3   VertId=0

vert{2}	0.06145182874897, 0.9003904140308, 0.58755210189, 0	!	#4   VertId=0
vert{2}	4.544338329264, 0.1144655796645,           0, 0	!	#5   VertId=0
vert{2}	4.637554607596, 1.006839271967, 0.58755210189, 0	!	#6   VertId=0

vert{2}	4.720104273318, 1.79709985000,           0, 0	!	#7   VertId=0
vert{2}	1.821001481466, 1.886234655945,           0,0 !	#8   VertId=0
vert{2}	1.919387322818, 1.131943205577, 0.58755210189 ,0	!	#9   VertId=0

pen penAttribute_3
edge	   1,    2,    1,    0,  0			!	#1   EdgeId=0
edge	   1,    4,    1,    0,  0			!	#2   EdgeId=0
edge	   2,    4,    1,    2,     2			!	#3   EdgeId=0

edge	   3,    4,    3,    0, 0			!	#4   EdgeId=0
edge	   2,    5,    5,    0, 0			!	#5   EdgeId=0
edge	   9,    4,    2,    3, 0			!	#6   EdgeId=0

edge	   3,    9,    3,    4,      2		!	#7   EdgeId=0
edge	   8,    3,    4,    0, 0			!	#8   EdgeId=0
edge	   5,    6,    6,    0, 0			!	#9   EdgeId=0

edge	   5,    9,    5,    6,      2		!	#10  EdgeId=0
edge	   2,    9,    2,    5,      2		!	#11  EdgeId=0
edge	   8,    9,    4,    8,      2		!	#12  EdgeId=0

edge	   6,    9,    6,    7, 0			!	#13  EdgeId=0
edge	   6,    7,    7,    0, 0			!	#14  EdgeId=0
edge	   7,    9,    7,    8,      2		!	#15  EdgeId=0
edge	   7,    8,    8,    0, 0			!	#16  EdgeId=0

vect	0.05157243428629, -0.5482292703434, 0.8347364561109	!	#1  
vect	0.06576518232058, -0.527687296239, 0.8468890471498	!	#2  
vect	-0.06823318971576, 0.5474901174812, 0.8340256609252	!	#3  
vect	-0.02994677287806, 0.611804975783, 0.7904415616612	!	#4  
vect	-0.007116927009464, -0.5137642582209, 0.8579018803597	!	#5  
vect	-0.02521742494584, -0.5479058692778, 0.8361598171941	!	#6  
vect	0.02736588562897, 0.594586060484, 0.8035661298125	!	#7  
vect	0.01893749272581, 0.6159405124258, 0.78756501733	!	#8  

material materialAttribute_1
pgon	   3,    1,   0,					!	#1   PolyId=0
		   1,		   3,		  -2
material materialAttribute_1
pgon	   3,    2,   0,					!	#2   PolyId=0
		  -3,		  11,		   6
material materialAttribute_1
pgon	   3,    3,   0,					!	#3   PolyId=0
		   4,		  -6,		  -7
material materialAttribute_1
pgon	   3,    4,   0,					!	#4   PolyId=0
		   7,		 -12,		   8
material materialAttribute_1
pgon	   3,    5,   0,					!	#5   PolyId=0
		   5,		  10,		 -11
material materialAttribute_1
pgon	   3,    6,   0,					!	#6   PolyId=0
		   9,		  13,		 -10
material materialAttribute_1
pgon	   3,    7,   0,					!	#7   PolyId=0
		 -13,		  14,		  15
material materialAttribute_1
pgon	   3,    8,   0,					!	#8   PolyId=0
		  12,		 -15,		  16

body	-1
Pertti Paasky
Expert

Hello yongler.

In GDL manual You find Primitive elements in pages 137-149 (AC 26 manual).

After studying these You may have new  spesific questions.

- AC-24 FIN - WIN 10 - HP Zbook -
“A winner is just a loser who tried one more time.”
George M. Moore, Jr.
yongler
Enthusiast

After two days of contemplation and experimentation, I seem to have learned some about how VECT, EDGE, and PGON operate.

 

微信图片_20240403140507.jpg  

 

20240403140045.jpg   

Solution
yongler
Enthusiast
!!!=========================
 lin_pen = 2
 mat1 = 115
 mat2 = 425
 mat3 = 29
dim x[] ,y[] ,z[][]
x[1] = 0 
y[1] = 0 

m=  30
n =  30

for k = 2 to n
for  i = 2 to m
	x[k] = x[k-1]  + 0.15
	y[i] = y[i-1]  +  0.15
	z[i][k] = 0.25* sin( i*K*(4*360/(m*n)))
next i
next k
!!!=========================
base

for  k = 1 to  m -1
for  i = 1 to   n -1
		vert{2}  x[i] ,       y[k]  ,  z[i][k],    0 
		vert{2}   x[i+1] ,  y[k]  ,    z[i+1][k],  0 
		vert{2}   x[i] ,      y[k+1]  , z[i][k+1], 0 
		vert{2}   x[i+1] ,  y[k+1]  , z[i+1][k+1], 0

	pen lin_pen
	edge  1,  2 , -1, -1,    2 !   1+2+4+8
	edge  2  ,3 , -1, -1,    2  !   1+2+4+8
	edge  3 ,  1  , -1, -1,  2  !   1+2+4+8
	
	edge  2 , 4  , -1, -1,  2  !   1+2+4+8
	edge  4 , 3  , -1, -1,  2!   1+2+4+8
	edge  3 , 2  , -1, -1,  2 !   1+2+4+8
	
	 IF z[i][k]< -0.15  then material  mat1
	 IF z[i][k] >=-0.15 and  z[i][k] < 0.1   then material  mat2
	 IF z[i][k] >=0.1    then material  mat3

	pgon 3, 0, -1, 1,2,3
	pgon 3, 0, -1, 4,5,6

body -1
	next  i
	next  k
!!!=========================
Solution
yongler
Enthusiast

Primitive elements can control the material representation of each unit of the surface, thereby expressing the analysis of mountain elevation, slope, etc. The GDL script is still being further optimized.

微信截图_20240406141549.jpg   微信截图_20240406141513.jpg   微信截图_20240406141534.jpg

This is so awesome, super cool man

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!