<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Easy gdl mesh in GDL</title>
    <link>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/682383#M8093</link>
    <description>&lt;P&gt;"Hair"&lt;BR /&gt;&lt;BR /&gt;Face - Normals added&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2025-11-04 001928.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/93982i0171CC50244CBF07/image-size/large?v=v2&amp;amp;px=999" role="button" title="Screenshot 2025-11-04 001928.png" alt="Screenshot 2025-11-04 001928.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 03 Nov 2025 23:21:37 GMT</pubDate>
    <dc:creator>rudl</dc:creator>
    <dc:date>2025-11-03T23:21:37Z</dc:date>
    <item>
      <title>Easy gdl mesh</title>
      <link>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/679823#M8043</link>
      <description>&lt;P&gt;Easy mesh:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;! No more VERT EDGE PGON ! (because its a bit of a pain)&lt;/P&gt;&lt;P&gt;just a &lt;U&gt;vertex array&lt;/U&gt;&lt;/P&gt;&lt;P&gt;and a &lt;U&gt;face array&lt;/U&gt; with vert indices&lt;/P&gt;&lt;P&gt;Face direction should be automatic with the order of vertices, Edges are automatic&lt;/P&gt;&lt;P&gt;Needs more testing, may add some more features.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;! ------------------------------------------------------------
! Geometry stored in vert and pgon arrays only Example: Pyramid
! ------------------------------------------------------------
! Important order of vertices in Pgon determine Normal / Face direction

! --- SETUP VARIABLES ---

dim points_s[][3]	!points start
dim edges_pi[][2]	!edges point index
dim faces_pi[][]	!faces point index
dim ppf[]			!points per face

! --- POPULATE ---

points_s[1][1] = -1 : points_s[1][2] = -1 : points_s[1][3] = 0	! base
points_s[2][1] =  1 : points_s[2][2] = -1 : points_s[2][3] = 0
points_s[3][1] =  1 : points_s[3][2] =  1 : points_s[3][3] = 0
points_s[4][1] = -1 : points_s[4][2] =  1 : points_s[4][3] = 0
points_s[5][1] =  0 : points_s[5][2] =  0 : points_s[5][3] = 2  	! apex

ppf[1] = 4 : faces_pi[1][1] = 1 : faces_pi[1][2] = 4 : faces_pi[1][3] = 3 : faces_pi[1][4] = 2 	! base (quad)
ppf[2] = 3 : faces_pi[2][1] = 1 : faces_pi[2][2] = 2 : faces_pi[2][3] = 5
ppf[3] = 3 : faces_pi[3][1] = 2 : faces_pi[3][2] = 3 : faces_pi[3][3] = 5
ppf[4] = 3 : faces_pi[4][1] = 3 : faces_pi[4][2] = 4 : faces_pi[4][3] = 5
ppf[5] = 3 : faces_pi[5][1] = 4 : faces_pi[5][2] = 1 : faces_pi[5][3] = 5

nPoints = 5 		! this should be known does not make sense to calc! optional with VARDIM1
nFaces = 5 		! this should be known does not make sense to calc! optional with VARDIM1

! ------------------------------------------------------------
! DO THE MAGIC THING:
! ------------------------------------------------------------

! --- Point index for edges --- edges_pi[][2] for use in EDGE

x=0	! the counter is important!
FOR i=1 TO nFaces
	FOR j=1 TO ppf[i]
		x = x+1
		IF j &amp;lt; ppf[i] THEN 
			edges_pi[x][1]=faces_pi[i][j]
			edges_pi[x][2]=faces_pi[i][j+1]
		ELSE 
			edges_pi[x][1]=faces_pi[i][j] !connect last point of face with first
			edges_pi[x][2]=faces_pi[i][1]		
		ENDIF
	NEXT j
NEXT i

lengthedge = VARDIM1 (edges_pi) ! total edges with duplicates should be nEDGE

! --- Create edge index --- edges[] for use in PGON
! There is some kind of "sorting" through to make the double edge indices negative
! could be optimised for larger meshes though

DIM edges[]
negcount = 0
FOR i = 1 TO lengthedge
	u = edges_pi[i][1]
	v = edges_pi[i][2] 
	edges[i]=i-negcount
		FOR j = 1 To i
			IF edges_pi[j][1]=v AND edges_pi[j][2] = u THEN
				edges[i]= edges[j]*(-1)
				negcount = negcount+1
			ENDIF
		NEXT J
NEXT i

! ------------------------------------------------------------
! BUILDING THE MESH:
! ------------------------------------------------------------

!PUT EVERYTHING TOGETHER

