2025-02-04 10:21 AM
Hi all,
I am trying to merge my geometry into one, i found this:
https://community.graphisoft.com/t5/GDL/add-several-GROUPs-without-additional-lines/m-p/274202
However is ti possible to not have an error in the code ("Identical operands in group operation").
I need something like this for my code:
pen 1
material 1
group "object":
	gosub "Fixed geomety"
	gosub "Looped geometry"
endgroup
res = addgroup ("object", "object")
placegroup res 
end:!=====================================================
"Fixed geomety":
	block 1,1,1
return
"Looped geometry":
	for i=1 to 5
		addx 1/2
		block 1,1/2,1
	next i
return
I tried to add an empty group but no result, any solutions?
Solved! Go to Solution.
			
    
	
		
		
		2025-02-04
	
		
		04:55 PM
	
	
	
	
	
	
	
	
	
	
	
	
	
	
 - last edited on 
    
	
		
		
		2025-02-06
	
		
		10:33 PM
	
	
	
	
	
	
	
	
	
	
	
	
	
	
 by 
				
		
		
			Laszlo Nagy 
		
		
		
		
		
		
		
		
	
			
		
I use this:
val_a=1
val_b=2
val_z=1
group "mygroup"
block val_a,val_b,val_z
endgroup
mygroup="mygroup"
for i= 1 to 3
   
group "mygroup"+str("%.0m",i)
add i*.2,i*.3,i*.1  
block val_a,val_b,val_z
del 1
endgroup
mygroup=addgroup(mygroup,"mygroup"+str("%.0m",i))
killgroup "mygroup"+str("%.0m",i)
next i
placegroup mygroup
killgroup mygroup2025-02-04 11:25 AM
I think the problem is the Addgroup with 2 identical Group Names. Try this:
pen 1
material 1
	group "object1"
		gosub "Fixed geomety"
		gosub "Looped geometry"
	endgroup
	group "object2"
		gosub "Fixed geomety"
		gosub "Looped geometry"
	endgroup
res = addgroup ("object1", "object2")
placegroup res 
end:!=====================================================
"Fixed geomety":
	block 1,1,1
return
"Looped geometry":
	for i=1 to 5
		addx 1/2
		block 1,1/2,1
	next i
return
2025-02-04 03:29 PM - edited 2025-02-04 03:29 PM
I wrote a number that gets 1 added each loop but is converted to a string for the group name. That way there is never a duplicate group name
			
    
	
		
		
		2025-02-04
	
		
		04:55 PM
	
	
	
	
	
	
	
	
	
	
	
	
	
	
 - last edited on 
    
	
		
		
		2025-02-06
	
		
		10:33 PM
	
	
	
	
	
	
	
	
	
	
	
	
	
	
 by 
				
		
		
			Laszlo Nagy 
		
		
		
		
		
		
		
		
	
			
		
I use this:
val_a=1
val_b=2
val_z=1
group "mygroup"
block val_a,val_b,val_z
endgroup
mygroup="mygroup"
for i= 1 to 3
   
group "mygroup"+str("%.0m",i)
add i*.2,i*.3,i*.1  
block val_a,val_b,val_z
del 1
endgroup
mygroup=addgroup(mygroup,"mygroup"+str("%.0m",i))
killgroup "mygroup"+str("%.0m",i)
next i
placegroup mygroup
killgroup mygroup