aboutsummaryrefslogtreecommitdiff
path: root/Gem/examples/11.obj-exporter
diff options
context:
space:
mode:
authorTravis CI <zmoelnig@travis-ci.umlaeute.mur.at>2015-03-14 20:38:11 +0000
committerTravis CI <zmoelnig@travis-ci.umlaeute.mur.at>2015-03-14 20:38:11 +0000
commitfbd33b6f3211150cdb14da4afc37f99668a44a14 (patch)
treee1d57060d48024d4e6c86b4257ba016f7a41a325 /Gem/examples/11.obj-exporter
Gem osx/i386
built '' for osx/i386
Diffstat (limited to 'Gem/examples/11.obj-exporter')
-rw-r--r--Gem/examples/11.obj-exporter/obj_cube.pd152
-rw-r--r--Gem/examples/11.obj-exporter/obj_exporter-help.pd87
-rw-r--r--Gem/examples/11.obj-exporter/obj_exporter.pd96
-rw-r--r--Gem/examples/11.obj-exporter/obj_primTri.pd87
-rw-r--r--Gem/examples/11.obj-exporter/obj_rectangle.pd123
-rw-r--r--Gem/examples/11.obj-exporter/obj_square.pd108
6 files changed, 653 insertions, 0 deletions
diff --git a/Gem/examples/11.obj-exporter/obj_cube.pd b/Gem/examples/11.obj-exporter/obj_cube.pd
new file mode 100644
index 0000000..d874dc6
--- /dev/null
+++ b/Gem/examples/11.obj-exporter/obj_cube.pd
@@ -0,0 +1,152 @@
+#N canvas 511 83 666 689 12;
+#X obj 18 14 inlet;
+#X obj 18 35 t a a;
+#X obj 50 98 spigot 0;
+#X obj 50 169 GEMglPushMatrix;
+#X obj 50 573 GEMglPopMatrix;
+#X obj 50 211 gemlist_info;
+#X obj 103 77 r global_snap_obj;
+#X obj 560 718 s global_obj_creator;
+#X obj 50 317 gemlist_info;
+#X obj 342 25 loadbang;
+#X obj 342 46 \$1;
+#X obj 342 67 sel 0;
+#X msg 342 88 1;
+#X obj 342 110 f;
+#X text 374 108 or primitive apothema for matju;
+#X text 375 92 primitive size;
+#X obj 342 131 s \$0-size;
+#X obj 422 25 inlet;
+#X obj 18 77 outlet;
+#X obj 166 168 r \$0-size;
+#X obj 50 190 translateXYZ;
+#X obj 104 275 * -2;
+#X obj 50 296 translateXYZ;
+#X obj 104 253 r \$0-size;
+#X obj 50 424 gemlist_info;
+#X obj 77 382 * -2;
+#X obj 50 403 translateXYZ;
+#X obj 77 360 r \$0-size;
+#X obj 50 530 gemlist_info;
+#X obj 50 509 translateXYZ;
+#X obj 104 467 r \$0-size;
+#X obj 50 121 t a b;
+#X text 150 143 create new groupe;
+#X obj 104 488 * 2;
+#X obj 50 594 t b;
+#X msg 131 232 v \$1 \$2 \$3;
+#X msg 131 339 v \$1 \$2 \$3;
+#X msg 131 445 v \$1 \$2 \$3;
+#X msg 131 552 v \$1 \$2 \$3;
+#X obj 59 35 r \$0-size;
+#X obj 50 636 spigot 1;
+#X obj 123 690 spigot 0;
+#X obj 103 594 r global_obj_triangulate;
+#X obj 103 615 == 0;
+#X msg 82 142 g cube;
+#X obj 18 56 cube;
+#X obj 260 217 gemlist_info;
+#X obj 260 323 gemlist_info;
+#X obj 341 154 r \$0-size;
+#X obj 260 196 translateXYZ;
+#X obj 314 281 * -2;
+#X obj 260 302 translateXYZ;
+#X obj 314 259 r \$0-size;
+#X obj 260 430 gemlist_info;
+#X obj 287 388 * -2;
+#X obj 260 409 translateXYZ;
+#X obj 287 366 r \$0-size;
+#X obj 260 536 gemlist_info;
+#X obj 260 515 translateXYZ;
+#X obj 314 473 r \$0-size;
+#X obj 314 494 * 2;
+#X msg 341 238 v \$1 \$2 \$3;
+#X msg 341 345 v \$1 \$2 \$3;
+#X msg 341 451 v \$1 \$2 \$3;
+#X msg 341 558 v \$1 \$2 \$3;
+#X obj 341 175 * -2;
+#X obj 287 175 * 2;
+#X msg 50 657 f -5 -6 -7 -8 \, f -7 -3 -4 -8 \, f -5 -8 -4 -1 \, f
+-2 -3 -7 -6 \, f -1 -2 -6 -5 \, f -3 -2 -1 -4;
+#X msg 123 711 f -6 -7 -8 \, f -8 -5 -6 \, f -3 -4 -8 \, f -8 -7 -3
+\, f -8 -4 -1 \, f -1 -5 -8 \, f -3 -7 -6 \, f -6 -2 -3 \, f -2 -6
+-5 \, f -5 -1 -2 \, f -2 -1 -4 \, f -4 -3 -2;
+#X connect 0 0 1 0;
+#X connect 1 0 45 0;
+#X connect 1 1 2 0;
+#X connect 2 0 31 0;
+#X connect 3 0 20 0;
+#X connect 4 0 34 0;
+#X connect 5 0 22 0;
+#X connect 5 4 35 0;
+#X connect 6 0 2 1;
+#X connect 8 0 26 0;
+#X connect 8 4 36 0;
+#X connect 9 0 10 0;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 11 1 13 0;
+#X connect 12 0 13 0;
+#X connect 13 0 16 0;
+#X connect 17 0 13 0;
+#X connect 19 0 20 1;
+#X connect 19 0 20 2;
+#X connect 19 0 20 3;
+#X connect 20 0 5 0;
+#X connect 21 0 22 2;
+#X connect 22 0 8 0;
+#X connect 23 0 21 0;
+#X connect 24 0 29 0;
+#X connect 24 4 37 0;
+#X connect 25 0 26 1;
+#X connect 26 0 24 0;
+#X connect 27 0 25 0;
+#X connect 28 0 49 0;
+#X connect 28 4 38 0;
+#X connect 29 0 28 0;
+#X connect 30 0 33 0;
+#X connect 31 0 3 0;
+#X connect 31 1 44 0;
+#X connect 33 0 29 2;
+#X connect 34 0 40 0;
+#X connect 34 0 41 0;
+#X connect 35 0 7 0;
+#X connect 36 0 7 0;
+#X connect 37 0 7 0;
+#X connect 38 0 7 0;
+#X connect 39 0 45 1;
+#X connect 40 0 67 0;
+#X connect 41 0 68 0;
+#X connect 42 0 41 1;
+#X connect 42 0 43 0;
+#X connect 43 0 40 1;
+#X connect 44 0 7 0;
+#X connect 45 0 18 0;
+#X connect 46 0 51 0;
+#X connect 46 4 61 0;
+#X connect 47 0 55 0;
+#X connect 47 4 62 0;
+#X connect 48 0 65 0;
+#X connect 48 0 66 0;
+#X connect 49 0 46 0;
+#X connect 50 0 51 2;
+#X connect 51 0 47 0;
+#X connect 52 0 50 0;
+#X connect 53 0 58 0;
+#X connect 53 4 63 0;
+#X connect 54 0 55 1;
+#X connect 55 0 53 0;
+#X connect 56 0 54 0;
+#X connect 57 0 4 0;
+#X connect 57 4 64 0;
+#X connect 58 0 57 0;
+#X connect 59 0 60 0;
+#X connect 60 0 58 2;
+#X connect 61 0 7 0;
+#X connect 62 0 7 0;
+#X connect 63 0 7 0;
+#X connect 64 0 7 0;
+#X connect 65 0 49 3;
+#X connect 66 0 49 1;
+#X connect 67 0 7 0;
+#X connect 68 0 7 0;
diff --git a/Gem/examples/11.obj-exporter/obj_exporter-help.pd b/Gem/examples/11.obj-exporter/obj_exporter-help.pd
new file mode 100644
index 0000000..543a2b2
--- /dev/null
+++ b/Gem/examples/11.obj-exporter/obj_exporter-help.pd
@@ -0,0 +1,87 @@
+#N canvas 58 106 645 381 12;
+#X obj 35 90 gemhead;
+#X obj 35 175 translateXYZ 0 0 0.1;
+#X obj 35 153 rotateXYZ 1 5 9;
+#X obj 35 197 scaleXYZ 1 1.1 1;
+#X obj 35 219 obj_square 0.2;
+#X obj 242 205 obj_exporter;
+#X msg 242 95 save test1.obj;
+#N canvas 428 179 450 300 repeat 0;
+#X obj 36 22 inlet;
+#X obj 36 44 t a a;
+#X obj 111 170 gemlist;
+#X obj 36 227 outlet;
+#X obj 111 149 until;
+#X msg 111 128 30;
+#X obj 36 65 route gem_state;
+#X obj 36 86 route float;
+#X msg 36 107 gem_state \$1;
+#X connect 0 0 1 0;
+#X connect 1 0 6 0;
+#X connect 1 1 2 1;
+#X connect 2 0 3 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 7 1 5 0;
+#X connect 8 0 3 0;
+#X restore 35 112 pd repeat 30;
+#X msg 35 15 create \, 1;
+#X msg 46 36 destroy;
+#X floatatom 69 133 5 0 0 0 - - -;
+#X floatatom 109 133 5 0 0 0 - - -;
+#X floatatom 149 133 5 0 0 0 - - -;
+#X msg 256 142 goupe \$1;
+#X obj 256 123 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 276 122 grouping or not the various primitives;
+#X text 325 144 default = 0;
+#X msg 270 181 triangulate \$1;
+#X obj 270 164 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 379 182 triangulate quads (default = 0);
+#X obj 35 324 obj_primTri;
+#X msg 47 261 0.1 0.3 0.5;
+#X msg 59 282 0.2 0.4 0.5;
+#X obj 47 240 loadbang;
+#X obj 241 261 gemhead;
+#X obj 401 261 gemhead;
+#X obj 401 324 obj_rectangle 0.5 1;
+#X obj 401 282 translateXYZ -1 -1 2;
+#X obj 401 303 rotateXYZ 30 -20 10;
+#X msg 72 303 0.2 0.4 0.4;
+#X obj 241 324 obj_cube 0.5;
+#X obj 241 303 rotateXYZ 30 30 30;
+#X obj 241 282 translateXYZ 2 1 2;
+#X obj 35 59 gemwin;
+#X text 236 16 Here is a way to create obj file in Gem.;
+#X obj 307 64 model;
+#X connect 0 0 7 0;
+#X connect 1 0 3 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 4 0 20 0;
+#X connect 6 0 5 0;
+#X connect 7 0 2 0;
+#X connect 8 0 33 0;
+#X connect 9 0 33 0;
+#X connect 10 0 2 1;
+#X connect 11 0 2 2;
+#X connect 12 0 2 3;
+#X connect 13 0 5 0;
+#X connect 14 0 13 0;
+#X connect 17 0 5 0;
+#X connect 18 0 17 0;
+#X connect 21 0 20 1;
+#X connect 22 0 20 2;
+#X connect 23 0 21 0;
+#X connect 23 0 22 0;
+#X connect 23 0 29 0;
+#X connect 24 0 32 0;
+#X connect 25 0 27 0;
+#X connect 27 0 28 0;
+#X connect 28 0 26 0;
+#X connect 29 0 20 3;
+#X connect 31 0 30 0;
+#X connect 32 0 31 0;
diff --git a/Gem/examples/11.obj-exporter/obj_exporter.pd b/Gem/examples/11.obj-exporter/obj_exporter.pd
new file mode 100644
index 0000000..5a4b08f
--- /dev/null
+++ b/Gem/examples/11.obj-exporter/obj_exporter.pd
@@ -0,0 +1,96 @@
+#N canvas 166 167 375 605 12;
+#X obj 90 9 inlet;
+#X obj 51 108 gemhead;
+#X obj 51 150 delay 0;
+#X obj 83 234 s global_snap_obj;
+#X msg 113 74 1;
+#X obj 51 129 t b;
+#X obj 51 171 spigot 0;
+#X msg 83 213 0;
+#X obj 51 598 textfile;
+#X msg 146 74 rewind \, clear;
+#X msg 51 314 write \$1 cr;
+#X obj 66 338 r global_obj_creator;
+#X obj 66 359 route g v f;
+#X msg 90 401 add v \$1 \$2 \$3;
+#X obj 115 422 list prepend add f;
+#X obj 90 51 t a b b;
+#X obj 51 291 symbol;
+#X obj 115 443 list trim;
+#X obj 51 192 t b b;
+#X obj 90 269 symbol;
+#X obj 98 506 f;
+#X obj 121 529 + 1;
+#X msg 116 485 0;
+#X obj 66 556 pack s f;
+#X msg 66 577 add g \$1_\$2;
+#X obj 66 485 t a b;
+#X obj 148 51 == 0;
+#X obj 66 464 spigot 1;
+#N canvas 1 82 450 300 remove_cam_offset 0;
+#X obj 213 32 gemhead 1;
+#X obj 213 53 gemlist_info;
+#X obj 294 74 unpack f f f;
+#X obj 23 28 inlet;
+#X obj 23 244 outlet;
+#X obj 23 76 unpack f f f;
+#X obj 23 217 pack f f f;
+#X obj 23 167 -;
+#X obj 63 167 -;
+#X obj 104 167 -;
+#X connect 0 0 1 0;
+#X connect 1 4 2 0;
+#X connect 2 0 7 1;
+#X connect 2 1 8 1;
+#X connect 2 2 9 1;
+#X connect 3 0 5 0;
+#X connect 5 0 7 0;
+#X connect 5 1 8 0;
+#X connect 5 2 9 0;
+#X connect 6 0 4 0;
+#X connect 7 0 6 0;
+#X connect 8 0 6 1;
+#X connect 9 0 6 2;
+#X restore 90 380 pd remove_cam_offset;
+#X obj 90 30 route save groupe triangulate;
+#X obj 223 51 s global_obj_triangulate;
+#X connect 0 0 29 0;
+#X connect 1 0 5 0;
+#X connect 2 0 6 0;
+#X connect 4 0 6 1;
+#X connect 4 0 3 0;
+#X connect 5 0 2 0;
+#X connect 6 0 18 0;
+#X connect 7 0 3 0;
+#X connect 7 0 6 1;
+#X connect 9 0 8 0;
+#X connect 10 0 8 0;
+#X connect 11 0 12 0;
+#X connect 12 0 27 0;
+#X connect 12 1 28 0;
+#X connect 12 2 14 0;
+#X connect 13 0 8 0;
+#X connect 14 0 17 0;
+#X connect 15 0 19 0;
+#X connect 15 1 4 0;
+#X connect 15 2 9 0;
+#X connect 15 2 22 0;
+#X connect 16 0 10 0;
+#X connect 17 0 8 0;
+#X connect 18 0 16 0;
+#X connect 18 1 7 0;
+#X connect 19 0 16 1;
+#X connect 20 0 21 0;
+#X connect 20 0 23 1;
+#X connect 21 0 20 1;
+#X connect 22 0 20 1;
+#X connect 23 0 24 0;
+#X connect 24 0 8 0;
+#X connect 25 0 23 0;
+#X connect 25 1 20 0;
+#X connect 26 0 27 1;
+#X connect 27 0 25 0;
+#X connect 28 0 13 0;
+#X connect 29 0 15 0;
+#X connect 29 1 26 0;
+#X connect 29 2 30 0;
diff --git a/Gem/examples/11.obj-exporter/obj_primTri.pd b/Gem/examples/11.obj-exporter/obj_primTri.pd
new file mode 100644
index 0000000..2607197
--- /dev/null
+++ b/Gem/examples/11.obj-exporter/obj_primTri.pd
@@ -0,0 +1,87 @@
+#N canvas 418 99 489 673 12;
+#X obj 23 26 inlet;
+#X obj 137 19 inlet;
+#X obj 183 19 inlet;
+#X obj 233 19 inlet;
+#X obj 304 19 inlet;
+#X obj 350 19 inlet;
+#X obj 400 19 inlet;
+#X obj 23 47 t a a;
+#X obj 23 89 outlet;
+#X obj 23 68 primTri 0 0 0;
+#X obj 55 110 spigot 0;
+#X obj 55 173 GEMglPushMatrix;
+#X obj 55 542 GEMglPopMatrix;
+#X obj 55 236 gemlist_info;
+#X obj 108 89 r global_snap_obj;
+#X obj 178 602 s global_obj_creator;
+#X text 217 241 get it's position;
+#X text 227 260 send it to the global abstraction;
+#X obj 55 362 gemlist_info;
+#X obj 55 215 translateXYZ;
+#X obj 55 341 translateXYZ;
+#X obj 55 488 gemlist_info;
+#X obj 55 467 translateXYZ;
+#X obj 55 131 t a b;
+#X text 171 155 create new groupe;
+#X msg 136 257 v \$1 \$2 \$3;
+#X msg 136 383 v \$1 \$2 \$3;
+#X msg 136 509 v \$1 \$2 \$3;
+#X msg 87 152 g triangle;
+#X obj 55 278 GEMglPopMatrix;
+#X obj 55 299 GEMglPushMatrix;
+#X obj 55 404 GEMglPopMatrix;
+#X obj 55 425 GEMglPushMatrix;
+#X obj 82 194 unpack f f f;
+#X text 217 223 1st vertex of the triangle;
+#X obj 82 320 unpack f f f;
+#X text 220 340 2nd vertex of the triangle;
+#X obj 82 446 unpack f f f;
+#X text 152 465 3rd vertex of the triangle;
+#X msg 55 563 f -3 -2 -1;
+#X connect 0 0 7 0;
+#X connect 1 0 9 1;
+#X connect 1 0 33 0;
+#X connect 2 0 9 2;
+#X connect 2 0 35 0;
+#X connect 3 0 9 3;
+#X connect 3 0 37 0;
+#X connect 4 0 9 4;
+#X connect 5 0 9 5;
+#X connect 6 0 9 6;
+#X connect 7 0 9 0;
+#X connect 7 1 10 0;
+#X connect 9 0 8 0;
+#X connect 10 0 23 0;
+#X connect 11 0 19 0;
+#X connect 12 0 39 0;
+#X connect 13 0 29 0;
+#X connect 13 4 25 0;
+#X connect 14 0 10 1;
+#X connect 18 0 31 0;
+#X connect 18 4 26 0;
+#X connect 19 0 13 0;
+#X connect 20 0 18 0;
+#X connect 21 0 12 0;
+#X connect 21 4 27 0;
+#X connect 22 0 21 0;
+#X connect 23 0 11 0;
+#X connect 23 1 28 0;
+#X connect 25 0 15 0;
+#X connect 26 0 15 0;
+#X connect 27 0 15 0;
+#X connect 28 0 15 0;
+#X connect 29 0 30 0;
+#X connect 30 0 20 0;
+#X connect 31 0 32 0;
+#X connect 32 0 22 0;
+#X connect 33 0 19 1;
+#X connect 33 1 19 2;
+#X connect 33 2 19 3;
+#X connect 35 0 20 1;
+#X connect 35 1 20 2;
+#X connect 35 2 20 3;
+#X connect 37 0 22 1;
+#X connect 37 1 22 2;
+#X connect 37 2 22 3;
+#X connect 39 0 15 0;
diff --git a/Gem/examples/11.obj-exporter/obj_rectangle.pd b/Gem/examples/11.obj-exporter/obj_rectangle.pd
new file mode 100644
index 0000000..648eddf
--- /dev/null
+++ b/Gem/examples/11.obj-exporter/obj_rectangle.pd
@@ -0,0 +1,123 @@
+#N canvas 571 83 666 689 12;
+#X obj 18 24 inlet;
+#X obj 18 45 t a a;
+#X obj 50 108 spigot 0;
+#X obj 50 179 GEMglPushMatrix;
+#X obj 50 583 GEMglPopMatrix;
+#X obj 50 221 gemlist_info;
+#X obj 103 87 r global_snap_obj;
+#X obj 387 591 s global_obj_creator;
+#X text 212 203 1st vertex of the square;
+#X text 212 221 get it's position;
+#X text 252 241 send it to the global abstraction;
+#X obj 50 327 gemlist_info;
+#X text 152 326 get it's position;
+#X text 257 348 send it to the global abstraction;
+#X obj 342 18 loadbang;
+#X obj 342 39 \$1;
+#X obj 342 60 sel 0;
+#X msg 342 82 1;
+#X obj 342 104 f;
+#X obj 422 16 inlet;
+#X obj 18 87 outlet;
+#X obj 50 200 translateXYZ;
+#X obj 104 285 * -2;
+#X obj 50 306 translateXYZ;
+#X text 147 304 2nd vertex of the square;
+#X obj 50 434 gemlist_info;
+#X obj 77 392 * -2;
+#X obj 50 413 translateXYZ;
+#X obj 50 540 gemlist_info;
+#X obj 50 519 translateXYZ;
+#X obj 50 131 t a b;
+#X text 170 153 create new groupe;
+#X text 147 411 3rd vertex of the square;
+#X obj 104 498 * 2;
+#X obj 50 604 t b;
+#X msg 131 242 v \$1 \$2 \$3;
+#X msg 131 349 v \$1 \$2 \$3;
+#X msg 131 455 v \$1 \$2 \$3;
+#X msg 131 562 v \$1 \$2 \$3;
+#X obj 50 646 spigot 1;
+#X obj 160 646 spigot 0;
+#X obj 103 604 r global_obj_triangulate;
+#X obj 103 625 == 0;
+#X obj 342 125 s \$0-sizeX;
+#X obj 472 18 loadbang;
+#X obj 472 60 sel 0;
+#X msg 472 82 1;
+#X obj 472 104 f;
+#X obj 552 16 inlet;
+#X obj 472 39 \$2;
+#X obj 472 125 s \$0-sizeY;
+#X msg 82 152 g rectangle;
+#X obj 164 178 r \$0-sizeX;
+#X obj 240 178 r \$0-sizeY;
+#X obj 104 263 r \$0-sizeY;
+#X obj 77 370 r \$0-sizeX;
+#X obj 104 477 r \$0-sizeY;
+#X obj 18 66 rectangle;
+#X obj 59 45 r \$0-sizeX;
+#X obj 139 45 r \$0-sizeY;
+#X msg 50 667 f -1 -2 -3 -4;
+#X msg 160 667 f -2 -3 -4 \, f -4 -1 -2;
+#X connect 0 0 1 0;
+#X connect 1 0 57 0;
+#X connect 1 1 2 0;
+#X connect 2 0 30 0;
+#X connect 3 0 21 0;
+#X connect 4 0 34 0;
+#X connect 5 0 23 0;
+#X connect 5 4 35 0;
+#X connect 6 0 2 1;
+#X connect 11 0 27 0;
+#X connect 11 4 36 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 17 0;
+#X connect 16 1 18 0;
+#X connect 17 0 18 0;
+#X connect 18 0 43 0;
+#X connect 19 0 18 0;
+#X connect 21 0 5 0;
+#X connect 22 0 23 2;
+#X connect 23 0 11 0;
+#X connect 25 0 29 0;
+#X connect 25 4 37 0;
+#X connect 26 0 27 1;
+#X connect 27 0 25 0;
+#X connect 28 0 4 0;
+#X connect 28 4 38 0;
+#X connect 29 0 28 0;
+#X connect 30 0 3 0;
+#X connect 30 1 51 0;
+#X connect 33 0 29 2;
+#X connect 34 0 39 0;
+#X connect 34 0 40 0;
+#X connect 35 0 7 0;
+#X connect 36 0 7 0;
+#X connect 37 0 7 0;
+#X connect 38 0 7 0;
+#X connect 39 0 60 0;
+#X connect 40 0 61 0;
+#X connect 41 0 40 1;
+#X connect 41 0 42 0;
+#X connect 42 0 39 1;
+#X connect 44 0 49 0;
+#X connect 45 0 46 0;
+#X connect 45 1 47 0;
+#X connect 46 0 47 0;
+#X connect 47 0 50 0;
+#X connect 48 0 47 0;
+#X connect 49 0 45 0;
+#X connect 51 0 7 0;
+#X connect 52 0 21 1;
+#X connect 53 0 21 2;
+#X connect 54 0 22 0;
+#X connect 55 0 26 0;
+#X connect 56 0 33 0;
+#X connect 57 0 20 0;
+#X connect 58 0 57 1;
+#X connect 59 0 57 2;
+#X connect 60 0 7 0;
+#X connect 61 0 7 0;
diff --git a/Gem/examples/11.obj-exporter/obj_square.pd b/Gem/examples/11.obj-exporter/obj_square.pd
new file mode 100644
index 0000000..c9a18f0
--- /dev/null
+++ b/Gem/examples/11.obj-exporter/obj_square.pd
@@ -0,0 +1,108 @@
+#N canvas 573 83 666 689 12;
+#X obj 18 24 inlet;
+#X obj 18 45 t a a;
+#X obj 50 108 spigot 0;
+#X obj 50 179 GEMglPushMatrix;
+#X obj 50 583 GEMglPopMatrix;
+#X obj 50 221 gemlist_info;
+#X obj 103 87 r global_snap_obj;
+#X obj 387 591 s global_obj_creator;
+#X text 212 203 1st vertex of the square;
+#X text 212 221 get it's position;
+#X text 252 241 send it to the global abstraction;
+#X obj 50 327 gemlist_info;
+#X text 152 326 get it's position;
+#X text 257 348 send it to the global abstraction;
+#X obj 18 66 square;
+#X obj 342 18 loadbang;
+#X obj 342 39 \$1;
+#X obj 342 60 sel 0;
+#X msg 342 82 1;
+#X obj 342 104 f;
+#X text 365 123 or primitive apothema for matju;
+#X text 366 107 primitive size;
+#X obj 342 141 s \$0-size;
+#X obj 422 16 inlet;
+#X obj 18 87 outlet;
+#X obj 168 180 r \$0-size;
+#X obj 50 200 translateXYZ;
+#X obj 104 285 * -2;
+#X obj 50 306 translateXYZ;
+#X obj 104 263 r \$0-size;
+#X text 147 304 2nd vertex of the square;
+#X obj 50 434 gemlist_info;
+#X obj 77 392 * -2;
+#X obj 50 413 translateXYZ;
+#X obj 77 370 r \$0-size;
+#X obj 50 540 gemlist_info;
+#X obj 50 519 translateXYZ;
+#X obj 104 477 r \$0-size;
+#X obj 50 131 t a b;
+#X text 150 152 create new groupe;
+#X text 147 411 3rd vertex of the square;
+#X obj 104 498 * 2;
+#X obj 50 604 t b;
+#X msg 131 242 v \$1 \$2 \$3;
+#X msg 131 349 v \$1 \$2 \$3;
+#X msg 131 455 v \$1 \$2 \$3;
+#X msg 131 562 v \$1 \$2 \$3;
+#X obj 59 45 r \$0-size;
+#X msg 82 152 g square;
+#X obj 50 646 spigot 1;
+#X obj 160 646 spigot 0;
+#X obj 103 604 r global_obj_triangulate;
+#X obj 103 625 == 0;
+#X msg 50 667 f -1 -2 -3 -4;
+#X msg 160 667 f -2 -3 -4 \, f -4 -1 -2;
+#X connect 0 0 1 0;
+#X connect 1 0 14 0;
+#X connect 1 1 2 0;
+#X connect 2 0 38 0;
+#X connect 3 0 26 0;
+#X connect 4 0 42 0;
+#X connect 5 0 28 0;
+#X connect 5 4 43 0;
+#X connect 6 0 2 1;
+#X connect 11 0 33 0;
+#X connect 11 4 44 0;
+#X connect 14 0 24 0;
+#X connect 15 0 16 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 17 1 19 0;
+#X connect 18 0 19 0;
+#X connect 19 0 22 0;
+#X connect 23 0 19 0;
+#X connect 25 0 26 1;
+#X connect 25 0 26 2;
+#X connect 26 0 5 0;
+#X connect 27 0 28 2;
+#X connect 28 0 11 0;
+#X connect 29 0 27 0;
+#X connect 31 0 36 0;
+#X connect 31 4 45 0;
+#X connect 32 0 33 1;
+#X connect 33 0 31 0;
+#X connect 34 0 32 0;
+#X connect 35 0 4 0;
+#X connect 35 4 46 0;
+#X connect 36 0 35 0;
+#X connect 37 0 41 0;
+#X connect 38 0 3 0;
+#X connect 38 1 48 0;
+#X connect 41 0 36 2;
+#X connect 42 0 49 0;
+#X connect 42 0 50 0;
+#X connect 43 0 7 0;
+#X connect 44 0 7 0;
+#X connect 45 0 7 0;
+#X connect 46 0 7 0;
+#X connect 47 0 14 1;
+#X connect 48 0 7 0;
+#X connect 49 0 53 0;
+#X connect 50 0 54 0;
+#X connect 51 0 50 1;
+#X connect 51 0 52 0;
+#X connect 52 0 49 1;
+#X connect 53 0 7 0;
+#X connect 54 0 7 0;