BASE
FOR i = 1 TO nPoints
	VERT points_s[i][1],points_s[i][2],points_s[i][3]
NEXT i

FOR i = 1 TO lengthedge
	IF edges[i]&amp;gt;=1 THEN
		EDGE edges_pi[i][1], edges_pi[i][2],-1,-1,0
	ENDIF
NEXT i

PUT edges
FOR i = 1 TO nFaces
	PGON ppf[i],0,0,GET(ppf[i])
NEXT i

BODY -1

! ------------------------------------------------------------
! DEBUG:
! ------------------------------------------------------------

!PRINT edges_pi
!PRINT edges&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Oct 2025 08:03:23 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/679823#M8043</guid>
      <dc:creator>rudl</dc:creator>
      <dc:date>2025-10-14T08:03:23Z</dc:date>
    </item>
    <item>
      <title>Re: Easy gdl mesh</title>
      <link>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/679825#M8044</link>
      <description>&lt;P&gt;Thanks for showing the method, but I am not sure I understand the purpose.&lt;/P&gt;
&lt;P&gt;You did use&amp;nbsp;VERT EDGE PGON, just in a loop.&lt;/P&gt;
&lt;P&gt;And wouldn't it be easier to use the PYRAMID command?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Barry.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Oct 2025 08:17:15 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/679825#M8044</guid>
      <dc:creator>Barry Kelly</dc:creator>
      <dc:date>2025-10-14T08:17:15Z</dc:date>
    </item>
    <item>
      <title>Re: Easy gdl mesh</title>
      <link>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/679830#M8045</link>
      <description>&lt;P&gt;In the end of course i used Vert edge and pgons etc.&lt;/P&gt;&lt;P&gt;The pyramid is just a simple example&amp;nbsp; I'm thinking about much more complex things. Its more about &lt;U&gt;&lt;FONT color="#000000"&gt;how&lt;/FONT&gt;&lt;/U&gt; it is stored&lt;/P&gt;&lt;P&gt;Its way easier if you have indices than the order of creation&amp;nbsp;&lt;/P&gt;&lt;P&gt;especially if you want to create something parametric where the number of vertices edges pgons is not known&lt;/P&gt;</description>
      <pubDate>Tue, 14 Oct 2025 08:29:07 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/679830#M8045</guid>
      <dc:creator>rudl</dc:creator>
      <dc:date>2025-10-14T08:29:07Z</dc:date>
    </item>
    <item>
      <title>Re: Easy gdl mesh</title>
      <link>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/679948#M8046</link>
      <description>&lt;P&gt;Not a pyramid:&lt;BR /&gt;In conjunction with a blender script (I did us chatgpt for that)&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;import bpy

# Output file path
output_file = "C:/Users/potato/mesh_data.txt"  # &amp;lt;-- change this

with open(output_file, 'w') as f:
    vertex_count = 1
    face_count = 1

    for obj in bpy.context.selected_objects:  # or bpy.data.objects for all
        if obj.type != 'MESH':
            continue
        
        mesh = obj.data
        #f.write(f"// Object: {obj.name}\n\n")

        # Write vertices
        for v in mesh.vertices:
            f.write(f"points_s[{vertex_count}][1] = {v.co.x}\n")
            f.write(f"points_s[{vertex_count}][2] = {v.co.y}\n")
            f.write(f"points_s[{vertex_count}][3] = {v.co.z}\n")
            vertex_count += 1

        f.write("\n")

        # Write faces
        for p in mesh.polygons:
            # Ensure we only handle triangles or quads (can expand if needed)
            verts = p.vertices
            for i in range(len(verts)):
                f.write(f"faces_pi[{face_count}][{i+1}] = {verts[i]+1}\n")  # +1 for 1-based indexing
            face_count += 1

        f.write("\n")

print(f"Mesh data exported to {output_file}")&lt;/LI-CODE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2025-10-14 225243.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/93085i4C76E6429F1BB508/image-size/large?v=v2&amp;amp;px=999" role="button" title="Screenshot 2025-10-14 225243.png" alt="Screenshot 2025-10-14 225243.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Oct 2025 20:57:12 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/679948#M8046</guid>
      <dc:creator>rudl</dc:creator>
      <dc:date>2025-10-14T20:57:12Z</dc:date>
    </item>
    <item>
      <title>Re: Easy gdl mesh</title>
      <link>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/681494#M8078</link>
      <description>&lt;P&gt;Was a little slow but it should be much faster now.&lt;BR /&gt;Sorted the edges before checking for the "oposite edge" otherwise it loops through the whole array for every edge. ^^&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;! --- SETUP VARIABLES ---

dim po_s[][3]	!points start
dim edges_pi[][2]	!edges point index
dim f_pi[][]	!faces point index
dim ppf[]			!points per face

! --- POPULATE ---
po_s[1][1] = 0.03838 : po_s[1][2] = -0.02232 : po_s[1][3] = 0.08784
po_s[2][1] = -0.01273 : po_s[2][2] = 0.01263 : po_s[2][3] = 0.14178
po_s[3][1] = -0.07195 : po_s[3][2] = -0.01823 : po_s[3][3] = 0.08623
po_s[4][1] = 0.0298 : po_s[4][2] = -0.00251 : po_s[4][3] = 0.09868
...
po_s[243][1] = 0.0156 : po_s[243][2] = -0.03653 : po_s[243][3] = -0.0
po_s[244][1] = -0.04308 : po_s[244][2] = 0.03277 : po_s[244][3] = 0.1129
po_s[245][1] = -0.04553 : po_s[245][2] = 0.0671 : po_s[245][3] = 0.1219

f_pi[1][1]=5:f_pi[1][2]=141:f_pi[1][3]=28 : f_pi[2][1]=122:f_pi[2][2]=133:f_pi[2][3]=148 : f_pi[3][1]=147:f_pi[3][2]=11:f_pi[3][3]=111
f_pi[4][1]=134:f_pi[4][2]=52:f_pi[4][3]=124 : f_pi[5][1]=5:f_pi[5][2]=12:f_pi[5][3]=141 : f_pi[6][1]=28:f_pi[6][2]=141:f_pi[6][3]=31
f_pi[7][1]=21:f_pi[7][2]=155:f_pi[7][3]=163 : f_pi[8][1]=194:f_pi[8][2]=134:f_pi[8][3]=124 : f_pi[9][1]=52:f_pi[9][2]=134:f_pi[9][3]=40
...
f_pi[478][1]=230:f_pi[478][2]=229:f_pi[478][3]=238 : f_pi[479][1]=229:f_pi[479][2]=227:f_pi[479][3]=222 : f_pi[480][1]=222:f_pi[480][2]=224:f_pi[480][3]=229
f_pi[481][1]=223:f_pi[481][2]=226:f_pi[481][3]=225 : f_pi[482][1]=226:f_pi[482][2]=233:f_pi[482][3]=225 : f_pi[483][1]=243:f_pi[483][2]=238:f_pi[483][3]=240
f_pi[484][1]=240:f_pi[484][2]=232:f_pi[484][3]=243 : f_pi[485][1]=233:f_pi[485][2]=243:f_pi[485][3]=235 : f_pi[486][1]=232:f_pi[486][2]=235:f_pi[486][3]=243

nPoints = 245 		! this should be known does not make sense to calc! optional with VARDIM1
nFaces = 486 		! this should be known does not make sense to calc! optional with VARDIM1

FOR i=1 TO nFaces
	ppf[i]=3
NEXT i

! ------------------------------------------------------------
! DO THE MAGIC THING:
! ------------------------------------------------------------

! --- Point index for edges --- edges_pi[][2] for use in EDGE

DIM edges_so[][]

x=0	! the counter is important!
FOR i=1 TO nFaces
	FOR j=1 TO ppf[i]
		x = x+1
		IF j &amp;lt; ppf[i] THEN 
			edges_pi[x][1]=f_pi[i][j]
			edges_pi[x][2]=f_pi[i][j+1]
		ELSE 
			edges_pi[x][1]=f_pi[i][j] !connect last point of face with first
			edges_pi[x][2]=f_pi[i][1]		
		ENDIF
			 
		edges_so[edges_pi[x][1]][1] = edges_so[edges_pi[x][1]][1]+1 !self+1	
		edges_so[edges_pi[x][1]][edges_so[edges_pi[x][1]][1]+1] = x

	NEXT j
NEXT i

nEdges = VARDIM1 (edges_pi) ! total edges with duplicates

negcount = 0
DIM edges[]
FOR i = 1 TO nEdges
	!edges_pi[i][2]
	IF edges[i] &amp;lt; 0 THEN
	negcount = negcount +1
	ELSE
	tempi = i-negcount
	FOR j = 2 TO edges_so[edges_pi[i][2]][1]+1 
		IF edges_pi[i][1] = edges_pi[edges_so[edges_pi[i][2]][j]][2] THEN
			!"PRINT "gefunden"
			edges[i] = tempi
			edges[edges_so[edges_pi[i][2]][j]] = -tempi
		ENDIF
	NEXT j
	ENDIF
NEXT i

! ------------------------------------------------------------
! BUILDING THE MESH:
! ------------------------------------------------------------

BASE
FOR i = 1 TO nPoints
	VERT po_s[i][1],po_s[i][2],po_s[i][3]
NEXT i

FOR i = 1 TO nEdges
	IF edges[i]&amp;gt;=1 THEN
		EDGE edges_pi[i][1], edges_pi[i][2],-1,-1,0
	ENDIF
NEXT i

PUT edges
FOR i = 1 TO nFaces
	PGON ppf[i],0,0,GET(ppf[i])
NEXT i

BODY -1&lt;/LI-CODE&gt;&lt;P&gt;Full res bunny example:&lt;BR /&gt;69664 Faces,&amp;nbsp;34834 Points&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2025-10-25 232153.png" style="width: 708px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/93674i27170890D7A73828/image-dimensions/708x533?v=v2" width="708" height="533" role="button" title="Screenshot 2025-10-25 232153.png" alt="Screenshot 2025-10-25 232153.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2025-10-25 234639.png" style="width: 723px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/93677i5944F50D9F00704D/image-dimensions/723x677?v=v2" width="723" height="677" role="button" title="Screenshot 2025-10-25 234639.png" alt="Screenshot 2025-10-25 234639.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2025-10-25 234900.png" style="width: 990px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/93678iEA3F3090085B69FE/image-size/large?v=v2&amp;amp;px=999" role="button" title="Screenshot 2025-10-25 234900.png" alt="Screenshot 2025-10-25 234900.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 25 Oct 2025 21:51:37 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/681494#M8078</guid>
      <dc:creator>rudl</dc:creator>
      <dc:date>2025-10-25T21:51:37Z</dc:date>
    </item>
    <item>
      <title>Re: Easy gdl mesh</title>
      <link>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/682383#M8093</link>
      <description>&lt;P&gt;"Hair"&lt;BR /&gt;&lt;BR /&gt;Face - Normals added&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2025-11-04 001928.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/93982i0171CC50244CBF07/image-size/large?v=v2&amp;amp;px=999" role="button" title="Screenshot 2025-11-04 001928.png" alt="Screenshot 2025-11-04 001928.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 03 Nov 2025 23:21:37 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/682383#M8093</guid>
      <dc:creator>rudl</dc:creator>
      <dc:date>2025-11-03T23:21:37Z</dc:date>
    </item>
    <item>
      <title>Re: Easy gdl mesh</title>
      <link>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/682389#M8094</link>
      <description>&lt;P&gt;This is all very impressive, I like it.&lt;/P&gt;
&lt;P&gt;But where are you getting the x,y,z co-ordinates for the model.&lt;/P&gt;
&lt;P&gt;Doesn't it mean that someone has modelled it up already?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I do quite a few basins and baths based on converted RVT, OBJ, SKP, 3DS, etc, objects.&lt;/P&gt;
&lt;P&gt;I would love to reduce there 50000+ lines of code down to something much simpler like this.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Barry.&lt;/P&gt;</description>
      <pubDate>Tue, 04 Nov 2025 00:50:37 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/682389#M8094</guid>
      <dc:creator>Barry Kelly</dc:creator>
      <dc:date>2025-11-04T00:50:37Z</dc:date>
    </item>
    <item>
      <title>Re: Easy gdl mesh</title>
      <link>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/683138#M8097</link>
      <description>&lt;P&gt;*) Edge Angles&lt;BR /&gt;*) Edge Visibility/sharp edges based on edge angle.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2025-11-08 224726.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/94232i829D31715A1CF8B2/image-size/large?v=v2&amp;amp;px=999" role="button" title="Screenshot 2025-11-08 224726.png" alt="Screenshot 2025-11-08 224726.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 08 Nov 2025 21:51:30 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/683138#M8097</guid>
      <dc:creator>rudl</dc:creator>
      <dc:date>2025-11-08T21:51:30Z</dc:date>
    </item>
    <item>
      <title>Re: Easy gdl mesh</title>
      <link>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/683804#M8111</link>
      <description>&lt;P&gt;Face and Vertex numbering, Point normals etc&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2025-11-09 211155.png" style="width: 400px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/94415iB4CA91E5DFB3BAD8/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Screenshot 2025-11-09 211155.png" alt="Screenshot 2025-11-09 211155.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2025-11-15 000900.png" style="width: 400px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/94416i34A1CBDFCA36CAEB/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Screenshot 2025-11-15 000900.png" alt="Screenshot 2025-11-15 000900.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 14 Nov 2025 23:19:22 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/683804#M8111</guid>
      <dc:creator>rudl</dc:creator>
      <dc:date>2025-11-14T23:19:22Z</dc:date>
    </item>
    <item>
      <title>Re: Easy gdl mesh</title>
      <link>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/683841#M8112</link>
      <description>&lt;P&gt;Might be useful if you are storing points and faces in a text file and read them with gdl.&lt;/P&gt;</description>
      <pubDate>Sun, 16 Nov 2025 07:57:02 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/683841#M8112</guid>
      <dc:creator>Davor P</dc:creator>
      <dc:date>2025-11-16T07:57:02Z</dc:date>
    </item>
    <item>
      <title>Re: Easy gdl mesh</title>
      <link>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/684077#M8116</link>
      <description>&lt;P&gt;That is definitely on my todo list.&lt;BR /&gt;Main focus is still making it easier to script meshes within gdl.&lt;/P&gt;</description>
      <pubDate>Tue, 18 Nov 2025 23:52:34 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/684077#M8116</guid>
      <dc:creator>rudl</dc:creator>
      <dc:date>2025-11-18T23:52:34Z</dc:date>
    </item>
    <item>
      <title>Re: Easy gdl mesh</title>
      <link>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/684081#M8117</link>
      <description>&lt;P&gt;Parametric torus and bended beams.&lt;BR /&gt;&lt;BR /&gt;Torus example:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;theta = 360/u
FOR i = 2 TO u
	vec_temp[1]=po_s[i-1]
	GOSUB "V_ArotX":
	po_s[i] = vec_temp[3] 
NEXT i
FOR i =1 TO u
	po_s[i][2]=	po_s[i][2]+rv
NEXT i
theta = 360/v
FOR i = 1 TO v-1
	FOR j = 1 TO u
		vec_temp[1]=po_s[(i-1)*u+j]
		GOSUB "V_ArotZ":
		po_s[i*u+j] = vec_temp[3]
	NEXT j
NEXT i

c =0
FOR i = 1 TO v
	FOR j = 1 TO u
		IF i = v THEN
		IF j = u THEN
		c = c +1
		f_pi[c][1]=(i-1)*u+j
		f_pi[c][2]= j
		f_pi[c][3]=(i-2)*u+j+1
		c = c +1
		f_pi[c][1]= j
		f_pi[c][2]= 1
		f_pi[c][3]=(i-2)*u+j+1
		ELSE
		c = c +1
		f_pi[c][1]=(i-1)*u+j
		f_pi[c][2]= j
		f_pi[c][3]=(i-1)*u+j+1
		c = c +1
		f_pi[c][1]= j
		f_pi[c][2]= j+1
		f_pi[c][3]= (i-1)*u+j+1
	 	ENDIF
			
		ELSE
		IF j = u THEN
		c = c +1
		f_pi[c][1]=(i-1)*u+j
		f_pi[c][2]=(i)*u+j
		f_pi[c][3]=(i-2)*u+j+1
		c = c +1
		f_pi[c][1]=(i)*u+j
		f_pi[c][2]=(i-1)*u+j+1
		f_pi[c][3]=(i-2)*u+j+1
		ELSE
		c = c +1
		f_pi[c][1]=(i-1)*u+j
		f_pi[c][2]=(i)*u+j
		f_pi[c][3]=(i-1)*u+j+1
		c = c +1
		f_pi[c][1]= (i)*u+j
		f_pi[c][2]= (i)*u+j+1
		f_pi[c][3]= (i-1)*u+j+1
	 	ENDIF
		ENDIF
	NEXT j
NEXT i&lt;/LI-CODE&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2025-11-19 004824.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/94506i6AE86C6F4730BD9D/image-size/large?v=v2&amp;amp;px=999" role="button" title="Screenshot 2025-11-19 004824.png" alt="Screenshot 2025-11-19 004824.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 19 Nov 2025 00:01:25 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/684081#M8117</guid>
      <dc:creator>rudl</dc:creator>
      <dc:date>2025-11-19T00:01:25Z</dc:date>
    </item>
    <item>
      <title>Re: Easy gdl mesh</title>
      <link>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/686500#M8169</link>
      <description>&lt;P&gt;*) Monkey read from text-file&lt;BR /&gt;*) Arbitary rotation around an axis rodriques transformation&lt;BR /&gt;*) Display Helper Axes&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2025-12-10 002916.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/95248i1978909F8A9F5B0C/image-size/large?v=v2&amp;amp;px=999" role="button" title="Screenshot 2025-12-10 002916.png" alt="Screenshot 2025-12-10 002916.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Dec 2025 23:30:50 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Easy-gdl-mesh/m-p/686500#M8169</guid>
      <dc:creator>rudl</dc:creator>
      <dc:date>2025-12-09T23:30:50Z</dc:date>
    </item>
  </channel>
</rss>

