Update for changes in Blender's API
[blender-addons.git] / archimesh / achm_door_maker.py
blob6d048bfdcf91a2389de2e5525683bd82dc0affb2
1 # ##### BEGIN GPL LICENSE BLOCK #####
3 # This program is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU General Public License
5 # as published by the Free Software Foundation; either version 2
6 # of the License, or (at your option) any later version.
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details.
13 # You should have received a copy of the GNU General Public License
14 # along with this program; if not, write to the Free Software Foundation,
15 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 # ##### END GPL LICENSE BLOCK #####
19 # <pep8 compliant>
21 # ----------------------------------------------------------
22 # Author: Antonio Vazquez (antonioya)
24 # ----------------------------------------------------------
25 # noinspection PyUnresolvedReferences
26 import bpy
27 import math
28 # noinspection PyUnresolvedReferences
29 from bpy.types import Operator, PropertyGroup, Object, Panel
30 from bpy.props import FloatProperty, BoolProperty, EnumProperty, FloatVectorProperty, CollectionProperty
31 from .achm_tools import *
34 # ------------------------------------------------------------------
35 # Define operator class to create object
36 # ------------------------------------------------------------------
37 class AchmDoor(Operator):
38 bl_idname = "mesh.archimesh_door"
39 bl_label = "Door"
40 bl_description = "Door"
41 bl_category = 'Archimesh'
42 bl_options = {'REGISTER', 'UNDO'}
44 # -----------------------------------------------------
45 # Draw (create UI interface)
46 # -----------------------------------------------------
47 # noinspection PyUnusedLocal
48 def draw(self, context):
49 layout = self.layout
50 row = layout.row()
51 row.label("Use Properties panel (N) to define parms", icon='INFO')
53 # -----------------------------------------------------
54 # Execute
55 # -----------------------------------------------------
56 def execute(self, context):
57 if bpy.context.mode == "OBJECT":
58 create_object(self, context)
59 return {'FINISHED'}
60 else:
61 self.report({'WARNING'}, "Archimesh: Option only valid in Object mode")
62 return {'CANCELLED'}
65 # ------------------------------------------------------------------------------
67 # Create main object. The other objects will be children of this.
69 # ------------------------------------------------------------------------------
70 # noinspection PyUnusedLocal
71 def create_object(self, context):
72 # deselect all objects
73 for o in bpy.data.objects:
74 o.select = False
76 # we create main object and mesh
77 mainmesh = bpy.data.meshes.new("DoorFrane")
78 mainobject = bpy.data.objects.new("DoorFrame", mainmesh)
79 mainobject.location = bpy.context.scene.cursor_location
80 bpy.context.scene.objects.link(mainobject)
81 mainobject.DoorObjectGenerator.add()
83 # we shape the main object and create other objects as children
84 shape_mesh(mainobject, mainmesh)
85 shape_children(mainobject)
87 # we select, and activate, main object
88 mainobject.select = True
89 bpy.context.scene.objects.active = mainobject
92 # ------------------------------------------------------------------------------
94 # Update main mesh and children objects
96 # ------------------------------------------------------------------------------
97 # noinspection PyUnusedLocal
98 def update_object(self, context):
99 # When we update, the active object is the main object
100 o = bpy.context.active_object
101 oldmesh = o.data
102 oldname = o.data.name
103 # Now we deselect that object to not delete it.
104 o.select = False
105 # and we create a new mesh
106 tmp_mesh = bpy.data.meshes.new("temp")
107 # deselect all objects
108 for obj in bpy.data.objects:
109 obj.select = False
111 # ---------------------------------
112 # Clear Parent objects (autohole)
113 # ---------------------------------
114 myparent = o.parent
115 if myparent is not None:
116 ploc = myparent.location
117 o.parent = None
118 o.location = ploc
119 # remove_children(parent)
120 for child in myparent.children:
121 # noinspection PyBroadException
122 try:
123 # clear child data
124 child.hide = False # must be visible to avoid bug
125 child.hide_render = False # must be visible to avoid bug
126 old = child.data
127 child.select = True
128 bpy.ops.object.delete()
129 bpy.data.meshes.remove(old)
130 except:
131 dummy = -1
133 myparent.select = True
134 bpy.ops.object.delete()
136 # -----------------------
137 # remove all children
138 # -----------------------
139 # first granchild
140 for child in o.children:
141 remove_children(child)
142 # now children of main object
143 remove_children(o)
145 # Finally we create all that again (except main object),
146 shape_mesh(o, tmp_mesh, True)
147 o.data = tmp_mesh
148 shape_children(o, True)
149 # Remove data (mesh of active object),
150 bpy.data.meshes.remove(oldmesh)
151 tmp_mesh.name = oldname
152 # and select, and activate, the main object
153 o.select = True
154 bpy.context.scene.objects.active = o
157 # ------------------------------------------------------------------------------
158 # Generate all objects
159 # For main, it only shapes mesh and creates modifiers (the modifier, only the first time).
160 # And, for the others, it creates object and mesh.
161 # ------------------------------------------------------------------------------
162 # noinspection PyUnusedLocal
163 def shape_mesh(mainobject, tmp_mesh, update=False):
164 mp = mainobject.DoorObjectGenerator[0]
165 # Create only mesh, because the object is created before
166 create_doorframe(mp, tmp_mesh)
168 remove_doubles(mainobject)
169 set_normals(mainobject)
171 # saves OpenGL data
172 mp.glpoint_a = (-mp.frame_width / 2, 0, 0)
173 mp.glpoint_b = (-mp.frame_width / 2, 0, mp.frame_height)
174 mp.glpoint_c = (mp.frame_width / 2, 0, mp.frame_height)
175 mp.glpoint_d = (-mp.frame_width / 2 + mp.frame_size, 0, mp.frame_height - mp.frame_size - 0.01)
176 mp.glpoint_e = (mp.frame_width / 2 - mp.frame_size, 0, mp.frame_height - mp.frame_size - 0.01)
178 # Lock
179 mainobject.lock_location = (True, True, True)
180 mainobject.lock_rotation = (True, True, True)
182 return
184 # ------------------------------------------------------------------------------
185 # Generate all Children
187 # ------------------------------------------------------------------------------
188 # noinspection PyUnusedLocal
191 def shape_children(mainobject, update=False):
192 mp = mainobject.DoorObjectGenerator[0]
194 if mp.openside != "3":
195 make_one_door(mp, mainobject, mp.frame_width, mp.openside)
196 else:
197 w = mp.frame_width
198 widthl = (w * mp.factor)
199 widthr = w - widthl
201 # left door
202 mydoor = make_one_door(mp, mainobject, widthl + mp.frame_size, "2")
203 mydoor.location.x = -mp.frame_width / 2 + mp.frame_size
204 # right door (pending width)
205 mydoor = make_one_door(mp, mainobject, widthr + mp.frame_size, "1")
206 mydoor.location.x = mp.frame_width / 2 - mp.frame_size
208 if mp.crt_mat and bpy.context.scene.render.engine == 'CYCLES':
209 mat = create_diffuse_material("Door_material", False, 0.8, 0.8, 0.8)
210 set_material(mainobject, mat)
212 # -------------------------
213 # Create empty and parent
214 # -------------------------
215 bpy.ops.object.empty_add(type='PLAIN_AXES')
216 myempty = bpy.data.objects[bpy.context.active_object.name]
217 myempty.location = mainobject.location
219 myempty.name = "Door_Group"
220 parentobject(myempty, mainobject)
221 mainobject["archimesh.hole_enable"] = True
222 # Rotate Empty
223 myempty.rotation_euler.z = math.radians(mp.r)
224 # Create control box to open wall holes
225 gap = 0.002
226 myctrl = create_control_box("CTRL_Hole",
227 mp.frame_width, mp.frame_thick * 3, mp.frame_height)
228 # Add custom property to detect Controller
229 myctrl["archimesh.ctrl_hole"] = True
231 set_normals(myctrl)
232 myctrl.parent = myempty
233 myctrl.location.x = 0
234 myctrl.location.y = -((mp.frame_thick * 3) / 2)
235 myctrl.location.z = -gap
236 myctrl.draw_type = 'BOUNDS'
237 myctrl.hide = False
238 myctrl.hide_render = True
239 if bpy.context.scene.render.engine == 'CYCLES':
240 myctrl.cycles_visibility.camera = False
241 myctrl.cycles_visibility.diffuse = False
242 myctrl.cycles_visibility.glossy = False
243 myctrl.cycles_visibility.transmission = False
244 myctrl.cycles_visibility.scatter = False
245 myctrl.cycles_visibility.shadow = False
247 # Create control box for baseboard
248 myctrlbase = create_control_box("CTRL_Baseboard",
249 mp.frame_width, 0.40, 0.40,
250 False)
251 # Add custom property to detect Controller
252 myctrlbase["archimesh.ctrl_base"] = True
254 set_normals(myctrlbase)
255 myctrlbase.parent = myempty
256 myctrlbase.location.x = 0
257 myctrlbase.location.y = -0.15 - (mp.frame_thick / 3)
258 myctrlbase.location.z = -0.10
259 myctrlbase.draw_type = 'BOUNDS'
260 myctrlbase.hide = False
261 myctrlbase.hide_render = True
262 if bpy.context.scene.render.engine == 'CYCLES':
263 myctrlbase.cycles_visibility.camera = False
264 myctrlbase.cycles_visibility.diffuse = False
265 myctrlbase.cycles_visibility.glossy = False
266 myctrlbase.cycles_visibility.transmission = False
267 myctrlbase.cycles_visibility.scatter = False
268 myctrlbase.cycles_visibility.shadow = False
270 mat = create_transparent_material("hidden_material", False)
271 set_material(myctrl, mat)
272 set_material(myctrlbase, mat)
274 # deactivate others
275 for o in bpy.data.objects:
276 if o.select is True and o.name != mainobject.name:
277 o.select = False
280 # ------------------------------------------------------------------
281 # Define property group class to create or modify
282 # ------------------------------------------------------------------
283 class ObjectProperties(PropertyGroup):
284 frame_width = FloatProperty(
285 name='Frame width',
286 min=0.25, max=10,
287 default=1, precision=2,
288 description='Doorframe width', update=update_object,
290 frame_height = FloatProperty(
291 name='Frame height',
292 min=0.25, max=10,
293 default=2.1, precision=2,
294 description='Doorframe height', update=update_object,
296 frame_thick = FloatProperty(
297 name='Frame thickness',
298 min=0.05, max=0.50,
299 default=0.08, precision=2,
300 description='Doorframe thickness', update=update_object,
302 frame_size = FloatProperty(
303 name='Frame size',
304 min=0.05, max=0.25,
305 default=0.08, precision=2,
306 description='Doorframe size', update=update_object,
308 crt_mat = BoolProperty(
309 name="Create default Cycles materials",
310 description="Create default materials for Cycles render",
311 default=True,
312 update=update_object,
314 factor = FloatProperty(
315 name='',
316 min=0.2, max=1,
317 default=0.5, precision=3, description='Door ratio',
318 update=update_object,
320 r = FloatProperty(
321 name='Rotation', min=0, max=360,
322 default=0, precision=1,
323 description='Door rotation', update=update_object,
326 openside = EnumProperty(
327 name="Open side",
328 items=(
329 ('1', "Right open", ""),
330 ('2', "Left open", ""),
331 ('3', "Both sides", ""),
333 description="Defines the direction for opening the door",
334 update=update_object,
337 model = EnumProperty(
338 name="Model",
339 items=(
340 ('1', "Model 01", ""),
341 ('2', "Model 02", ""),
342 ('3', "Model 03", ""),
343 ('4', "Model 04", ""),
344 ('5', "Model 05", "Glass"),
345 ('6', "Model 06", "Glass"),
347 description="Door model",
348 update=update_object,
351 handle = EnumProperty(
352 name="Handle",
353 items=(
354 ('1', "Handle 01", ""),
355 ('2', "Handle 02", ""),
356 ('3', "Handle 03", ""),
357 ('4', "Handle 04", ""),
358 ('0', "None", ""),
360 description="Handle model",
361 update=update_object,
364 # opengl internal data
365 glpoint_a = FloatVectorProperty(
366 name="glpointa",
367 description="Hidden property for opengl",
368 default=(0, 0, 0),
370 glpoint_b = FloatVectorProperty(
371 name="glpointb",
372 description="Hidden property for opengl",
373 default=(0, 0, 0),
375 glpoint_c = FloatVectorProperty(
376 name="glpointc",
377 description="Hidden property for opengl",
378 default=(0, 0, 0),
380 glpoint_d = FloatVectorProperty(
381 name="glpointc",
382 description="Hidden property for opengl",
383 default=(0, 0, 0),
385 glpoint_e = FloatVectorProperty(
386 name="glpointc",
387 description="Hidden property for opengl",
388 default=(0, 0, 0),
391 # Register
392 bpy.utils.register_class(ObjectProperties)
393 Object.DoorObjectGenerator = CollectionProperty(type=ObjectProperties)
396 # ------------------------------------------------------------------
397 # Define panel class to modify object
398 # ------------------------------------------------------------------
399 class AchmDoorObjectgeneratorpanel(Panel):
400 bl_idname = "OBJECT_PT_door_generator"
401 bl_label = "Door"
402 bl_space_type = 'VIEW_3D'
403 bl_region_type = 'UI'
404 bl_category = 'Archimesh'
406 # -----------------------------------------------------
407 # Verify if visible
408 # -----------------------------------------------------
409 @classmethod
410 def poll(cls, context):
411 o = context.object
412 if o is None:
413 return False
414 if 'DoorObjectGenerator' not in o:
415 return False
416 else:
417 return True
419 # -----------------------------------------------------
420 # Draw (create UI interface)
421 # -----------------------------------------------------
422 def draw(self, context):
423 o = context.object
424 # noinspection PyBroadException
425 try:
426 if 'DoorObjectGenerator' not in o:
427 return
428 except:
429 return
431 layout = self.layout
432 if bpy.context.mode == 'EDIT_MESH':
433 layout.label('Warning: Operator does not work in edit mode.', icon='ERROR')
434 else:
435 myobjdat = o.DoorObjectGenerator[0]
436 space = bpy.context.space_data
437 if not space.local_view:
438 # Imperial units warning
439 if bpy.context.scene.unit_settings.system == "IMPERIAL":
440 row = layout.row()
441 row.label("Warning: Imperial units not supported", icon='COLOR_RED')
442 box = layout.box()
443 row = box.row()
444 row.prop(myobjdat, 'frame_width')
445 row.prop(myobjdat, 'frame_height')
446 row = box.row()
447 row.prop(myobjdat, 'frame_thick')
448 row.prop(myobjdat, 'frame_size')
449 row = box.row()
450 row.prop(myobjdat, 'r')
452 box = layout.box()
453 row = box.row()
454 row.prop(myobjdat, 'openside')
455 if myobjdat.openside == "3":
456 row.prop(myobjdat, "factor")
458 layout.prop(myobjdat, 'model')
459 layout.prop(myobjdat, 'handle')
461 box = layout.box()
462 if not context.scene.render.engine == 'CYCLES':
463 box.enabled = False
464 box.prop(myobjdat, 'crt_mat')
465 else:
466 row = layout.row()
467 row.label("Warning: Operator does not work in local view mode", icon='ERROR')
470 # ------------------------------------------------------------------------------
471 # Create Doorframe
472 # ------------------------------------------------------------------------------
473 def create_doorframe(mp, mymesh):
474 tf = mp.frame_thick / 3
475 sf = mp.frame_size
476 wf = (mp.frame_width / 2) - sf
477 hf = mp.frame_height - sf
478 gap = 0.02
479 deep = mp.frame_thick * 0.50
481 verts = [(-wf - sf, -tf, 0),
482 (-wf - sf, tf * 2, 0),
483 (-wf, tf * 2, 0),
484 (-wf - sf, -tf, hf + sf),
485 (-wf - sf, tf * 2, hf + sf),
486 (wf + sf, tf * 2, hf + sf),
487 (wf + sf, -tf, hf + sf),
488 (wf, -tf, hf),
489 (-wf, tf * 2, hf),
490 (wf, -tf, 0),
491 (wf + sf, -tf, 0),
492 (wf + sf, tf * 2, 0),
493 (wf, -tf + deep, hf),
494 (-wf, -tf + deep, hf),
495 (-wf, -tf + deep, 0),
496 (-wf + gap, -tf + deep, hf),
497 (-wf + gap, -tf + deep, 0),
498 (-wf + gap, tf * 2, hf),
499 (-wf + gap, tf * 2, 0),
500 (wf, -tf + deep, 0),
501 (-wf, -tf, hf),
502 (-wf, -tf, 0),
503 (wf, tf * 2, hf),
504 (wf, tf * 2, 0),
505 (wf - gap, tf * 2, 0),
506 (wf - gap, -tf + deep, 0),
507 (wf - gap, tf * 2, hf),
508 (wf - gap, -tf + deep, hf - gap),
509 (wf - gap, -tf + deep, hf),
510 (-wf + gap, tf * 2, hf - gap),
511 (-wf + gap, -tf + deep, hf - gap),
512 (wf - gap, tf * 2, hf - gap)]
514 faces = [(3, 4, 1, 0), (7, 12, 19, 9), (4, 3, 6, 5), (10, 11, 5, 6), (13, 20, 21, 14), (17, 15, 16, 18),
515 (11, 23, 22, 5),
516 (20, 13, 12, 7), (20, 3, 0, 21), (9, 10, 6, 7), (13, 14, 16, 15), (4, 8, 2, 1), (29, 30, 27, 31),
517 (7, 6, 3, 20),
518 (8, 4, 5, 22), (14, 2, 18, 16), (17, 18, 2, 8), (28, 25, 19, 12), (28, 26, 24, 25), (25, 24, 23, 19),
519 (22, 23, 24, 26),
520 (29, 31, 26, 17), (15, 28, 27, 30), (8, 22, 26)]
522 mymesh.from_pydata(verts, [], faces)
523 mymesh.update(calc_edges=True)
525 return
528 # ------------------------------------------------------------------------------
529 # Make one door
531 # ------------------------------------------------------------------------------
532 def make_one_door(self, myframe, width, openside):
533 mydoor = create_door_data(self, myframe, width, openside)
534 handle1 = None
535 handle2 = None
536 if self.handle != "0":
537 handle1 = create_handle(self, mydoor, "Front", width, openside)
538 handle1.select = True
539 bpy.context.scene.objects.active = handle1
540 set_smooth(handle1)
541 set_modifier_subsurf(handle1)
542 handle2 = create_handle(self, mydoor, "Back", width, openside)
543 set_smooth(handle2)
544 set_modifier_subsurf(handle2)
545 # Create materials
546 if self.crt_mat and bpy.context.scene.render.engine == 'CYCLES':
547 # Door material
548 mat = create_diffuse_material("Door_material", False, 0.8, 0.8, 0.8)
549 set_material(mydoor, mat)
550 # Handle material
551 if self.handle != "0":
552 mat = create_glossy_material("Handle_material", False, 0.733, 0.779, 0.8)
553 set_material(handle1, mat)
554 set_material(handle2, mat)
555 if self.model == "5" or self.model == "6":
556 mat = create_glass_material("DoorGlass_material", False)
557 mydoor.data.materials.append(mat)
558 if self.model == "5":
559 select_faces(mydoor, 20, True)
560 select_faces(mydoor, 41, False)
561 if self.model == "6":
562 select_faces(mydoor, 37, True)
563 select_faces(mydoor, 76, False)
564 set_material_faces(mydoor, 1)
566 set_normals(mydoor)
568 return mydoor
571 # ------------------------------------------------------------------------------
572 # Create Door
573 # All custom values are passed using self container (self.myvariable)
574 # ------------------------------------------------------------------------------
575 def create_door_data(self, myframe, width, openside):
576 # Retry mesh data
577 if self.model == "1":
578 mydata = door_model_01(self.frame_size, width, self.frame_height, self.frame_thick, openside)
579 elif self.model == "2":
580 mydata = door_model_02(self.frame_size, width, self.frame_height, self.frame_thick, openside)
581 elif self.model == "3":
582 mydata = door_model_03(self.frame_size, width, self.frame_height, self.frame_thick, openside)
583 elif self.model == "4":
584 mydata = door_model_04(self.frame_size, width, self.frame_height, self.frame_thick, openside)
585 elif self.model == "5":
586 mydata = door_model_04(self.frame_size, width, self.frame_height, self.frame_thick,
587 openside) # uses the same mesh
588 elif self.model == "6":
589 mydata = door_model_02(self.frame_size, width, self.frame_height, self.frame_thick,
590 openside) # uses the same mesh
591 else:
592 mydata = door_model_01(self.frame_size, width, self.frame_height, self.frame_thick, openside) # default model
594 # move data
595 verts = mydata[0]
596 faces = mydata[1]
597 wf = mydata[2]
598 deep = mydata[3]
599 side = mydata[4]
601 mymesh = bpy.data.meshes.new("Door")
602 myobject = bpy.data.objects.new("Door", mymesh)
604 myobject.location = bpy.context.scene.cursor_location
605 bpy.context.scene.objects.link(myobject)
607 mymesh.from_pydata(verts, [], faces)
608 mymesh.update(calc_edges=True)
610 # Translate to doorframe and parent
611 myobject.parent = myframe
612 myobject.lock_rotation = (True, True, False)
613 myobject.lock_location = (True, True, True)
615 myobject.location.x = ((wf / 2) * side)
616 myobject.location.y = -(deep * 0.65)
617 myobject.location.z = self.frame_height / 2
619 return myobject
622 # ------------------------------------------------------------------------------
623 # Create Handles
624 # All custom values are passed using self container (self.myvariable)
625 # ------------------------------------------------------------------------------
626 def create_handle(self, mydoor, pos, frame_width, openside):
627 # Retry mesh data
628 if self.handle == "1":
629 mydata = handle_model_01()
630 elif self.handle == "2":
631 mydata = handle_model_02()
632 elif self.handle == "3":
633 mydata = handle_model_03()
634 elif self.handle == "4":
635 mydata = handle_model_04()
636 else:
637 mydata = handle_model_01() # default model
639 # move data
640 verts = mydata[0]
641 faces = mydata[1]
643 gap = 0.002
644 sf = self.frame_size
645 wf = frame_width - (sf * 2) - (gap * 2)
646 deep = (self.frame_thick * 0.50) - (gap * 3)
647 # Open to right or left
648 if openside == "1":
649 side = -1
650 else:
651 side = 1
653 mymesh = bpy.data.meshes.new("Handle_" + pos)
654 myobject = bpy.data.objects.new("Handle_" + pos, mymesh)
656 myobject.location = bpy.context.scene.cursor_location
657 bpy.context.scene.objects.link(myobject)
659 mymesh.from_pydata(verts, [], faces)
660 mymesh.update(calc_edges=True)
661 # Rotate if pos is front
662 xrot = 0.0
663 yrot = 0.0
664 if self.handle == "1":
665 if openside != "1":
666 yrot = math.pi
667 else:
668 yrot = 0.0
670 if pos == "Front":
671 xrot = math.pi
673 myobject.rotation_euler = (xrot, yrot, 0.0) # radians PI=180
675 # Translate to door and parent (depend of model of door)
676 if self.model == "1":
677 myobject.location.x = (wf * side) + (0.072 * side * -1)
678 if pos == "Front":
679 myobject.location.y = deep - 0.005
680 else:
681 myobject.location.y = 0.005
683 if self.model == "2" or self.model == "6":
684 myobject.location.x = (wf * side) + (0.060 * side * -1)
685 if pos == "Front":
686 myobject.location.y = deep - 0.011
687 else:
688 myobject.location.y = 0.00665
690 if self.model == "3":
691 myobject.location.x = (wf * side) + (0.060 * side * -1)
692 if pos == "Front":
693 myobject.location.y = deep - 0.011
694 else:
695 myobject.location.y = 0.00665
697 if self.model == "4" or self.model == "5":
698 myobject.location.x = (wf * side) + (0.060 * side * -1)
699 if pos == "Front":
700 myobject.location.y = deep - 0.011
701 else:
702 myobject.location.y = 0.00665
704 myobject.location.z = 0
705 myobject.parent = mydoor
706 myobject.lock_rotation = (True, False, True)
708 return myobject
711 # ----------------------------------------------
712 # Door model 01
713 # ----------------------------------------------
714 def door_model_01(frame_size, frame_width, frame_height, frame_thick, openside):
715 # ------------------------------------
716 # Mesh data
717 # ------------------------------------
718 gap = 0.002
719 sf = frame_size
720 wf = frame_width - (sf * 2) - (gap * 2)
721 hf = (frame_height / 2) - (gap * 2)
722 deep = (frame_thick * 0.50) - (gap * 3)
723 # Open to right or left
724 if openside == "1":
725 side = 1
726 minx = wf * -1
727 maxx = 0.0
728 else:
729 side = -1
730 minx = 0.0
731 maxx = wf
733 miny = 0.0 # locked
734 maxy = deep
735 minz = -hf
736 maxz = hf - sf - gap
738 # Vertex
739 myvertex = [(minx, miny, minz),
740 (minx, maxy, minz),
741 (maxx, maxy, minz),
742 (maxx, miny, minz),
743 (minx, miny, maxz),
744 (minx, maxy, maxz),
745 (maxx, maxy, maxz),
746 (maxx, miny, maxz)]
748 # Faces
749 myfaces = [(4, 5, 1, 0), (5, 6, 2, 1), (6, 7, 3, 2), (7, 4, 0, 3), (0, 1, 2, 3),
750 (7, 6, 5, 4)]
752 return myvertex, myfaces, wf, deep, side
755 # ----------------------------------------------
756 # Door model 02
757 # ----------------------------------------------
758 def door_model_02(frame_size, frame_width, frame_height, frame_thick, openside):
759 gap = 0.002
760 sf = frame_size
761 wf = frame_width - (sf * 2) - (gap * 2)
762 hf = (frame_height / 2) - (gap * 2)
763 deep = (frame_thick * 0.50)
765 # ------------------------------------
766 # Mesh data
767 # ------------------------------------
768 # Open to right or left
769 if openside == "1":
770 side = 1
771 minx = wf * -1
772 maxx = 0.0
773 else:
774 side = -1
775 minx = 0.0
776 maxx = wf
778 maxy = deep
779 minz = -hf
780 maxz = hf - sf - gap
782 # Vertex
783 myvertex = [(minx, -1.57160684466362e-08, minz + 2.384185791015625e-06),
784 (maxx, -1.5599653124809265e-08, minz),
785 (minx, -1.5599653124809265e-08, maxz),
786 (minx, -1.5599653124809265e-08, maxz - 0.12999999523162842),
787 (minx, -1.57160684466362e-08, minz + 0.2500007152557373),
788 (maxx, -1.5599653124809265e-08, minz + 0.25000011920928955),
789 (maxx, -1.5599653124809265e-08, maxz),
790 (maxx, -1.5599653124809265e-08, maxz - 0.12999999523162842),
791 (maxx - 0.11609852313995361, -1.5599653124809265e-08, maxz),
792 (maxx - 0.12357193231582642, -1.5599653124809265e-08, minz),
793 (maxx - 0.11658430099487305, -1.5599653124809265e-08, maxz - 0.12999999523162842),
794 (maxx - 0.12263774871826172, -1.5599653124809265e-08, minz + 0.25000011920928955),
795 (minx, -1.57160684466362e-08, minz + 0.8700000941753387),
796 (maxx, -1.5599653124809265e-08, minz + 0.8700000941753387),
797 (maxx - 0.12076938152313232, -1.5599653124809265e-08, minz + 0.7500001192092896),
798 (minx + 0.11735659837722778, -1.57160684466362e-08, minz + 0.25000011920928955),
799 (minx + 0.12341010570526123, -1.5599653124809265e-08, maxz - 0.12999999523162842),
800 (minx + 0.11642247438430786, -1.57160684466362e-08, minz),
801 (minx + 0.11967337131500244, -1.57160684466362e-08, minz + 0.8700000941753387),
802 (minx, -1.57160684466362e-08, minz + 0.7500001192092896),
803 (maxx - 0.12032097578048706, -1.5599653124809265e-08, minz + 0.8700000941753387),
804 (minx + 0.12389582395553589, -1.5599653124809265e-08, maxz),
805 (maxx, -1.5599653124809265e-08, minz + 0.7500001192092896),
806 (minx + 0.11922496557235718, -1.57160684466362e-08, minz + 0.7500001192092896),
807 (minx + 0.11922496557235718, -0.010000014677643776, minz + 0.7500001192092896),
808 (minx + 0.12341010570526123, -0.010000014677643776, maxz - 0.12999999523162842),
809 (maxx - 0.12032097578048706, -0.010000014677643776, minz + 0.8700000941753387),
810 (minx + 0.11735659837722778, -0.010000014677643776, minz + 0.25000011920928955),
811 (maxx - 0.11658430099487305, -0.010000014677643776, maxz - 0.12999999523162842),
812 (maxx - 0.12263774871826172, -0.010000014677643776, minz + 0.25000011920928955),
813 (minx + 0.11967337131500244, -0.010000014677643776, minz + 0.8700000941753387),
814 (maxx - 0.12076938152313232, -0.010000014677643776, minz + 0.7500001192092896),
815 (minx + 0.13388586044311523, -0.010000014677643776, minz + 0.7375001013278961),
816 (minx + 0.1321108341217041, -0.010000014677643776, minz + 0.2625001072883606),
817 (maxx - 0.1372986137866974, -0.010000014677643776, minz + 0.2625001072883606),
818 (maxx - 0.13552364706993103, -0.010000014677643776, minz + 0.7375001013278961),
819 (minx + 0.13802427053451538, -0.010000014677643776, maxz - 0.14747536182403564),
820 (maxx - 0.13493508100509644, -0.010000014677643776, minz + 0.8866067305207253),
821 (maxx - 0.13138526678085327, -0.010000014677643776, maxz - 0.14747536182403564),
822 (minx + 0.13447439670562744, -0.010000014677643776, minz + 0.8866067305207253),
823 (minx + 0.13388586044311523, -0.008776669390499592, minz + 0.7375001013278961),
824 (minx + 0.1321108341217041, -0.008776669390499592, minz + 0.2625001072883606),
825 (maxx - 0.1372986137866974, -0.008776669390499592, minz + 0.2625001072883606),
826 (maxx - 0.13552364706993103, -0.008776669390499592, minz + 0.7375001013278961),
827 (minx + 0.13802427053451538, -0.008776669390499592, maxz - 0.14747536182403564),
828 (maxx - 0.13493508100509644, -0.008776669390499592, minz + 0.8866067305207253),
829 (maxx - 0.13138526678085327, -0.008776669390499592, maxz - 0.14747536182403564),
830 (minx + 0.13447439670562744, -0.008776669390499592, minz + 0.8866067305207253),
831 (minx, maxy - 0.009999999776482582, minz + 2.384185791015625e-06),
832 (maxx, maxy - 0.009999999776482582, minz),
833 (minx, maxy - 0.009999999776482582, maxz),
834 (minx, maxy - 0.009999999776482582, maxz - 0.12999999523162842),
835 (minx, maxy - 0.009999999776482582, minz + 0.2500007152557373),
836 (maxx, maxy - 0.009999999776482582, minz + 0.25000011920928955),
837 (maxx, maxy - 0.009999999776482582, maxz),
838 (maxx, maxy - 0.009999999776482582, maxz - 0.12999999523162842),
839 (maxx - 0.11609852313995361, maxy - 0.009999999776482582, maxz),
840 (maxx - 0.12357193231582642, maxy - 0.009999999776482582, minz),
841 (maxx - 0.11658430099487305, maxy - 0.009999999776482582, maxz - 0.12999999523162842),
842 (maxx - 0.12263774871826172, maxy - 0.009999999776482582, minz + 0.25000011920928955),
843 (minx, maxy - 0.009999999776482582, minz + 0.8700000941753387),
844 (maxx, maxy - 0.009999999776482582, minz + 0.8700000941753387),
845 (maxx - 0.12076938152313232, maxy - 0.009999999776482582, minz + 0.7500001192092896),
846 (minx + 0.11735659837722778, maxy - 0.009999999776482582, minz + 0.25000011920928955),
847 (minx + 0.12341010570526123, maxy - 0.009999999776482582, maxz - 0.12999999523162842),
848 (minx + 0.11642247438430786, maxy - 0.009999999776482582, minz),
849 (minx + 0.11967337131500244, maxy - 0.009999999776482582, minz + 0.8700000941753387),
850 (minx, maxy - 0.009999999776482582, minz + 0.7500001192092896),
851 (maxx - 0.12032097578048706, maxy - 0.009999999776482582, minz + 0.8700000941753387),
852 (minx + 0.12389582395553589, maxy - 0.009999999776482582, maxz),
853 (maxx, maxy - 0.009999999776482582, minz + 0.7500001192092896),
854 (minx + 0.11922496557235718, maxy - 0.009999999776482582, minz + 0.7500001192092896),
855 (minx + 0.11922496557235718, maxy, minz + 0.7500001192092896),
856 (minx + 0.12341010570526123, maxy, maxz - 0.12999999523162842),
857 (maxx - 0.12032097578048706, maxy, minz + 0.8700000941753387),
858 (minx + 0.11735659837722778, maxy, minz + 0.25000011920928955),
859 (maxx - 0.11658430099487305, maxy, maxz - 0.12999999523162842),
860 (maxx - 0.12263774871826172, maxy, minz + 0.25000011920928955),
861 (minx + 0.11967337131500244, maxy, minz + 0.8700000941753387),
862 (maxx - 0.12076938152313232, maxy, minz + 0.7500001192092896),
863 (minx + 0.13388586044311523, maxy, minz + 0.7375001013278961),
864 (minx + 0.1321108341217041, maxy, minz + 0.2625001072883606),
865 (maxx - 0.1372986137866974, maxy, minz + 0.2625001072883606),
866 (maxx - 0.13552364706993103, maxy, minz + 0.7375001013278961),
867 (minx + 0.13802427053451538, maxy, maxz - 0.14747536182403564),
868 (maxx - 0.13493508100509644, maxy, minz + 0.8866067305207253),
869 (maxx - 0.13138526678085327, maxy, maxz - 0.14747536182403564),
870 (minx + 0.13447439670562744, maxy, minz + 0.8866067305207253),
871 (minx + 0.13388586044311523, maxy - 0.0012233443558216095, minz + 0.7375001013278961),
872 (minx + 0.1321108341217041, maxy - 0.0012233443558216095, minz + 0.2625001072883606),
873 (maxx - 0.1372986137866974, maxy - 0.0012233443558216095, minz + 0.2625001072883606),
874 (maxx - 0.13552364706993103, maxy - 0.0012233443558216095, minz + 0.7375001013278961),
875 (minx + 0.13802427053451538, maxy - 0.0012233443558216095, maxz - 0.14747536182403564),
876 (maxx - 0.13493508100509644, maxy - 0.0012233443558216095, minz + 0.8866067305207253),
877 (maxx - 0.13138526678085327, maxy - 0.0012233443558216095, maxz - 0.14747536182403564),
878 (minx + 0.13447439670562744, maxy - 0.0012233443558216095, minz + 0.8866067305207253)]
880 # Faces
881 myfaces = [(15, 4, 0, 17), (21, 2, 3, 16), (23, 19, 4, 15), (6, 8, 10, 7), (8, 21, 16, 10),
882 (16, 3, 12, 18), (11, 15, 17, 9), (20, 18, 23, 14), (18, 12, 19, 23), (5, 11, 9, 1),
883 (22, 14, 11, 5), (7, 10, 20, 13), (13, 20, 14, 22), (20, 10, 28, 26), (10, 16, 25, 28),
884 (16, 18, 30, 25), (18, 20, 26, 30), (15, 11, 29, 27), (14, 23, 24, 31), (23, 15, 27, 24),
885 (11, 14, 31, 29), (31, 24, 32, 35), (24, 27, 33, 32), (27, 29, 34, 33), (29, 31, 35, 34),
886 (26, 28, 38, 37), (30, 26, 37, 39), (28, 25, 36, 38), (25, 30, 39, 36), (33, 34, 42, 41),
887 (36, 39, 47, 44), (34, 35, 43, 42), (37, 38, 46, 45), (32, 33, 41, 40), (38, 36, 44, 46),
888 (35, 32, 40, 43), (39, 37, 45, 47), (18, 20, 10, 16), (14, 23, 15, 11), (63, 52, 48, 65),
889 (69, 50, 51, 64), (71, 67, 52, 63), (54, 56, 58, 55), (56, 69, 64, 58), (64, 51, 60, 66),
890 (59, 63, 65, 57), (68, 66, 71, 62), (66, 60, 67, 71), (53, 59, 57, 49), (70, 62, 59, 53),
891 (55, 58, 68, 61), (61, 68, 62, 70), (68, 58, 76, 74), (58, 64, 73, 76), (64, 66, 78, 73),
892 (66, 68, 74, 78), (63, 59, 77, 75), (62, 71, 72, 79), (71, 63, 75, 72), (59, 62, 79, 77),
893 (79, 72, 80, 83), (72, 75, 81, 80), (75, 77, 82, 81), (77, 79, 83, 82), (74, 76, 86, 85),
894 (78, 74, 85, 87), (76, 73, 84, 86), (73, 78, 87, 84), (81, 82, 90, 89), (84, 87, 95, 92),
895 (82, 83, 91, 90), (85, 86, 94, 93), (80, 81, 89, 88), (86, 84, 92, 94), (83, 80, 88, 91),
896 (87, 85, 93, 95), (66, 68, 58, 64), (62, 71, 63, 59), (50, 2, 21, 69), (8, 56, 69, 21),
897 (6, 54, 56, 8), (54, 6, 7, 55), (55, 7, 13, 61), (61, 13, 22, 70), (5, 53, 70, 22),
898 (1, 49, 53, 5), (49, 1, 9, 57), (57, 9, 17, 65), (0, 48, 65, 17), (48, 0, 4, 52),
899 (52, 4, 19, 67), (12, 60, 67, 19), (3, 51, 60, 12), (2, 50, 51, 3)]
901 return myvertex, myfaces, wf, deep, side
904 # ----------------------------------------------
905 # Door model 03
906 # ----------------------------------------------
907 def door_model_03(frame_size, frame_width, frame_height, frame_thick, openside):
908 gap = 0.002
909 sf = frame_size
910 wf = frame_width - (sf * 2) - (gap * 2)
911 hf = (frame_height / 2) - (gap * 2)
912 deep = (frame_thick * 0.50)
914 # ------------------------------------
915 # Mesh data
916 # ------------------------------------
917 # Open to right or left
918 if openside == "1":
919 side = 1
920 minx = wf * -1
921 maxx = 0.0
922 else:
923 side = -1
924 minx = 0.0
925 maxx = wf
927 miny = 0.0 # Locked
929 maxy = deep
930 minz = -hf
931 maxz = hf - sf - gap
933 # Vertex
934 myvertex = [(minx, -1.5599653124809265e-08, maxz),
935 (maxx, -1.5599653124809265e-08, maxz),
936 (minx, maxy, maxz),
937 (maxx, maxy, maxz),
938 (maxx - 0.10429960489273071, -1.5832483768463135e-08, maxz),
939 (minx + 0.10429966449737549, -1.5832483768463135e-08, maxz),
940 (minx + 0.10429966449737549, maxy, maxz),
941 (minx, -1.5628756955266e-08, maxz - 0.5012519359588623),
942 (maxx, -1.5599653124809265e-08, maxz - 0.5012525320053101),
943 (minx, maxy, maxz - 0.5012519359588623),
944 (maxx, maxy, maxz - 0.5012525320053101),
945 (maxx - 0.10429960489273071, -1.5832483768463135e-08, maxz - 0.501252293586731),
946 (minx + 0.10429966449737549, -1.5832483768463135e-08, maxz - 0.5012521147727966),
947 (minx + 0.10429966449737549, maxy, maxz - 0.5012521147727966),
948 (maxx - 0.10429960489273071, maxy, maxz - 0.501252293586731),
949 (minx + 0.11909735202789307, -1.5832483768463135e-08, maxz),
950 (maxx - 0.11909729242324829, -1.5832483768463135e-08, maxz),
951 (minx + 0.11909735202789307, maxy, maxz),
952 (minx + 0.11909735202789307, -1.5832483768463135e-08, maxz - 0.5012521743774414),
953 (maxx - 0.11909729242324829, -1.5832483768463135e-08, maxz - 0.5012522339820862),
954 (minx, -1.5629622041046787e-08, maxz - 0.516154021024704),
955 (maxx, -1.5599653124809265e-08, maxz - 0.5161546468734741),
956 (minx, maxy, maxz - 0.516154021024704),
957 (maxx, maxy, maxz - 0.5161546468734741),
958 (maxx - 0.10429960489273071, -1.5832483768463135e-08, maxz - 0.516154408454895),
959 (minx + 0.10429966449737549, -1.5832483768463135e-08, maxz - 0.5161541998386383),
960 (maxx - 0.10429960489273071, maxy, maxz - 0.516154408454895),
961 (maxx - 0.11909729242324829, -1.5832483768463135e-08, maxz - 0.5161543190479279),
962 (minx + 0.11909735202789307, -1.5832483768463135e-08, maxz - 0.5161542594432831),
963 (minx + 0.11909735202789307, maxy, maxz - 0.5161542594432831),
964 (maxx - 0.10429960489273071, miny + 0.009999999776482582, maxz),
965 (minx + 0.10429966449737549, miny + 0.009999999776482582, maxz),
966 (maxx - 0.10429960489273071, miny + 0.009999999776482582, maxz - 0.501252293586731),
967 (minx + 0.10429966449737549, miny + 0.009999999776482582, maxz - 0.5012521147727966),
968 (minx + 0.11909735202789307, miny + 0.009999999776482582, maxz),
969 (maxx - 0.11909729242324829, miny + 0.009999999776482582, maxz),
970 (minx + 0.11909735202789307, miny + 0.009999999776482582, maxz - 0.5012521743774414),
971 (maxx - 0.11909729242324829, miny + 0.009999999776482582, maxz - 0.5012522339820862),
972 (maxx - 0.10429960489273071, miny + 0.009999999776482582, maxz - 0.516154408454895),
973 (minx + 0.10429966449737549, miny + 0.009999999776482582, maxz - 0.5161541998386383),
974 (maxx - 0.11909729242324829, miny + 0.009999999776482582, maxz - 0.5161543190479279),
975 (minx + 0.11909735202789307, miny + 0.009999999776482582, maxz - 0.5161542594432831),
976 (maxx - 0.11909729242324829, -1.5832483768463135e-08, maxz - 0.992994874715805),
977 (minx + 0.11909735202789307, -1.5832483768463135e-08, maxz - 0.9929947257041931),
978 (minx + 0.11909735202789307, maxy, maxz - 0.9929947257041931),
979 (maxx - 0.11909738183021545, maxy, maxz - 0.992994874715805),
980 (minx, -1.565730833874568e-08, maxz - 0.9929942488670349),
981 (maxx, -1.5599653124809265e-08, maxz - 0.9929954260587692),
982 (minx, maxy, maxz - 0.9929942488670349),
983 (maxx, maxy, maxz - 0.9929954260587692),
984 (maxx - 0.10429960489273071, -1.5832483768463135e-08, maxz - 0.9929950088262558),
985 (minx + 0.10429966449737549, -1.5832483768463135e-08, maxz - 0.9929945915937424),
986 (maxx - 0.10429960489273071, maxy, maxz - 0.9929950088262558),
987 (maxx - 0.10429960489273071, miny + 0.009999999776482582, maxz - 0.9929950088262558),
988 (minx + 0.10429966449737549, miny + 0.009999999776482582, maxz - 0.9929945915937424),
989 (maxx - 0.11909729242324829, miny + 0.009999999776482582, maxz - 0.992994874715805),
990 (minx + 0.11909735202789307, miny + 0.009999999776482582, maxz - 0.9929947257041931),
991 (maxx - 0.11909729242324829, maxy - 0.0004077646881341934, maxz - 0.992994874715805),
992 (maxx - 0.10429960489273071, maxy - 0.0004077646881341934, maxz - 0.9929950088262558),
993 (maxx - 0.10429960489273071, maxy, maxz),
994 (maxx - 0.11909729242324829, maxy, maxz),
995 (maxx - 0.11909738183021545, maxy, maxz - 0.5012522339820862),
996 (minx + 0.11909735202789307, maxy, maxz - 0.5012521743774414),
997 (minx + 0.10429966449737549, maxy, maxz - 0.5161541998386383),
998 (maxx - 0.11909738183021545, maxy, maxz - 0.5161543190479279),
999 (minx + 0.10429966449737549, maxy, maxz - 0.9929945915937424),
1000 (maxx - 0.10429960489273071, maxy - 0.008999999612569809, maxz),
1001 (minx + 0.10429966449737549, maxy - 0.008999999612569809, maxz),
1002 (minx + 0.10429966449737549, maxy - 0.008999999612569809, maxz - 0.5012521147727966),
1003 (maxx - 0.10429960489273071, maxy - 0.008999999612569809, maxz - 0.501252293586731),
1004 (minx + 0.11909735202789307, maxy - 0.008999999612569809, maxz),
1005 (maxx - 0.11909729242324829, maxy - 0.008999999612569809, maxz),
1006 (maxx - 0.11909738183021545, maxy - 0.008999999612569809, maxz - 0.5012522339820862),
1007 (minx + 0.11909735202789307, maxy - 0.008999999612569809, maxz - 0.5012521743774414),
1008 (minx + 0.10429966449737549, maxy - 0.008999999612569809, maxz - 0.5161541998386383),
1009 (maxx - 0.10429960489273071, maxy - 0.008999999612569809, maxz - 0.516154408454895),
1010 (minx + 0.11909735202789307, maxy - 0.008999999612569809, maxz - 0.5161542594432831),
1011 (maxx - 0.11909738183021545, maxy - 0.008999999612569809, maxz - 0.5161543190479279),
1012 (minx + 0.11909735202789307, maxy - 0.008999999612569809, maxz - 0.9929947257041931),
1013 (maxx - 0.11909738183021545, maxy - 0.008999999612569809, maxz - 0.992994874715805),
1014 (minx + 0.10429966449737549, maxy - 0.008999999612569809, maxz - 0.9929945915937424),
1015 (maxx - 0.10429960489273071, maxy - 0.008999999612569809, maxz - 0.9929950088262558),
1016 (minx, -1.5599653124809265e-08, minz),
1017 (maxx, -1.5599653124809265e-08, minz),
1018 (minx, maxy, minz),
1019 (maxx, maxy, minz),
1020 (maxx - 0.10429960489273071, -1.5832483768463135e-08, minz),
1021 (minx + 0.10429966449737549, -1.5832483768463135e-08, minz),
1022 (minx + 0.10429966449737549, maxy, minz),
1023 (minx, -1.5628756955266e-08, minz + 0.5012519359588623),
1024 (minx, -1.5657860785722733e-08, minz + 1.0025038719177246),
1025 (maxx, -1.5599653124809265e-08, minz + 0.5012525320053101),
1026 (maxx, -1.5599653124809265e-08, minz + 1.0025050640106201),
1027 (minx, maxy, minz + 0.5012519359588623),
1028 (minx, maxy, minz + 1.0025038719177246),
1029 (maxx, maxy, minz + 0.5012525320053101),
1030 (maxx, maxy, minz + 1.0025050640106201),
1031 (maxx - 0.10429960489273071, -1.5832483768463135e-08, minz + 0.501252293586731),
1032 (maxx - 0.10429960489273071, -1.5832483768463135e-08, minz + 1.0025046467781067),
1033 (minx + 0.10429966449737549, -1.5832483768463135e-08, minz + 0.5012521147727966),
1034 (minx + 0.10429966449737549, -1.5832483768463135e-08, minz + 1.0025042295455933),
1035 (minx + 0.10429966449737549, maxy, minz + 0.5012521147727966),
1036 (minx + 0.10429966449737549, maxy, minz + 1.0025042295455933),
1037 (maxx - 0.10429960489273071, maxy, minz + 0.501252293586731),
1038 (maxx - 0.10429960489273071, maxy, minz + 1.0025046467781067),
1039 (minx + 0.11909735202789307, -1.5832483768463135e-08, minz),
1040 (maxx - 0.11909729242324829, -1.5832483768463135e-08, minz),
1041 (minx + 0.11909735202789307, maxy, minz),
1042 (minx + 0.11909735202789307, -1.5832483768463135e-08, minz + 0.5012521743774414),
1043 (maxx - 0.11909729242324829, -1.5832483768463135e-08, minz + 0.5012522339820862),
1044 (minx + 0.11909735202789307, maxy, minz + 1.0025043686230788),
1045 (minx, -1.5629622041046787e-08, minz + 0.516154021024704),
1046 (maxx, -1.5599653124809265e-08, minz + 0.5161546468734741),
1047 (minx, maxy, minz + 0.516154021024704),
1048 (maxx, maxy, minz + 0.5161546468734741),
1049 (maxx - 0.10429960489273071, -1.5832483768463135e-08, minz + 0.516154408454895),
1050 (minx + 0.10429966449737549, -1.5832483768463135e-08, minz + 0.5161541998386383),
1051 (maxx - 0.10429960489273071, maxy, minz + 0.516154408454895),
1052 (maxx - 0.11909729242324829, -1.5832483768463135e-08, minz + 0.5161543190479279),
1053 (minx + 0.11909735202789307, -1.5832483768463135e-08, minz + 0.5161542594432831),
1054 (minx + 0.11909735202789307, maxy, minz + 0.5161542594432831),
1055 (maxx - 0.10429960489273071, miny + 0.009999999776482582, minz),
1056 (minx + 0.10429966449737549, miny + 0.009999999776482582, minz),
1057 (maxx - 0.10429960489273071, miny + 0.009999999776482582, minz + 0.501252293586731),
1058 (maxx - 0.10429960489273071, miny + 0.009999999776482582, minz + 1.0025046467781067),
1059 (minx + 0.10429966449737549, miny + 0.009999999776482582, minz + 0.5012521147727966),
1060 (minx + 0.10429966449737549, miny + 0.009999999776482582, minz + 1.0025042295455933),
1061 (minx + 0.11909735202789307, miny + 0.009999999776482582, minz),
1062 (maxx - 0.11909729242324829, miny + 0.009999999776482582, minz),
1063 (minx + 0.11909735202789307, miny + 0.009999999776482582, minz + 0.5012521743774414),
1064 (maxx - 0.11909729242324829, miny + 0.009999999776482582, minz + 0.5012522339820862),
1065 (maxx - 0.10429960489273071, miny + 0.009999999776482582, minz + 0.516154408454895),
1066 (minx + 0.10429966449737549, miny + 0.009999999776482582, minz + 0.5161541998386383),
1067 (maxx - 0.11909729242324829, miny + 0.009999999776482582, minz + 0.5161543190479279),
1068 (minx + 0.11909735202789307, miny + 0.009999999776482582, minz + 0.5161542594432831),
1069 (maxx - 0.11909729242324829, -1.5832483768463135e-08, minz + 0.992994874715805),
1070 (minx + 0.11909735202789307, -1.5832483768463135e-08, minz + 0.9929947257041931),
1071 (minx + 0.11909735202789307, maxy, minz + 0.9929947257041931),
1072 (maxx - 0.11909738183021545, maxy, minz + 0.992994874715805),
1073 (minx, -1.565730833874568e-08, minz + 0.9929942488670349),
1074 (maxx, -1.5599653124809265e-08, minz + 0.9929954260587692),
1075 (minx, maxy, minz + 0.9929942488670349),
1076 (maxx, maxy, minz + 0.9929954260587692),
1077 (maxx - 0.10429960489273071, -1.5832483768463135e-08, minz + 0.9929950088262558),
1078 (minx + 0.10429966449737549, -1.5832483768463135e-08, minz + 0.9929945915937424),
1079 (maxx - 0.10429960489273071, maxy, minz + 0.9929950088262558),
1080 (maxx - 0.10429960489273071, miny + 0.009999999776482582, minz + 0.9929950088262558),
1081 (minx + 0.10429966449737549, miny + 0.009999999776482582, minz + 0.9929945915937424),
1082 (minx + 0.11909735202789307, miny + 0.009999999776482582, minz + 1.0025043686231356),
1083 (maxx - 0.11909729242324829, miny + 0.009999999776482582, minz + 1.0025045077006212),
1084 (maxx - 0.10429960489273071, maxy - 0.0004077646881341934, minz + 1.0025046467781067),
1085 (maxx - 0.11909729242324829, maxy - 0.0004077646881341934, minz + 1.0025045077006212),
1086 (maxx - 0.11909729242324829, miny + 0.009999999776482582, minz + 0.992994874715805),
1087 (minx + 0.11909735202789307, miny + 0.009999999776482582, minz + 0.9929947257041931),
1088 (maxx - 0.11909729242324829, maxy - 0.0004077646881341934, minz + 0.992994874715805),
1089 (maxx - 0.10429960489273071, maxy - 0.0004077646881341934, minz + 0.9929950088262558),
1090 (maxx - 0.10429960489273071, maxy, minz),
1091 (maxx - 0.11909729242324829, maxy, minz),
1092 (maxx - 0.11909738183021545, maxy, minz + 0.5012522339820862),
1093 (minx + 0.11909735202789307, maxy, minz + 0.5012521743774414),
1094 (maxx - 0.11909738183021545, maxy, minz + 1.0025045077005643),
1095 (minx + 0.10429966449737549, maxy, minz + 0.5161541998386383),
1096 (maxx - 0.11909738183021545, maxy, minz + 0.5161543190479279),
1097 (minx + 0.10429966449737549, maxy, minz + 0.9929945915937424),
1098 (maxx - 0.10429960489273071, maxy - 0.008999999612569809, minz),
1099 (minx + 0.10429966449737549, maxy - 0.008999999612569809, minz),
1100 (minx + 0.10429966449737549, maxy - 0.008999999612569809, minz + 0.5012521147727966),
1101 (minx + 0.10429966449737549, maxy - 0.008999999612569809, minz + 1.0025042295455933),
1102 (maxx - 0.10429960489273071, maxy - 0.008999999612569809, minz + 0.501252293586731),
1103 (maxx - 0.10429960489273071, maxy - 0.008999999612569809, minz + 1.0025046467781067),
1104 (minx + 0.11909735202789307, maxy - 0.008999999612569809, minz),
1105 (maxx - 0.11909729242324829, maxy - 0.008999999612569809, minz),
1106 (maxx - 0.11909738183021545, maxy - 0.008999999612569809, minz + 0.5012522339820862),
1107 (minx + 0.11909735202789307, maxy - 0.008999999612569809, minz + 0.5012521743774414),
1108 (maxx - 0.11909738183021545, maxy - 0.008999999612569809, minz + 1.0025045077005643),
1109 (minx + 0.11909735202789307, maxy - 0.008999999612569809, minz + 1.0025043686230788),
1110 (minx + 0.10429966449737549, maxy - 0.008999999612569809, minz + 0.5161541998386383),
1111 (maxx - 0.10429960489273071, maxy - 0.008999999612569809, minz + 0.516154408454895),
1112 (minx + 0.11909735202789307, maxy - 0.008999999612569809, minz + 0.5161542594432831),
1113 (maxx - 0.11909738183021545, maxy - 0.008999999612569809, minz + 0.5161543190479279),
1114 (minx + 0.11909735202789307, maxy - 0.008999999612569809, minz + 0.9929947257041931),
1115 (maxx - 0.11909738183021545, maxy - 0.008999999612569809, minz + 0.992994874715805),
1116 (minx + 0.10429966449737549, maxy - 0.008999999612569809, minz + 0.9929945915937424),
1117 (maxx - 0.10429960489273071, maxy - 0.008999999612569809, minz + 0.9929950088262558)]
1119 # Faces
1120 myfaces = [(2, 0, 5, 6), (3, 1, 8, 10), (49, 47, 92, 96), (0, 2, 9, 7), (46, 48, 94, 90),
1121 (5, 0, 7, 12), (51, 46, 90, 100), (52, 49, 96, 104), (1, 4, 11, 8), (47, 50, 98, 92),
1122 (12, 25, 39, 33), (2, 6, 13, 9), (5, 12, 33, 31), (16, 15, 18, 19), (18, 15, 34, 36),
1123 (10, 8, 21, 23), (7, 9, 22, 20), (12, 7, 20, 25), (14, 10, 23, 26), (8, 11, 24, 21),
1124 (51, 100, 126, 54), (24, 11, 32, 38), (16, 19, 37, 35), (34, 31, 33, 36), (30, 35, 37, 32),
1125 (36, 33, 39, 41), (32, 37, 40, 38), (37, 36, 41, 40), (19, 18, 36, 37), (28, 27, 40, 41),
1126 (20, 22, 48, 46), (11, 4, 30, 32), (23, 21, 47, 49), (50, 24, 38, 53), (25, 20, 46, 51),
1127 (26, 23, 49, 52), (21, 24, 50, 47), (27, 28, 43, 42), (25, 51, 54, 39), (98, 50, 53, 124),
1128 (55, 56, 148, 149), (126, 148, 56, 54), (42, 43, 56, 55), (124, 53, 55, 149), (61, 60, 71, 72),
1129 (35, 30, 66, 71), (31, 34, 70, 67), (71, 66, 69, 72), (79, 81, 169, 174), (67, 70, 73, 68),
1130 (80, 78, 175, 167), (78, 79, 174, 175), (72, 69, 75, 77), (68, 73, 76, 74), (73, 72, 77, 76),
1131 (77, 75, 81, 79), (74, 76, 78, 80), (62, 61, 72, 73), (65, 63, 74, 80), (59, 4, 1, 3),
1132 (59, 3, 10, 14), (48, 65, 102, 94), (17, 15, 16, 60), (17, 60, 61, 62), (9, 13, 63, 22),
1133 (43, 28, 41, 56), (27, 42, 55, 40), (22, 63, 65, 48), (29, 64, 45, 44), (41, 39, 54, 56),
1134 (38, 40, 55, 53), (29, 44, 78, 76), (63, 13, 68, 74), (17, 62, 73, 70), (52, 104, 169, 81),
1135 (64, 29, 76, 77), (13, 6, 67, 68), (59, 14, 69, 66), (44, 45, 79, 78), (45, 64, 77, 79),
1136 (14, 26, 75, 69), (26, 52, 81, 75), (102, 65, 80, 167), (84, 88, 87, 82), (85, 95, 91, 83),
1137 (142, 96, 92, 140), (82, 89, 93, 84), (139, 90, 94, 141), (87, 99, 89, 82), (144, 100, 90, 139),
1138 (145, 104, 96, 142), (83, 91, 97, 86), (140, 92, 98, 143), (99, 125, 132, 116), (84, 93, 101, 88),
1139 (87, 122, 125, 99), (106, 109, 108, 105), (108, 129, 127, 105), (95, 114, 112, 91), (89, 111, 113, 93),
1140 (99, 116, 111, 89), (103, 117, 114, 95), (91, 112, 115, 97), (144, 147, 126, 100), (115, 131, 123, 97),
1141 (106, 128, 130, 109), (127, 129, 125, 122), (121, 123, 130, 128), (129, 134, 132, 125),
1142 (123, 131, 133, 130),
1143 (130, 133, 134, 129), (109, 130, 129, 108), (119, 134, 133, 118), (111, 139, 141, 113),
1144 (97, 123, 121, 86),
1145 (114, 142, 140, 112), (143, 146, 131, 115), (116, 144, 139, 111), (117, 145, 142, 114),
1146 (112, 140, 143, 115),
1147 (118, 135, 136, 119), (116, 132, 147, 144), (98, 124, 146, 143), (152, 149, 148, 153),
1148 (126, 147, 153, 148),
1149 (135, 152, 153, 136), (124, 149, 152, 146), (158, 172, 171, 157), (128, 171, 164, 121),
1150 (122, 165, 170, 127),
1151 (171, 172, 168, 164), (181, 174, 169, 183), (165, 166, 173, 170), (182, 167, 175, 180),
1152 (180, 175, 174, 181),
1153 (172, 179, 177, 168), (166, 176, 178, 173), (173, 178, 179, 172), (179, 181, 183, 177),
1154 (176, 182, 180, 178),
1155 (159, 173, 172, 158), (163, 182, 176, 161), (156, 85, 83, 86), (156, 103, 95, 85), (141, 94, 102, 163),
1156 (107, 157, 106, 105), (107, 159, 158, 157), (93, 113, 161, 101), (136, 153, 134, 119),
1157 (118, 133, 152, 135),
1158 (113, 141, 163, 161), (120, 137, 138, 162), (134, 153, 147, 132), (131, 146, 152, 133),
1159 (120, 178, 180, 137),
1160 (161, 176, 166, 101), (107, 170, 173, 159), (145, 183, 169, 104), (162, 179, 178, 120),
1161 (101, 166, 165, 88),
1162 (160, 174, 175, 110), (156, 164, 168, 103), (137, 180, 181, 138), (138, 181, 179, 162),
1163 (103, 168, 177, 117),
1164 (117, 177, 183, 145), (102, 167, 182, 163)]
1166 return myvertex, myfaces, wf, deep, side
1169 # ----------------------------------------------
1170 # Door model 04
1171 # ----------------------------------------------
1172 def door_model_04(frame_size, frame_width, frame_height, frame_thick, openside):
1173 gap = 0.002
1174 sf = frame_size
1175 wf = frame_width - (sf * 2) - (gap * 2)
1176 hf = (frame_height / 2) - (gap * 2)
1177 deep = (frame_thick * 0.50)
1179 # ------------------------------------
1180 # Mesh data
1181 # ------------------------------------
1182 # Open to right or left
1183 if openside == "1":
1184 side = 1
1185 minx = wf * -1
1186 maxx = 0.0
1187 else:
1188 side = -1
1189 minx = 0.0
1190 maxx = wf
1192 miny = 0.0 # Locked
1194 maxy = deep
1195 minz = -hf
1196 maxz = hf - sf - gap
1198 # Vertex
1199 myvertex = [(minx, miny + 0.009999997913837433, minz + 2.384185791015625e-06),
1200 (maxx, miny + 0.009999997913837433, minz),
1201 (minx, miny + 0.009999997913837433, maxz),
1202 (minx, miny + 0.009999997913837433, maxz - 0.12999999523162842),
1203 (minx, miny + 0.009999997913837433, minz + 0.25000083446502686),
1204 (maxx, miny + 0.009999997913837433, minz + 0.2500002384185791),
1205 (maxx, miny + 0.009999997913837433, maxz),
1206 (maxx, miny + 0.009999997913837433, maxz - 0.12999999523162842),
1207 (maxx - 0.11968576908111572, miny + 0.009999997913837433, maxz),
1208 (maxx - 0.11968576908111572, miny + 0.009999997913837433, minz),
1209 (maxx - 0.11968576908111572, miny + 0.009999997913837433, maxz - 0.12999999523162842),
1210 (maxx - 0.11968576908111572, miny + 0.009999997913837433, minz + 0.2500002384185791),
1211 (minx + 0.12030857801437378, miny + 0.009999997913837433, minz + 0.2500002384185791),
1212 (minx + 0.12030857801437378, miny + 0.009999997913837433, maxz - 0.12999999523162842),
1213 (minx + 0.12030857801437378, miny + 0.009999997913837433, minz),
1214 (minx + 0.12030857801437378, miny + 0.009999997913837433, maxz),
1215 (minx + 0.12030857801437378, -0.009999997913837433, maxz - 0.12999999523162842),
1216 (minx + 0.12030857801437378, -0.009999997913837433, minz + 0.2500002384185791),
1217 (maxx - 0.11968576908111572, -0.009999997913837433, maxz - 0.12999999523162842),
1218 (maxx - 0.11968576908111572, -0.009999997913837433, minz + 0.2500002384185791),
1219 (maxx - 0.13532748818397522, -0.008776653558015823, minz + 0.2625002861022949),
1220 (maxx - 0.13532748818397522, -0.009388323873281479, maxz - 0.14747536182403564),
1221 (minx + 0.13506758213043213, -0.009388323873281479, minz + 0.2625002861022949),
1222 (minx + 0.13506758213043213, -0.009388323873281479, maxz - 0.14747536182403564),
1223 (maxx - 0.13532748818397522, -0.0003883242607116699, minz + 0.2625002861022949),
1224 (maxx - 0.13532748818397522, -0.0003883242607116699, maxz - 0.14747536182403564),
1225 (minx + 0.13506758213043213, -0.0003883242607116699, minz + 0.2625002861022949),
1226 (minx + 0.13506758213043213, -0.0003883242607116699, maxz - 0.14747536182403564),
1227 (minx, maxy - 0.010000001639127731, minz + 2.384185791015625e-06),
1228 (maxx, maxy - 0.010000001639127731, minz),
1229 (minx, maxy - 0.010000001639127731, maxz),
1230 (minx, maxy - 0.010000001639127731, maxz - 0.12999999523162842),
1231 (minx, maxy - 0.010000001639127731, minz + 0.25000083446502686),
1232 (maxx, maxy - 0.010000001639127731, minz + 0.2500002384185791),
1233 (maxx, maxy - 0.010000001639127731, maxz),
1234 (maxx, maxy - 0.010000001639127731, maxz - 0.12999999523162842),
1235 (maxx - 0.11968576908111572, maxy - 0.010000001639127731, maxz),
1236 (maxx - 0.11968576908111572, maxy - 0.010000001639127731, minz),
1237 (maxx - 0.11968576908111572, maxy - 0.010000001639127731, maxz - 0.12999999523162842),
1238 (maxx - 0.11968576908111572, maxy - 0.010000001639127731, minz + 0.2500002384185791),
1239 (minx + 0.12030857801437378, maxy - 0.010000001639127731, minz + 0.2500002384185791),
1240 (minx + 0.12030857801437378, maxy - 0.010000001639127731, maxz - 0.12999999523162842),
1241 (minx + 0.12030857801437378, maxy - 0.010000001639127731, minz),
1242 (minx + 0.12030857801437378, maxy - 0.010000001639127731, maxz),
1243 (minx + 0.12030857801437378, maxy, maxz - 0.12999999523162842),
1244 (minx + 0.12030857801437378, maxy, minz + 0.2500002384185791),
1245 (maxx - 0.11968576908111572, maxy, maxz - 0.12999999523162842),
1246 (maxx - 0.11968576908111572, maxy, minz + 0.2500002384185791),
1247 (maxx - 0.1353275179862976, maxy - 0.001223348081111908, minz + 0.2625002861022949),
1248 (maxx - 0.1353275179862976, maxy - 0.0006116703152656555, maxz - 0.14747536182403564),
1249 (minx + 0.13506758213043213, maxy - 0.0006116703152656555, minz + 0.2625002861022949),
1250 (minx + 0.13506758213043213, maxy - 0.0006116703152656555, maxz - 0.14747536182403564),
1251 (maxx - 0.1353275179862976, maxy - 0.010223347693681717, minz + 0.2625002861022949),
1252 (maxx - 0.1353275179862976, maxy - 0.009611673653125763, maxz - 0.14747536182403564),
1253 (minx + 0.13506758213043213, maxy - 0.009611673653125763, minz + 0.2625002861022949),
1254 (minx + 0.13506758213043213, maxy - 0.009611673653125763, maxz - 0.14747536182403564)]
1256 # Faces
1257 myfaces = [(12, 4, 0, 14), (15, 2, 3, 13), (6, 8, 10, 7), (8, 15, 13, 10), (11, 12, 14, 9),
1258 (5, 11, 9, 1), (10, 13, 16, 18), (12, 11, 19, 17), (3, 4, 12, 13), (5, 7, 10, 11),
1259 (20, 22, 17, 19), (18, 21, 20, 19), (17, 22, 23, 16), (17, 16, 13, 12), (11, 10, 18, 19),
1260 (21, 18, 16, 23), (22, 26, 27, 23), (21, 23, 27, 25), (21, 25, 24, 20), (20, 24, 26, 22),
1261 (24, 25, 27, 26), (40, 42, 28, 32), (43, 41, 31, 30), (34, 35, 38, 36), (36, 38, 41, 43),
1262 (39, 37, 42, 40), (33, 29, 37, 39), (38, 46, 44, 41), (40, 45, 47, 39), (31, 41, 40, 32),
1263 (33, 39, 38, 35), (48, 47, 45, 50), (46, 47, 48, 49), (45, 44, 51, 50), (45, 40, 41, 44),
1264 (39, 47, 46, 38), (49, 51, 44, 46), (50, 51, 55, 54), (49, 53, 55, 51), (49, 48, 52, 53),
1265 (48, 50, 54, 52), (52, 54, 55, 53), (34, 36, 8, 6), (36, 43, 15, 8), (2, 15, 43, 30),
1266 (6, 7, 35, 34), (7, 5, 33, 35), (29, 33, 5, 1), (1, 9, 37, 29), (9, 14, 42, 37),
1267 (28, 42, 14, 0), (32, 4, 3, 31), (30, 31, 3, 2), (32, 28, 0, 4)]
1268 return myvertex, myfaces, wf, deep, side
1271 # ----------------------------------------------
1272 # Handle model 01
1273 # ----------------------------------------------
1274 def handle_model_01():
1275 # ------------------------------------
1276 # Mesh data
1277 # ------------------------------------
1278 minx = -0.04349547624588013
1279 maxx = 0.13793155550956726
1280 miny = -0.07251644879579544
1281 maxy = 0
1282 minz = -0.04352371022105217
1283 maxz = 0.04349301755428314
1285 # Vertex
1286 myvertex = [(minx + 0.013302795588970184, maxy - 0.002780601382255554, minz + 0.010707870125770569),
1287 (minx + 0.0009496212005615234, maxy - 0.002942140679806471, minz + 0.030204588547348976),
1288 (minx, maxy - 0.003071820829063654, maxz - 0.033750676549971104),
1289 (minx + 0.010708402842283249, maxy - 0.0031348932534456253, maxz - 0.013303784653544426),
1290 (minx + 0.03020550962537527, maxy - 0.003114458406344056, maxz - 0.0009501762688159943),
1291 (minx + 0.053267089650034904, maxy - 0.003015991533175111, maxz - 0.0),
1292 (minx + 0.07371381670236588, maxy - 0.0028658765368163586, maxz - 0.010707847774028778),
1293 (minx + 0.08606699481606483, maxy - 0.0027043374720960855, maxz - 0.030204561538994312),
1294 (minx + 0.08701662346720695, maxy - 0.0025746573228389025, minz + 0.03375071194022894),
1295 (minx + 0.0763082429766655, maxy - 0.002511584199965, minz + 0.013303810730576515),
1296 (minx + 0.05681113991886377, maxy - 0.0025320190470665693, minz + 0.0009501948952674866),
1297 (minx + 0.03374955803155899, maxy - 0.0026304861530661583, minz),
1298 (minx + 0.014472760260105133, maxy - 0.019589224830269814, minz + 0.011804874986410141),
1299 (minx + 0.002567145973443985, maxy - 0.019744910299777985, minz + 0.030595174990594387),
1300 (minx + 0.001651916652917862, maxy - 0.019869891926646233, maxz - 0.034195657819509506),
1301 (minx + 0.011972300708293915, maxy - 0.019930677488446236, maxz - 0.014489583671092987),
1302 (minx + 0.03076297417283058, maxy - 0.019910985603928566, maxz - 0.0025835558772087097),
1303 (minx + 0.0529889902099967, maxy - 0.019816085696220398, maxz - 0.0016677752137184143),
1304 (minx + 0.07269490510225296, maxy - 0.01967141032218933, maxz - 0.011987630277872086),
1305 (minx + 0.0846005342900753, maxy - 0.01951572299003601, maxz - 0.030777926556766033),
1306 (minx + 0.08551576733589172, maxy - 0.019390743225812912, minz + 0.03401290811598301),
1307 (minx + 0.07519540190696716, maxy - 0.01932995393872261, minz + 0.014306826516985893),
1308 (minx + 0.056404732167720795, maxy - 0.01934964768588543, minz + 0.002400781959295273),
1309 (minx + 0.03417872078716755, maxy - 0.019444547593593597, minz + 0.001484982669353485),
1310 (minx + 0.043508310547622386, maxy - 0.0028232389595359564, maxz - 0.043508357635801076),
1311 (minx + 0.029034355655312538, maxy - 0.019612153992056847, minz + 0.027617475017905235),
1312 (minx + 0.023084014654159546, maxy - 0.01968996599316597, minz + 0.03700872650370002),
1313 (minx + 0.022626593708992004, maxy - 0.01975242979824543, maxz - 0.03889966616407037),
1314 (minx + 0.027784643694758415, maxy - 0.019782811403274536, maxz - 0.029050718992948532),
1315 (minx + 0.03717608004808426, maxy - 0.019772969186306, maxz - 0.023100173100829124),
1316 (minx + 0.048284475691616535, maxy - 0.019725536927580833, maxz - 0.022642474621534348),
1317 (minx + 0.058133346028625965, maxy - 0.019653232768177986, maxz - 0.02780025824904442),
1318 (minx + 0.06408369168639183, maxy - 0.019575420767068863, maxz - 0.0371915097348392),
1319 (minx + 0.06454112380743027, maxy - 0.019512956961989403, minz + 0.03871688432991505),
1320 (minx + 0.059383073821663857, maxy - 0.019482573494315147, minz + 0.02886793203651905),
1321 (minx + 0.04999163839966059, maxy - 0.019492419436573982, minz + 0.022917380556464195),
1322 (minx + 0.038883245550096035, maxy - 0.0195398461073637, minz + 0.022459672763943672),
1323 (minx + 0.029087782837450504, maxy - 0.03150090575218201, minz + 0.027552824467420578),
1324 (minx + 0.023137442767620087, maxy - 0.03157871589064598, minz + 0.036944076884537935),
1325 (minx + 0.022680018097162247, maxy - 0.03164118155837059, maxz - 0.03896431624889374),
1326 (minx + 0.027838071808218956, maxy - 0.031671565026044846, maxz - 0.029115368612110615),
1327 (minx + 0.0372295081615448, maxy - 0.03166172280907631, maxz - 0.023164819926023483),
1328 (minx + 0.04833790427073836, maxy - 0.03161429241299629, maxz - 0.022707123309373856),
1329 (minx + 0.05818677507340908, maxy - 0.03154198080301285, maxz - 0.027864910662174225),
1330 (minx + 0.06413711979985237, maxy - 0.031464170664548874, maxz - 0.037256159354001284),
1331 (minx + 0.06459455192089081, maxy - 0.03140170872211456, minz + 0.038652234710752964),
1332 (minx + 0.059436503797769547, maxy - 0.03137132152915001, minz + 0.028803281486034393),
1333 (minx + 0.05004506651312113, maxy - 0.031381167471408844, minz + 0.022852730005979538),
1334 (minx + 0.038936673663556576, maxy - 0.03142859786748886, minz + 0.022395022213459015),
1335 (minx + 0.029038896784186363, maxy - 0.020622700452804565, minz + 0.027611978352069855),
1336 (minx + 0.02308855764567852, maxy - 0.02070051059126854, minz + 0.0370032312348485),
1337 (minx + 0.02263113297522068, maxy - 0.020762978121638298, maxz - 0.038905161898583174),
1338 (minx + 0.02778918668627739, maxy - 0.020793357864022255, maxz - 0.029056214727461338),
1339 (minx + 0.037180622573941946, maxy - 0.02078351564705372, maxz - 0.023105667904019356),
1340 (minx + 0.04828901821747422, maxy - 0.020736083388328552, maxz - 0.02264796942472458),
1341 (minx + 0.05813788715749979, maxy - 0.020663777366280556, maxz - 0.0278057549148798),
1342 (minx + 0.0640882346779108, maxy - 0.020585965365171432, maxz - 0.03719700500369072),
1343 (minx + 0.06454566307365894, maxy - 0.020523501560091972, minz + 0.0387113899923861),
1344 (minx + 0.05938761495053768, maxy - 0.020493119955062866, minz + 0.028862436302006245),
1345 (minx + 0.04999618045985699, maxy - 0.020502964034676552, minz + 0.022911883890628815),
1346 (minx + 0.03888778714463115, maxy - 0.02055039070546627, minz + 0.02245417609810829),
1347 (minx + 0.03133368864655495, maxy - 0.031504075974226, minz + 0.02999168261885643),
1348 (minx + 0.02630186453461647, maxy - 0.03156987577676773, minz + 0.03793327230960131),
1349 (minx + 0.025915050879120827, maxy - 0.03162270039319992, maxz - 0.039689837489277124),
1350 (minx + 0.0302768861874938, maxy - 0.031648389995098114, maxz - 0.03136120364069939),
1351 (minx + 0.03821863234043121, maxy - 0.03164006769657135, maxz - 0.026329202577471733),
1352 (minx + 0.04761230247095227, maxy - 0.03159996122121811, maxz - 0.025942156091332436),
1353 (minx + 0.05594087019562721, maxy - 0.03153881058096886, maxz - 0.030303767882287502),
1354 (minx + 0.06097269989550114, maxy - 0.03147301450371742, maxz - 0.038245356641709805),
1355 (minx + 0.06135952286422253, maxy - 0.03142019361257553, minz + 0.039377753622829914),
1356 (minx + 0.05699768662452698, maxy - 0.03139450028538704, minz + 0.03104911558330059),
1357 (minx + 0.049055942334234715, maxy - 0.0314028225839138, minz + 0.02601710893213749),
1358 (minx + 0.03966227453202009, maxy - 0.031442929059267044, minz + 0.025630054995417595),
1359 (minx + 0.024973656982183456, maxy - 0.009611732326447964, minz + 0.037668352015316486),
1360 (minx + 0.030362362042069435, maxy - 0.009541265666484833, minz + 0.029163507744669914),
1361 (minx + 0.02455940842628479, maxy - 0.009668299928307533, maxz - 0.03928851708769798),
1362 (minx + 0.029230606742203236, maxy - 0.009695813991129398, maxz - 0.030369175598025322),
1363 (minx + 0.03773562144488096, maxy - 0.009686900302767754, maxz - 0.02498028054833412),
1364 (minx + 0.04779553506523371, maxy - 0.009643946774303913, maxz - 0.02456578239798546),
1365 (minx + 0.056714802980422974, maxy - 0.009578464552760124, maxz - 0.02923674415796995),
1366 (minx + 0.0621035173535347, maxy - 0.009507997892796993, maxz - 0.037741586565971375),
1367 (minx + 0.06251777522265911, maxy - 0.009451429359614849, minz + 0.03921528346836567),
1368 (minx + 0.05784657597541809, maxy - 0.009423915296792984, minz + 0.03029593825340271),
1369 (minx + 0.0493415636010468, maxy - 0.009432828985154629, minz + 0.02490703947842121),
1370 (minx + 0.039281651843339205, maxy - 0.009475781582295895, minz + 0.02449253387749195),
1371 (minx + 0.03144440520554781, maxy - 0.02431209199130535, minz + 0.030186276882886887),
1372 (minx + 0.02647113800048828, maxy - 0.0243771281093359, minz + 0.038035438396036625),
1373 (minx + 0.026088828220963478, maxy - 0.024429334327578545, maxz - 0.03969699679873884),
1374 (minx + 0.030399901792407036, maxy - 0.02445472590625286, maxz - 0.031465294770896435),
1375 (minx + 0.0382492202334106, maxy - 0.024446498602628708, maxz - 0.026491858065128326),
1376 (minx + 0.04753356333822012, maxy - 0.024406857788562775, maxz - 0.02610931731760502),
1377 (minx + 0.05576520040631294, maxy - 0.024346424266695976, maxz - 0.03042016737163067),
1378 (minx + 0.060738470405340195, maxy - 0.024281391873955727, maxz - 0.03826932841911912),
1379 (minx + 0.06112079136073589, maxy - 0.024229183793067932, minz + 0.03946310793980956),
1380 (minx + 0.056809717789292336, maxy - 0.024203790351748466, minz + 0.03123140148818493),
1381 (minx + 0.04896040167659521, maxy - 0.02421201765537262, minz + 0.026257958263158798),
1382 (minx + 0.03967605973593891, maxy - 0.024251656606793404, minz + 0.025875410065054893),
1383 (minx + 0.03160235192626715, miny + 0.013056624680757523, minz + 0.02999513689428568),
1384 (minx + 0.02662908472120762, miny + 0.012991588562726974, minz + 0.03784429794177413),
1385 (minx + 0.026246773079037666, miny + 0.012939386069774628, maxz - 0.039888136787340045),
1386 (minx + 0.030557849444448948, miny + 0.012913990765810013, maxz - 0.03165643382817507),
1387 (minx + 0.03840716602280736, miny + 0.012922219932079315, maxz - 0.02668299712240696),
1388 (minx + 0.04769151005893946, miny + 0.012961860746145248, maxz - 0.02630045637488365),
1389 (minx + 0.05592314712703228, miny + 0.013022292405366898, maxz - 0.030611306428909302),
1390 (minx + 0.06089641526341438, miny + 0.013087328523397446, maxz - 0.038460468873381615),
1391 (minx + 0.06127873808145523, miny + 0.013139534741640091, minz + 0.03927196795120835),
1392 (minx + 0.05696766451001167, miny + 0.013164930045604706, minz + 0.031040262430906296),
1393 (minx + 0.04911834839731455, miny + 0.013156700879335403, minz + 0.026066819205880165),
1394 (minx + 0.0398340062238276, miny + 0.013117063790559769, minz + 0.02568427100777626),
1395 (minx + 0.03166038449853659, miny + 0.00014262646436691284, minz + 0.029924907721579075),
1396 (minx + 0.026687119156122208, miny + 7.76052474975586e-05, minz + 0.0377740697003901),
1397 (minx + 0.026304809376597404, miny + 2.5391578674316406e-05, maxz - 0.039958365727216005),
1398 (minx + 0.030615881085395813, miny, maxz - 0.031726663932204247),
1399 (minx + 0.0384651985950768, miny + 8.217990398406982e-06, maxz - 0.026753226295113564),
1400 (minx + 0.0477495426312089, miny + 4.7869980335235596e-05, maxz - 0.026370685547590256),
1401 (minx + 0.05598117969930172, miny + 0.00010830163955688477, maxz - 0.03068153653293848),
1402 (minx + 0.06095444969832897, miny + 0.00017333775758743286, maxz - 0.038530697114765644),
1403 (minx + 0.06133677065372467, miny + 0.0002255365252494812, minz + 0.039201739244163036),
1404 (minx + 0.05702569708228111, miny + 0.00025093555450439453, minz + 0.030970032326877117),
1405 (minx + 0.04917638096958399, miny + 0.00024271011352539062, minz + 0.02599659003317356),
1406 (minx + 0.039892038563266397, miny + 0.00020306557416915894, minz + 0.025614041835069656),
1407 (maxx - 0.012196376919746399, miny + 0.0031514912843704224, minz + 0.03689247788861394),
1408 (maxx - 0.011049121618270874, miny + 0.0037728995084762573, minz + 0.04000293998979032),
1409 (maxx - 0.010531991720199585, miny + 0.004111833870410919, maxz - 0.041690999176353216),
1410 (maxx - 0.010783538222312927, miny + 0.0040774866938591, maxz - 0.035582118667662144),
1411 (maxx - 0.011736378073692322, miny + 0.003679051995277405, maxz - 0.030324016697704792),
1412 (maxx - 0.013135172426700592, miny + 0.003023289144039154, maxz - 0.027325598523020744),
1413 (maxx - 0.013745412230491638, miny + 0.010863490402698517, minz + 0.03701266320422292),
1414 (maxx - 0.012598156929016113, miny + 0.011484891176223755, minz + 0.0401231253053993),
1415 (maxx - 0.012081027030944824, miny + 0.011823825538158417, maxz - 0.041570812463760376),
1416 (maxx - 0.01233258843421936, miny + 0.011789467185735703, maxz - 0.035461933352053165),
1417 (maxx - 0.013285413384437561, miny + 0.011391039937734604, maxz - 0.030203829519450665),
1418 (maxx - 0.014684207737445831, miny + 0.010735277086496353, maxz - 0.027205411344766617),
1419 (maxx - 0.000991135835647583, maxy - 0.01982143148779869, minz + 0.03712343191727996),
1420 (maxx - 0.0034268200397491455, maxy - 0.018987802788615227, minz + 0.03702782467007637),
1421 (maxx - 0.00027070939540863037, maxy - 0.018310068175196648, minz + 0.040221322793513536),
1422 (maxx, maxy - 0.017457325011491776, maxz - 0.04147987486794591),
1423 (maxx - 0.00025157630443573, maxy - 0.01749167963862419, maxz - 0.03537099435925484),
1424 (maxx - 0.000957980751991272, maxy - 0.018403928726911545, maxz - 0.030105633661150932),
1425 (maxx - 0.001929953694343567, maxy - 0.019949644804000854, maxz - 0.02709464356303215),
1426 (maxx - 0.0043656229972839355, maxy - 0.01911601796746254, maxz - 0.027190251275897026),
1427 (maxx - 0.002706393599510193, maxy - 0.01747644878923893, minz + 0.04012571508064866),
1428 (maxx - 0.0024356693029403687, maxy - 0.01662370003759861, maxz - 0.04157548164948821),
1429 (maxx - 0.0026872456073760986, maxy - 0.016658056527376175, maxz - 0.03546660114079714),
1430 (maxx - 0.0033936500549316406, maxy - 0.017570307478308678, maxz - 0.030201241374015808),
1431 (minx + 0.04382078559137881, miny + 0.00012543797492980957, minz + 0.04313003408606164)]
1433 # Faces
1434 myfaces = [(24, 0, 1), (24, 1, 2), (24, 2, 3), (24, 3, 4), (24, 4, 5),
1435 (24, 5, 6), (24, 6, 7), (24, 7, 8), (24, 8, 9), (24, 9, 10),
1436 (24, 10, 11), (11, 0, 24), (0, 12, 13, 1), (1, 13, 14, 2), (2, 14, 15, 3),
1437 (3, 15, 16, 4), (4, 16, 17, 5), (5, 17, 18, 6), (6, 18, 19, 7), (7, 19, 20, 8),
1438 (8, 20, 21, 9), (9, 21, 22, 10), (10, 22, 23, 11), (12, 0, 11, 23), (13, 12, 25, 26),
1439 (14, 13, 26, 27), (15, 14, 27, 28), (16, 15, 28, 29), (17, 16, 29, 30), (18, 17, 30, 31),
1440 (19, 18, 31, 32), (20, 19, 32, 33), (21, 20, 33, 34), (22, 21, 34, 35), (23, 22, 35, 36),
1441 (12, 23, 36, 25), (25, 49, 50, 26), (49, 37, 38, 50), (26, 50, 51, 27), (50, 38, 39, 51),
1442 (27, 51, 52, 28), (51, 39, 40, 52), (28, 52, 53, 29), (52, 40, 41, 53), (29, 53, 54, 30),
1443 (53, 41, 42, 54), (30, 54, 55, 31), (54, 42, 43, 55), (31, 55, 56, 32), (55, 43, 44, 56),
1444 (32, 56, 57, 33), (56, 44, 45, 57), (33, 57, 58, 34), (57, 45, 46, 58), (34, 58, 59, 35),
1445 (58, 46, 47, 59), (35, 59, 60, 36), (59, 47, 48, 60), (36, 60, 49, 25), (60, 48, 37, 49),
1446 (38, 37, 61, 62), (39, 38, 62, 63), (40, 39, 63, 64), (41, 40, 64, 65), (42, 41, 65, 66),
1447 (43, 42, 66, 67), (44, 43, 67, 68), (45, 44, 68, 69), (46, 45, 69, 70), (47, 46, 70, 71),
1448 (48, 47, 71, 72), (37, 48, 72, 61), (62, 61, 74, 73), (63, 62, 73, 75), (64, 63, 75, 76),
1449 (65, 64, 76, 77), (66, 65, 77, 78), (67, 66, 78, 79), (68, 67, 79, 80), (69, 68, 80, 81),
1450 (70, 69, 81, 82), (71, 70, 82, 83), (72, 71, 83, 84), (61, 72, 84, 74), (86, 85, 97, 98),
1451 (87, 86, 98, 99), (88, 87, 99, 100), (89, 88, 100, 101), (90, 89, 101, 102), (91, 90, 102, 103),
1452 (92, 91, 103, 104), (93, 92, 104, 105), (94, 93, 105, 106), (95, 94, 106, 107), (96, 95, 107, 108),
1453 (97, 85, 96, 108), (98, 97, 109, 110), (99, 98, 110, 111), (100, 99, 111, 112), (101, 100, 112, 113),
1454 (102, 101, 113, 114), (108, 107, 119, 120), (108, 120, 109, 97), (119, 107, 127, 121),
1455 (118, 119, 121, 122),
1456 (117, 118, 122, 123), (116, 117, 123, 124), (115, 116, 124, 125), (114, 115, 125, 126),
1457 (102, 114, 126, 132),
1458 (107, 106, 128, 127), (106, 105, 129, 128), (105, 104, 130, 129), (104, 103, 131, 130),
1459 (103, 102, 132, 131),
1460 (121, 127, 134, 133), (122, 121, 133, 135), (123, 122, 135, 136), (124, 123, 136, 137),
1461 (125, 124, 137, 138),
1462 (126, 125, 138, 139), (132, 126, 139, 140), (127, 128, 141, 134), (128, 129, 142, 141),
1463 (129, 130, 143, 142),
1464 (130, 131, 144, 143), (131, 132, 140, 144), (138, 144, 140, 139), (137, 143, 144, 138),
1465 (136, 142, 143, 137),
1466 (135, 141, 142, 136), (133, 134, 141, 135), (110, 109, 145), (111, 110, 145), (112, 111, 145),
1467 (113, 112, 145), (114, 113, 145), (115, 114, 145), (116, 115, 145), (117, 116, 145),
1468 (118, 117, 145), (119, 118, 145), (120, 119, 145), (109, 120, 145)]
1470 return myvertex, myfaces
1473 # ----------------------------------------------
1474 # Handle model 02
1475 # ----------------------------------------------
1476 def handle_model_02():
1477 # ------------------------------------
1478 # Mesh data
1479 # ------------------------------------
1480 minx = -0.04349547624588013
1481 maxx = 0.04352114722132683
1482 miny = -0.08959200233221054
1483 maxy = 0
1484 minz = -0.04352371022105217
1485 maxz = 0.04349301755428314
1487 # Vertex
1488 myvertex = [(minx + 0.013302795588970184, maxy - 0.002780601382255554, minz + 0.010707870125770569),
1489 (minx + 0.0009496212005615234, maxy - 0.002942140679806471, minz + 0.030204588547348976),
1490 (minx, maxy - 0.003071820829063654, maxz - 0.033750676549971104),
1491 (minx + 0.010708402842283249, maxy - 0.0031348932534456253, maxz - 0.013303784653544426),
1492 (minx + 0.03020550962537527, maxy - 0.003114458406344056, maxz - 0.0009501762688159943),
1493 (maxx - 0.03374953381717205, maxy - 0.003015991533175111, maxz),
1494 (maxx - 0.01330280676484108, maxy - 0.0028658765368163586, maxz - 0.010707847774028778),
1495 (maxx - 0.0009496286511421204, maxy - 0.0027043374720960855, maxz - 0.030204561538994312),
1496 (maxx, maxy - 0.0025746573228389025, minz + 0.03375071194022894),
1497 (maxx - 0.010708380490541458, maxy - 0.002511584199965, minz + 0.013303810730576515),
1498 (maxx - 0.03020548354834318, maxy - 0.0025320190470665693, minz + 0.0009501948952674866),
1499 (minx + 0.03374955803155899, maxy - 0.0026304861530661583, minz),
1500 (minx + 0.014472760260105133, maxy - 0.019589224830269814, minz + 0.011804874986410141),
1501 (minx + 0.002567145973443985, maxy - 0.019744910299777985, minz + 0.030595174990594387),
1502 (minx + 0.001651916652917862, maxy - 0.019869891926646233, maxz - 0.034195657819509506),
1503 (minx + 0.011972300708293915, maxy - 0.019930677488446236, maxz - 0.014489583671092987),
1504 (minx + 0.03076297417283058, maxy - 0.019910985603928566, maxz - 0.0025835558772087097),
1505 (maxx - 0.034027633257210255, maxy - 0.019816085696220398, maxz - 0.0016677752137184143),
1506 (maxx - 0.014321718364953995, maxy - 0.01967141032218933, maxz - 0.011987630277872086),
1507 (maxx - 0.002416089177131653, maxy - 0.01951572299003601, maxz - 0.030777926556766033),
1508 (maxx - 0.0015008561313152313, maxy - 0.019390743225812912, minz + 0.03401290811598301),
1509 (maxx - 0.011821221560239792, maxy - 0.01932995393872261, minz + 0.014306826516985893),
1510 (maxx - 0.03061189129948616, maxy - 0.01934964768588543, minz + 0.002400781959295273),
1511 (minx + 0.03417872078716755, maxy - 0.019444547593593597, minz + 0.001484982669353485),
1512 (minx + 0.043508310547622386, maxy - 0.005668943747878075, maxz - 0.043508357635801076),
1513 (minx + 0.029034355655312538, maxy - 0.019612153992056847, minz + 0.027617475017905235),
1514 (minx + 0.023084014654159546, maxy - 0.01968996599316597, minz + 0.03700872650370002),
1515 (minx + 0.022626593708992004, maxy - 0.01975242979824543, maxz - 0.03889966616407037),
1516 (minx + 0.027784643694758415, maxy - 0.019782811403274536, maxz - 0.029050718992948532),
1517 (minx + 0.03717608004808426, maxy - 0.019772969186306, maxz - 0.023100173100829124),
1518 (maxx - 0.03873214777559042, maxy - 0.019725536927580833, maxz - 0.022642474621534348),
1519 (maxx - 0.02888327743858099, maxy - 0.019653232768177986, maxz - 0.02780025824904442),
1520 (maxx - 0.022932931780815125, maxy - 0.019575420767068863, maxz - 0.0371915097348392),
1521 (maxx - 0.022475499659776688, maxy - 0.019512956961989403, minz + 0.03871688432991505),
1522 (maxx - 0.0276335496455431, maxy - 0.019482573494315147, minz + 0.02886793203651905),
1523 (maxx - 0.03702498506754637, maxy - 0.019492419436573982, minz + 0.022917380556464195),
1524 (minx + 0.038883245550096035, maxy - 0.0195398461073637, minz + 0.022459672763943672),
1525 (minx + 0.029087782837450504, maxy - 0.03150090575218201, minz + 0.027552824467420578),
1526 (minx + 0.023137442767620087, maxy - 0.03157871589064598, minz + 0.036944076884537935),
1527 (minx + 0.022680018097162247, maxy - 0.03164118155837059, maxz - 0.03896431624889374),
1528 (minx + 0.027838071808218956, maxy - 0.031671565026044846, maxz - 0.029115368612110615),
1529 (minx + 0.0372295081615448, maxy - 0.03166172280907631, maxz - 0.023164819926023483),
1530 (maxx - 0.03867871919646859, maxy - 0.03161429241299629, maxz - 0.022707123309373856),
1531 (maxx - 0.028829848393797874, maxy - 0.03154198080301285, maxz - 0.027864910662174225),
1532 (maxx - 0.022879503667354584, maxy - 0.031464170664548874, maxz - 0.037256159354001284),
1533 (maxx - 0.022422071546316147, maxy - 0.03140170872211456, minz + 0.038652234710752964),
1534 (maxx - 0.02758011966943741, maxy - 0.03137132152915001, minz + 0.028803281486034393),
1535 (maxx - 0.03697155695408583, maxy - 0.031381167471408844, minz + 0.022852730005979538),
1536 (minx + 0.038936673663556576, maxy - 0.03142859786748886, minz + 0.022395022213459015),
1537 (minx + 0.029038896784186363, maxy - 0.020622700452804565, minz + 0.027611978352069855),
1538 (minx + 0.02308855764567852, maxy - 0.02070051059126854, minz + 0.0370032312348485),
1539 (minx + 0.02263113297522068, maxy - 0.020762978121638298, maxz - 0.038905161898583174),
1540 (minx + 0.02778918668627739, maxy - 0.020793357864022255, maxz - 0.029056214727461338),
1541 (minx + 0.037180622573941946, maxy - 0.02078351564705372, maxz - 0.023105667904019356),
1542 (maxx - 0.03872760524973273, maxy - 0.020736083388328552, maxz - 0.02264796942472458),
1543 (maxx - 0.028878736309707165, maxy - 0.020663777366280556, maxz - 0.0278057549148798),
1544 (maxx - 0.02292838878929615, maxy - 0.020585965365171432, maxz - 0.03719700500369072),
1545 (maxx - 0.022470960393548012, maxy - 0.020523501560091972, minz + 0.0387113899923861),
1546 (maxx - 0.027629008516669273, maxy - 0.020493119955062866, minz + 0.028862436302006245),
1547 (maxx - 0.03702044300734997, maxy - 0.020502964034676552, minz + 0.022911883890628815),
1548 (minx + 0.03888778714463115, maxy - 0.02055039070546627, minz + 0.02245417609810829),
1549 (minx + 0.03503026906400919, maxy - 0.0326739065349102, minz + 0.03399384953081608),
1550 (minx + 0.03150810860097408, maxy - 0.032719966024160385, minz + 0.03955277753993869),
1551 (minx + 0.03123734798282385, maxy - 0.03275693953037262, maxz - 0.04088863683864474),
1552 (minx + 0.034290531650185585, maxy - 0.032774921506643295, maxz - 0.035058788023889065),
1553 (minx + 0.039849569322541356, maxy - 0.0327690951526165, maxz - 0.03153650462627411),
1554 (maxx - 0.04059170465916395, maxy - 0.03274102136492729, maxz - 0.03126558102667332),
1555 (maxx - 0.03476190101355314, maxy - 0.032698217779397964, maxz - 0.03431860730051994),
1556 (maxx - 0.031239738687872887, maxy - 0.03265216201543808, maxz - 0.039877534145489335),
1557 (maxx - 0.03096897155046463, maxy - 0.032615188509225845, minz + 0.040563880698755383),
1558 (maxx - 0.03402215428650379, maxy - 0.03259720280766487, minz + 0.03473402839154005),
1559 (maxx - 0.03958118986338377, maxy - 0.032603029161691666, minz + 0.03121174033731222),
1560 (minx + 0.04086008481681347, maxy - 0.032631102949380875, minz + 0.030940811149775982),
1561 (minx + 0.026877090334892273, maxy - 0.04475956782698631, minz + 0.02504805289208889),
1562 (minx + 0.020004114136099815, miny + 0.044742558151483536, minz + 0.03589546587318182),
1563 (minx + 0.019475765526294708, miny + 0.044670410454273224, maxz - 0.03829052206128836),
1564 (minx + 0.025433603674173355, miny + 0.04463531821966171, maxz - 0.0269144456833601),
1565 (minx + 0.03628123179078102, miny + 0.04464668035507202, maxz - 0.020041238516569138),
1566 (maxx - 0.0379045819863677, miny + 0.0447014644742012, maxz - 0.01951257325708866),
1567 (maxx - 0.02652859501540661, miny + 0.044784992933273315, maxz - 0.02547009475529194),
1568 (maxx - 0.01965562254190445, maxy - 0.04471714794635773, maxz - 0.036317508202046156),
1569 (maxx - 0.019127257168293, maxy - 0.04464499279856682, minz + 0.03786848206073046),
1570 (maxx - 0.02508508786559105, maxy - 0.04460989683866501, minz + 0.026492400094866753),
1571 (maxx - 0.03593271458521485, maxy - 0.044621266424655914, minz + 0.019619181752204895),
1572 (minx + 0.03825310105457902, maxy - 0.044676050543785095, minz + 0.01909050904214382),
1573 (minx + 0.01721818558871746, miny + 0.00031135231256484985, minz + 0.01437518559396267),
1574 (minx + 0.006362196058034897, miny + 0.00016936659812927246, minz + 0.03150887507945299),
1575 (minx + 0.005527656525373459, miny + 5.542486906051636e-05, maxz - 0.03524145483970642),
1576 (minx + 0.014938175678253174, miny, maxz - 0.017272725701332092),
1577 (minx + 0.032072206027805805, miny + 1.7955899238586426e-05, maxz - 0.006416358053684235),
1578 (maxx - 0.03467791061848402, miny + 0.00010447949171066284, maxz - 0.0055813267827034),
1579 (maxx - 0.016709323972463608, miny + 0.00023641437292099, maxz - 0.01499134860932827),
1580 (maxx - 0.005853328853845596, miny + 0.00037835538387298584, maxz - 0.032125042751431465),
1581 (maxx - 0.0050187669694423676, miny + 0.0004923418164253235, minz + 0.03462529182434082),
1582 (maxx - 0.014429278671741486, miny + 0.0005477666854858398, minz + 0.016656557098031044),
1583 (maxx - 0.03156330715864897, miny + 0.0005298107862472534, minz + 0.005800176411867142),
1584 (minx + 0.03518681041896343, miny + 0.000443287193775177, minz + 0.0049651265144348145),
1585 (minx + 0.02942624967545271, miny + 0.0012636110186576843, minz + 0.027632080018520355),
1586 (minx + 0.023563016206026077, miny + 0.0011869296431541443, minz + 0.03688584640622139),
1587 (minx + 0.023112289607524872, miny + 0.0011253878474235535, maxz - 0.039185164496302605),
1588 (minx + 0.028194833546876907, miny + 0.0010954588651657104, maxz - 0.029480399563908577),
1589 (minx + 0.037448784336447716, miny + 0.0011051595211029053, maxz - 0.023616963997483253),
1590 (maxx - 0.038622063118964434, miny + 0.0011518821120262146, maxz - 0.023165971040725708),
1591 (maxx - 0.028917375952005386, miny + 0.001223146915435791, maxz - 0.02824824769049883),
1592 (maxx - 0.02305414155125618, miny + 0.0012998059391975403, maxz - 0.0375020164065063),
1593 (maxx - 0.02260340191423893, miny + 0.0013613700866699219, minz + 0.03856899822130799),
1594 (maxx - 0.027685942128300667, miny + 0.001391299068927765, minz + 0.028864230029284954),
1595 (maxx - 0.0369398919865489, miny + 0.001381605863571167, minz + 0.023000789806246758),
1596 (minx + 0.03913095686584711, miny + 0.0013348758220672607, minz + 0.022549785673618317),
1597 (minx + 0.03738117218017578, miny + 0.0037613436579704285, minz + 0.03627043403685093),
1598 (minx + 0.03477128129452467, miny + 0.0037272050976753235, minz + 0.04038954642601311),
1599 (minx + 0.034570650197565556, miny + 0.0036998093128204346, maxz - 0.041754934238269925),
1600 (minx + 0.03683303436264396, miny + 0.0036864876747131348, maxz - 0.03743506921455264),
1601 (minx + 0.040952228708192706, miny + 0.0036908015608787537, maxz - 0.03482509031891823),
1602 (maxx - 0.0411921211052686, miny + 0.003711603581905365, maxz - 0.03462434001266956),
1603 (maxx - 0.03687229100614786, miny + 0.0037433207035064697, maxz - 0.03688660357147455),
1604 (maxx - 0.034262401051819324, miny + 0.003777444362640381, maxz - 0.04100571759045124),
1605 (maxx - 0.03406176343560219, miny + 0.0038048475980758667, minz + 0.0411387647036463),
1606 (maxx - 0.036324144806712866, miny + 0.0038181766867637634, minz + 0.03681889921426773),
1607 (maxx - 0.04044333938509226, miny + 0.0038138628005981445, minz + 0.03420891519635916),
1608 (minx + 0.04170101135969162, miny + 0.003793060779571533, minz + 0.034008161164820194),
1609 (maxx - 0.043253868410829455, miny + 0.00480072945356369, minz + 0.04320027763606049),
1610 (minx + 0.03971285093575716, maxy - 0.041327137500047684, maxz - 0.031046375632286072),
1611 (maxx - 0.03359287604689598, maxy - 0.04114784672856331, minz + 0.03433086443692446),
1612 (minx + 0.03072980046272278, maxy - 0.04131445661187172, maxz - 0.040801193099468946),
1613 (minx + 0.031012218445539474, maxy - 0.04127589240670204, minz + 0.03935709968209267),
1614 (minx + 0.04076687735505402, maxy - 0.04118320718407631, minz + 0.030374319292604923),
1615 (minx + 0.034451283514499664, maxy - 0.03338594362139702, minz + 0.033365121111273766),
1616 (minx + 0.030692334286868572, maxy - 0.03343509882688522, minz + 0.039297766517847776),
1617 (minx + 0.03040337096899748, maxy - 0.03347455710172653, maxz - 0.040701600490137935),
1618 (minx + 0.03366181440651417, maxy - 0.03349374979734421, maxz - 0.03447982110083103),
1619 (minx + 0.03959457715973258, maxy - 0.033487528562545776, maxz - 0.03072074055671692),
1620 (maxx - 0.040404647355899215, maxy - 0.033457569777965546, maxz - 0.030431604012846947),
1621 (maxx - 0.03418291546404362, maxy - 0.03341188654303551, maxz - 0.03368987888097763),
1622 (maxx - 0.030423964373767376, maxy - 0.0333627350628376, maxz - 0.03962252289056778),
1623 (maxx - 0.030134993605315685, maxy - 0.03332327678799629, minz + 0.04037684458307922),
1624 (maxx - 0.033393437042832375, maxy - 0.03330408036708832, minz + 0.03415506146848202),
1625 (maxx - 0.03932619746774435, maxy - 0.03331030160188675, minz + 0.030395975336432457),
1626 (minx + 0.040673027746379375, maxy - 0.03334026038646698, minz + 0.030106833204627037),
1627 (minx + 0.030282274819910526, maxy - 0.005427400581538677, maxz - 0.0011750981211662292),
1628 (minx + 0.013463903218507767, maxy - 0.005095209460705519, minz + 0.0108589306473732),
1629 (minx + 0.010882444679737091, maxy - 0.005447734147310257, maxz - 0.013467073440551758),
1630 (minx + 0.0011723600327968597, maxy - 0.005255943164229393, minz + 0.030258373357355595),
1631 (minx + 0.0002274736762046814, maxy - 0.005384976044297218, maxz - 0.033811951987445354),
1632 (maxx - 0.0134431142359972, maxy - 0.005180059932172298, maxz - 0.010884080082178116),
1633 (maxx - 0.033787828870117664, maxy - 0.005329424981027842, maxz - 0.00022966042160987854),
1634 (maxx - 0.0302614476531744, maxy - 0.004847868345677853, minz + 0.0011499449610710144),
1635 (maxx - 0.00020667165517807007, maxy - 0.004890293348580599, minz + 0.03378681745380163),
1636 (maxx - 0.0011515654623508453, maxy - 0.0050193266943097115, maxz - 0.03028351627290249),
1637 (minx + 0.033808655105531216, maxy - 0.004945843946188688, minz + 0.0002044886350631714),
1638 (maxx - 0.010861624032258987, maxy - 0.004827534779906273, minz + 0.013441929593682289),
1639 (minx + 0.03468604106456041, maxy - 0.04122784733772278, minz + 0.033558815717697144),
1640 (minx + 0.033914451487362385, maxy - 0.041333213448524475, maxz - 0.03472032118588686),
1641 (maxx - 0.04044530005194247, maxy - 0.04129785671830177, maxz - 0.03076378908008337),
1642 (maxx - 0.034364476799964905, maxy - 0.04125320911407471, maxz - 0.03394827153533697),
1643 (maxx - 0.03069065511226654, maxy - 0.04120517522096634, maxz - 0.03974655526690185),
1644 (maxx - 0.030408228747546673, maxy - 0.04116660729050636, minz + 0.04041173937730491),
1645 (maxx - 0.03939127502962947, maxy - 0.0411539226770401, minz + 0.030656912364065647),
1646 (minx + 0.03147818427532911, maxy - 0.033236272633075714, minz + 0.03954096930101514),
1647 (minx + 0.031206720508635044, maxy - 0.03327333927154541, maxz - 0.04088335996493697),
1648 (minx + 0.034267837181687355, maxy - 0.033291369676589966, maxz - 0.03503836318850517),
1649 (minx + 0.03984131896868348, maxy - 0.03328552842140198, maxz - 0.03150692768394947),
1650 (maxx - 0.040582869900390506, maxy - 0.0332573801279068, maxz - 0.03123530000448227),
1651 (maxx - 0.03473791852593422, maxy - 0.033214468508958817, maxz - 0.03429625928401947),
1652 (maxx - 0.031206604093313217, maxy - 0.03316829353570938, maxz - 0.03986963024362922),
1653 (maxx - 0.030935133807361126, maxy - 0.03313122317194939, minz + 0.040554699720814824),
1654 (maxx - 0.03399624954909086, maxy - 0.03311318904161453, minz + 0.03470969945192337),
1655 (maxx - 0.03956972947344184, maxy - 0.03311903029680252, minz + 0.031178259290754795),
1656 (minx + 0.04085446032695472, maxy - 0.0331471785902977, minz + 0.030906626023352146),
1657 (minx + 0.035009496845304966, maxy - 0.03319009393453598, minz + 0.03396759741008282)]
1659 # Faces
1660 myfaces = [(24, 0, 1), (24, 1, 2), (24, 2, 3), (24, 3, 4), (24, 4, 5),
1661 (24, 5, 6), (24, 6, 7), (24, 7, 8), (24, 8, 9), (24, 9, 10),
1662 (24, 10, 11), (11, 0, 24), (140, 12, 13, 142), (142, 13, 14, 143), (143, 14, 15, 141),
1663 (141, 15, 16, 139), (139, 16, 17, 145), (145, 17, 18, 144), (144, 18, 19, 148), (148, 19, 20, 147),
1664 (147, 20, 21, 150), (150, 21, 22, 146), (146, 22, 23, 149), (140, 0, 11, 149), (13, 12, 25, 26),
1665 (14, 13, 26, 27), (15, 14, 27, 28), (16, 15, 28, 29), (17, 16, 29, 30), (18, 17, 30, 31),
1666 (19, 18, 31, 32), (20, 19, 32, 33), (21, 20, 33, 34), (22, 21, 34, 35), (23, 22, 35, 36),
1667 (12, 23, 36, 25), (25, 49, 50, 26), (49, 37, 38, 50), (26, 50, 51, 27), (50, 38, 39, 51),
1668 (27, 51, 52, 28), (51, 39, 40, 52), (28, 52, 53, 29), (52, 40, 41, 53), (29, 53, 54, 30),
1669 (53, 41, 42, 54), (30, 54, 55, 31), (54, 42, 43, 55), (31, 55, 56, 32), (55, 43, 44, 56),
1670 (32, 56, 57, 33), (56, 44, 45, 57), (33, 57, 58, 34), (57, 45, 46, 58), (34, 58, 59, 35),
1671 (58, 46, 47, 59), (35, 59, 60, 36), (59, 47, 48, 60), (36, 60, 49, 25), (60, 48, 37, 49),
1672 (38, 37, 61, 62), (39, 38, 62, 63), (40, 39, 63, 64), (41, 40, 64, 65), (42, 41, 65, 66),
1673 (43, 42, 66, 67), (44, 43, 67, 68), (45, 44, 68, 69), (46, 45, 69, 70), (47, 46, 70, 71),
1674 (48, 47, 71, 72), (37, 48, 72, 61), (124, 125, 74, 75), (74, 73, 85, 86), (79, 78, 90, 91),
1675 (80, 79, 91, 92), (77, 76, 88, 89), (82, 81, 93, 94), (76, 75, 87, 88), (81, 80, 92, 93),
1676 (73, 84, 96, 85), (84, 83, 95, 96), (83, 82, 94, 95), (78, 77, 89, 90), (75, 74, 86, 87),
1677 (90, 89, 101, 102), (86, 85, 97, 98), (93, 92, 104, 105), (96, 95, 107, 108), (85, 96, 108, 97),
1678 (89, 88, 100, 101), (91, 90, 102, 103), (88, 87, 99, 100), (92, 91, 103, 104), (95, 94, 106, 107),
1679 (94, 93, 105, 106), (87, 86, 98, 99), (105, 104, 116, 117), (108, 107, 119, 120), (97, 108, 120, 109),
1680 (101, 100, 112, 113), (103, 102, 114, 115), (100, 99, 111, 112), (104, 103, 115, 116),
1681 (107, 106, 118, 119),
1682 (106, 105, 117, 118), (99, 98, 110, 111), (102, 101, 113, 114), (98, 97, 109, 110), (120, 119, 121),
1683 (109, 120, 121), (113, 112, 121), (115, 114, 121), (112, 111, 121), (116, 115, 121),
1684 (119, 118, 121), (118, 117, 121), (111, 110, 121), (114, 113, 121), (110, 109, 121),
1685 (117, 116, 121), (169, 158, 62, 61), (158, 159, 63, 62), (159, 160, 64, 63), (160, 161, 65, 64),
1686 (161, 162, 66, 65), (162, 163, 67, 66), (163, 164, 68, 67), (164, 165, 69, 68), (165, 166, 70, 69),
1687 (166, 167, 71, 70), (167, 168, 72, 71), (168, 169, 61, 72), (72, 138, 127, 61), (63, 129, 130, 64),
1688 (67, 133, 134, 68), (64, 130, 131, 65), (61, 127, 128, 62), (69, 135, 136, 70), (66, 132, 133, 67),
1689 (65, 131, 132, 66), (71, 137, 138, 72), (70, 136, 137, 71), (62, 128, 129, 63), (68, 134, 135, 69),
1690 (0, 140, 142, 1), (1, 142, 143, 2), (2, 143, 141, 3), (3, 141, 139, 4), (4, 139, 145, 5),
1691 (5, 145, 144, 6), (6, 144, 148, 7), (7, 148, 147, 8), (8, 147, 150, 9), (9, 150, 146, 10),
1692 (10, 146, 149, 11), (12, 140, 149, 23), (153, 154, 163, 162), (154, 155, 164, 163), (155, 156, 165, 164),
1693 (125, 151, 73, 74), (152, 124, 75, 76), (122, 152, 76, 77), (153, 122, 77, 78), (154, 153, 78, 79),
1694 (155, 154, 79, 80), (156, 155, 80, 81), (123, 156, 81, 82), (157, 123, 82, 83), (126, 157, 83, 84),
1695 (73, 151, 126, 84), (151, 125, 158, 169), (125, 124, 159, 158), (124, 152, 160, 159),
1696 (152, 122, 161, 160),
1697 (122, 153, 162, 161), (156, 123, 166, 165), (123, 157, 167, 166), (157, 126, 168, 167),
1698 (126, 151, 169, 168)]
1700 return myvertex, myfaces
1703 # ----------------------------------------------
1704 # Handle model 03
1705 # ----------------------------------------------
1706 def handle_model_03():
1707 # ------------------------------------
1708 # Mesh data
1709 # ------------------------------------
1710 minx = -0.04349547624588013
1711 maxx = 0.04352114722132683
1712 miny = -0.09871400892734528
1713 maxy = 0
1714 minz = -0.04352371022105217
1715 maxz = 0.04349301755428314
1717 # Vertex
1718 myvertex = [(minx + 0.013302795588970184, maxy - 0.002780601382255554, minz + 0.010707870125770569),
1719 (minx + 0.0009496212005615234, maxy - 0.002942140679806471, minz + 0.030204588547348976),
1720 (minx, maxy - 0.003071820829063654, maxz - 0.033750676549971104),
1721 (minx + 0.010708402842283249, maxy - 0.0031348932534456253, maxz - 0.013303784653544426),
1722 (minx + 0.03020550962537527, maxy - 0.003114458406344056, maxz - 0.0009501762688159943),
1723 (maxx - 0.03374953381717205, maxy - 0.003015991533175111, maxz),
1724 (maxx - 0.01330280676484108, maxy - 0.0028658765368163586, maxz - 0.010707847774028778),
1725 (maxx - 0.0009496286511421204, maxy - 0.0027043374720960855, maxz - 0.030204561538994312),
1726 (maxx, maxy - 0.0025746573228389025, minz + 0.03375071194022894),
1727 (maxx - 0.010708380490541458, maxy - 0.002511584199965, minz + 0.013303810730576515),
1728 (maxx - 0.03020548354834318, maxy - 0.0025320190470665693, minz + 0.0009501948952674866),
1729 (minx + 0.03374955803155899, maxy - 0.0026304861530661583, minz),
1730 (minx + 0.014472760260105133, maxy - 0.019589224830269814, minz + 0.011804874986410141),
1731 (minx + 0.002567145973443985, maxy - 0.019744910299777985, minz + 0.030595174990594387),
1732 (minx + 0.001651916652917862, maxy - 0.019869891926646233, maxz - 0.034195657819509506),
1733 (minx + 0.011972300708293915, maxy - 0.019930677488446236, maxz - 0.014489583671092987),
1734 (minx + 0.03076297417283058, maxy - 0.019910985603928566, maxz - 0.0025835558772087097),
1735 (maxx - 0.034027633257210255, maxy - 0.019816085696220398, maxz - 0.0016677752137184143),
1736 (maxx - 0.014321718364953995, maxy - 0.01967141032218933, maxz - 0.011987630277872086),
1737 (maxx - 0.002416089177131653, maxy - 0.01951572299003601, maxz - 0.030777926556766033),
1738 (maxx - 0.0015008561313152313, maxy - 0.019390743225812912, minz + 0.03401290811598301),
1739 (maxx - 0.011821221560239792, maxy - 0.01932995393872261, minz + 0.014306826516985893),
1740 (maxx - 0.03061189129948616, maxy - 0.01934964768588543, minz + 0.002400781959295273),
1741 (minx + 0.03417872078716755, maxy - 0.019444547593593597, minz + 0.001484982669353485),
1742 (minx + 0.043508310547622386, maxy - 0.005668943747878075, maxz - 0.043508357635801076),
1743 (minx + 0.029034355655312538, maxy - 0.019612153992056847, minz + 0.027617475017905235),
1744 (minx + 0.023084014654159546, maxy - 0.01968996599316597, minz + 0.03700872650370002),
1745 (minx + 0.022626593708992004, maxy - 0.01975242979824543, maxz - 0.03889966616407037),
1746 (minx + 0.027784643694758415, maxy - 0.019782811403274536, maxz - 0.029050718992948532),
1747 (minx + 0.03717608004808426, maxy - 0.019772969186306, maxz - 0.023100173100829124),
1748 (maxx - 0.03873214777559042, maxy - 0.019725536927580833, maxz - 0.022642474621534348),
1749 (maxx - 0.02888327743858099, maxy - 0.019653232768177986, maxz - 0.02780025824904442),
1750 (maxx - 0.022932931780815125, maxy - 0.019575420767068863, maxz - 0.0371915097348392),
1751 (maxx - 0.022475499659776688, maxy - 0.019512956961989403, minz + 0.03871688432991505),
1752 (maxx - 0.0276335496455431, maxy - 0.019482573494315147, minz + 0.02886793203651905),
1753 (maxx - 0.03702498506754637, maxy - 0.019492419436573982, minz + 0.022917380556464195),
1754 (minx + 0.038883245550096035, maxy - 0.0195398461073637, minz + 0.022459672763943672),
1755 (minx + 0.029087782837450504, maxy - 0.03150090575218201, minz + 0.027552824467420578),
1756 (minx + 0.023137442767620087, maxy - 0.03157871589064598, minz + 0.036944076884537935),
1757 (minx + 0.022680018097162247, maxy - 0.03164118155837059, maxz - 0.03896431624889374),
1758 (minx + 0.027838071808218956, maxy - 0.031671565026044846, maxz - 0.029115368612110615),
1759 (minx + 0.0372295081615448, maxy - 0.03166172280907631, maxz - 0.023164819926023483),
1760 (maxx - 0.03867871919646859, maxy - 0.03161429241299629, maxz - 0.022707123309373856),
1761 (maxx - 0.028829848393797874, maxy - 0.03154198080301285, maxz - 0.027864910662174225),
1762 (maxx - 0.022879503667354584, maxy - 0.031464170664548874, maxz - 0.037256159354001284),
1763 (maxx - 0.022422071546316147, maxy - 0.03140170872211456, minz + 0.038652234710752964),
1764 (maxx - 0.02758011966943741, maxy - 0.03137132152915001, minz + 0.028803281486034393),
1765 (maxx - 0.03697155695408583, maxy - 0.031381167471408844, minz + 0.022852730005979538),
1766 (minx + 0.038936673663556576, maxy - 0.03142859786748886, minz + 0.022395022213459015),
1767 (minx + 0.029038896784186363, maxy - 0.020622700452804565, minz + 0.027611978352069855),
1768 (minx + 0.02308855764567852, maxy - 0.02070051059126854, minz + 0.0370032312348485),
1769 (minx + 0.02263113297522068, maxy - 0.020762978121638298, maxz - 0.038905161898583174),
1770 (minx + 0.02778918668627739, maxy - 0.020793357864022255, maxz - 0.029056214727461338),
1771 (minx + 0.037180622573941946, maxy - 0.02078351564705372, maxz - 0.023105667904019356),
1772 (maxx - 0.03872760524973273, maxy - 0.020736083388328552, maxz - 0.02264796942472458),
1773 (maxx - 0.028878736309707165, maxy - 0.020663777366280556, maxz - 0.0278057549148798),
1774 (maxx - 0.02292838878929615, maxy - 0.020585965365171432, maxz - 0.03719700500369072),
1775 (maxx - 0.022470960393548012, maxy - 0.020523501560091972, minz + 0.0387113899923861),
1776 (maxx - 0.027629008516669273, maxy - 0.020493119955062866, minz + 0.028862436302006245),
1777 (maxx - 0.03702044300734997, maxy - 0.020502964034676552, minz + 0.022911883890628815),
1778 (minx + 0.03888778714463115, maxy - 0.02055039070546627, minz + 0.02245417609810829),
1779 (minx + 0.03503026906400919, maxy - 0.0326739065349102, minz + 0.03399384953081608),
1780 (minx + 0.03150810860097408, maxy - 0.032719966024160385, minz + 0.03955277753993869),
1781 (minx + 0.03123734798282385, maxy - 0.03275693953037262, maxz - 0.04088863683864474),
1782 (minx + 0.034290531650185585, maxy - 0.032774921506643295, maxz - 0.035058788023889065),
1783 (minx + 0.039849569322541356, maxy - 0.0327690951526165, maxz - 0.03153650462627411),
1784 (maxx - 0.04059170465916395, maxy - 0.03274102136492729, maxz - 0.03126558102667332),
1785 (maxx - 0.03476190101355314, maxy - 0.032698217779397964, maxz - 0.03431860730051994),
1786 (maxx - 0.031239738687872887, maxy - 0.03265216201543808, maxz - 0.039877534145489335),
1787 (maxx - 0.03096897155046463, maxy - 0.032615188509225845, minz + 0.040563880698755383),
1788 (maxx - 0.03402215428650379, maxy - 0.03259720280766487, minz + 0.03473402839154005),
1789 (maxx - 0.03958118986338377, maxy - 0.032603029161691666, minz + 0.03121174033731222),
1790 (minx + 0.04086008481681347, maxy - 0.032631102949380875, minz + 0.030940811149775982),
1791 (minx + 0.026877090334892273, maxy - 0.04475956782698631, minz + 0.02504805289208889),
1792 (minx + 0.020004114136099815, maxy - 0.044849444180727005, minz + 0.03589546587318182),
1793 (minx + 0.019475765526294708, maxy - 0.04492159187793732, maxz - 0.03829052206128836),
1794 (minx + 0.025433603674173355, maxy - 0.04495668411254883, maxz - 0.0269144456833601),
1795 (minx + 0.03628123179078102, maxy - 0.04494532197713852, maxz - 0.020041238516569138),
1796 (maxx - 0.0379045819863677, maxy - 0.04489053785800934, maxz - 0.01951257325708866),
1797 (maxx - 0.02652859501540661, maxy - 0.044807009398937225, maxz - 0.02547009475529194),
1798 (maxx - 0.01965562254190445, maxy - 0.04471714794635773, maxz - 0.036317508202046156),
1799 (maxx - 0.019127257168293, maxy - 0.04464499279856682, minz + 0.03786848206073046),
1800 (maxx - 0.02508508786559105, maxy - 0.04460989683866501, minz + 0.026492400094866753),
1801 (maxx - 0.03593271458521485, maxy - 0.044621266424655914, minz + 0.019619181752204895),
1802 (minx + 0.03825310105457902, maxy - 0.044676050543785095, minz + 0.01909050904214382),
1803 (minx + 0.021551070734858513, miny + 0.00942724198102951, minz + 0.01908031851053238),
1804 (minx + 0.01246710866689682, miny + 0.009308435022830963, minz + 0.03341726865619421),
1805 (minx + 0.011768791824579239, miny + 0.009213089942932129, maxz - 0.03664115583524108),
1806 (minx + 0.019643226638436317, miny + 0.009166710078716278, maxz - 0.0216054730117321),
1807 (minx + 0.033980460837483406, miny + 0.009181737899780273, maxz - 0.012521196156740189),
1808 (maxx - 0.036077769473195076, miny + 0.009254135191440582, maxz - 0.011822465807199478),
1809 (maxx - 0.021042203530669212, miny + 0.0093645378947258, maxz - 0.019696485251188278),
1810 (maxx - 0.011958237737417221, miny + 0.009483307600021362, maxz - 0.03403343725949526),
1811 (maxx - 0.011259902268648148, miny + 0.009578689932823181, minz + 0.03602499142289162),
1812 (maxx - 0.01913433149456978, miny + 0.009625062346458435, minz + 0.020989302545785904),
1813 (maxx - 0.03347156383097172, miny + 0.009610041975975037, minz + 0.011905014514923096),
1814 (minx + 0.03658666601404548, miny + 0.00953763723373413, minz + 0.011206269264221191),
1815 (minx + 0.02942624967545271, miny + 0.001430809497833252, minz + 0.027632080018520355),
1816 (minx + 0.023563016206026077, miny + 0.001354128122329712, minz + 0.03688584640622139),
1817 (minx + 0.023112289607524872, miny + 0.001292586326599121, maxz - 0.039185164496302605),
1818 (minx + 0.028194833546876907, miny + 0.001262657344341278, maxz - 0.029480399563908577),
1819 (minx + 0.037448784336447716, miny + 0.001272358000278473, maxz - 0.023616963997483253),
1820 (maxx - 0.038622063118964434, miny + 0.0013190805912017822, maxz - 0.023165971040725708),
1821 (maxx - 0.028917375952005386, miny + 0.0013903453946113586, maxz - 0.02824824769049883),
1822 (maxx - 0.02305414155125618, miny + 0.001467004418373108, maxz - 0.0375020164065063),
1823 (maxx - 0.02260340191423893, miny + 0.0015285685658454895, minz + 0.03856899822130799),
1824 (maxx - 0.027685942128300667, miny + 0.0015584975481033325, minz + 0.028864230029284954),
1825 (maxx - 0.0369398919865489, miny + 0.0015488043427467346, minz + 0.023000789806246758),
1826 (minx + 0.03913095686584711, miny + 0.0015020743012428284, minz + 0.022549785673618317),
1827 (minx + 0.03738117218017578, miny + 0.001003175973892212, minz + 0.03627043403685093),
1828 (minx + 0.03477128129452467, miny + 0.0009690374135971069, minz + 0.04038954642601311),
1829 (minx + 0.034570650197565556, miny + 0.000941641628742218, maxz - 0.041754934238269925),
1830 (minx + 0.03683303436264396, miny + 0.0009283199906349182, maxz - 0.03743506921455264),
1831 (minx + 0.040952228708192706, miny + 0.0009326338768005371, maxz - 0.03482509031891823),
1832 (maxx - 0.0411921211052686, miny + 0.0009534358978271484, maxz - 0.03462434001266956),
1833 (maxx - 0.03687229100614786, miny + 0.0009851530194282532, maxz - 0.03688660357147455),
1834 (maxx - 0.034262401051819324, miny + 0.0010192766785621643, maxz - 0.04100571759045124),
1835 (maxx - 0.03406176343560219, miny + 0.0010466799139976501, minz + 0.0411387647036463),
1836 (maxx - 0.036324144806712866, miny + 0.0010600090026855469, minz + 0.03681889921426773),
1837 (maxx - 0.04044333938509226, miny + 0.001055695116519928, minz + 0.03420891519635916),
1838 (minx + 0.04170101135969162, miny + 0.0010348930954933167, minz + 0.034008161164820194),
1839 (maxx - 0.043253868410829455, miny, minz + 0.04320027763606049),
1840 (minx + 0.03971285093575716, maxy - 0.041327137500047684, maxz - 0.031046375632286072),
1841 (maxx - 0.03359287604689598, maxy - 0.04114784672856331, minz + 0.03433086443692446),
1842 (minx + 0.03072980046272278, maxy - 0.04131445661187172, maxz - 0.040801193099468946),
1843 (minx + 0.031012218445539474, maxy - 0.04127589240670204, minz + 0.03935709968209267),
1844 (minx + 0.04076687735505402, maxy - 0.04118320718407631, minz + 0.030374319292604923),
1845 (minx + 0.034451283514499664, maxy - 0.03338594362139702, minz + 0.033365121111273766),
1846 (minx + 0.030692334286868572, maxy - 0.03343509882688522, minz + 0.039297766517847776),
1847 (minx + 0.03040337096899748, maxy - 0.03347455710172653, maxz - 0.040701600490137935),
1848 (minx + 0.03366181440651417, maxy - 0.03349374979734421, maxz - 0.03447982110083103),
1849 (minx + 0.03959457715973258, maxy - 0.033487528562545776, maxz - 0.03072074055671692),
1850 (maxx - 0.040404647355899215, maxy - 0.033457569777965546, maxz - 0.030431604012846947),
1851 (maxx - 0.03418291546404362, maxy - 0.03341188654303551, maxz - 0.03368987888097763),
1852 (maxx - 0.030423964373767376, maxy - 0.0333627350628376, maxz - 0.03962252289056778),
1853 (maxx - 0.030134993605315685, maxy - 0.03332327678799629, minz + 0.04037684458307922),
1854 (maxx - 0.033393437042832375, maxy - 0.03330408036708832, minz + 0.03415506146848202),
1855 (maxx - 0.03932619746774435, maxy - 0.03331030160188675, minz + 0.030395975336432457),
1856 (minx + 0.040673027746379375, maxy - 0.03334026038646698, minz + 0.030106833204627037),
1857 (minx + 0.030282274819910526, maxy - 0.005427400581538677, maxz - 0.0011750981211662292),
1858 (minx + 0.013463903218507767, maxy - 0.005095209460705519, minz + 0.0108589306473732),
1859 (minx + 0.010882444679737091, maxy - 0.005447734147310257, maxz - 0.013467073440551758),
1860 (minx + 0.0011723600327968597, maxy - 0.005255943164229393, minz + 0.030258373357355595),
1861 (minx + 0.0002274736762046814, maxy - 0.005384976044297218, maxz - 0.033811951987445354),
1862 (maxx - 0.0134431142359972, maxy - 0.005180059932172298, maxz - 0.010884080082178116),
1863 (maxx - 0.033787828870117664, maxy - 0.005329424981027842, maxz - 0.00022966042160987854),
1864 (maxx - 0.0302614476531744, maxy - 0.004847868345677853, minz + 0.0011499449610710144),
1865 (maxx - 0.00020667165517807007, maxy - 0.004890293348580599, minz + 0.03378681745380163),
1866 (maxx - 0.0011515654623508453, maxy - 0.0050193266943097115, maxz - 0.03028351627290249),
1867 (minx + 0.033808655105531216, maxy - 0.004945843946188688, minz + 0.0002044886350631714),
1868 (maxx - 0.010861624032258987, maxy - 0.004827534779906273, minz + 0.013441929593682289),
1869 (minx + 0.03468604106456041, maxy - 0.04122784733772278, minz + 0.033558815717697144),
1870 (minx + 0.033914451487362385, maxy - 0.041333213448524475, maxz - 0.03472032118588686),
1871 (maxx - 0.04044530005194247, maxy - 0.04129785671830177, maxz - 0.03076378908008337),
1872 (maxx - 0.034364476799964905, maxy - 0.04125320911407471, maxz - 0.03394827153533697),
1873 (maxx - 0.03069065511226654, maxy - 0.04120517522096634, maxz - 0.03974655526690185),
1874 (maxx - 0.030408228747546673, maxy - 0.04116660729050636, minz + 0.04041173937730491),
1875 (maxx - 0.03939127502962947, maxy - 0.0411539226770401, minz + 0.030656912364065647),
1876 (minx + 0.03147818427532911, maxy - 0.033236272633075714, minz + 0.03954096930101514),
1877 (minx + 0.031206720508635044, maxy - 0.03327333927154541, maxz - 0.04088335996493697),
1878 (minx + 0.034267837181687355, maxy - 0.033291369676589966, maxz - 0.03503836318850517),
1879 (minx + 0.03984131896868348, maxy - 0.03328552842140198, maxz - 0.03150692768394947),
1880 (maxx - 0.040582869900390506, maxy - 0.0332573801279068, maxz - 0.03123530000448227),
1881 (maxx - 0.03473791852593422, maxy - 0.033214468508958817, maxz - 0.03429625928401947),
1882 (maxx - 0.031206604093313217, maxy - 0.03316829353570938, maxz - 0.03986963024362922),
1883 (maxx - 0.030935133807361126, maxy - 0.03313122317194939, minz + 0.040554699720814824),
1884 (maxx - 0.03399624954909086, maxy - 0.03311318904161453, minz + 0.03470969945192337),
1885 (maxx - 0.03956972947344184, maxy - 0.03311903029680252, minz + 0.031178259290754795),
1886 (minx + 0.04085446032695472, maxy - 0.0331471785902977, minz + 0.030906626023352146),
1887 (minx + 0.035009496845304966, maxy - 0.03319009393453598, minz + 0.03396759741008282),
1888 (minx + 0.019410474225878716, miny + 0.020503833889961243, minz + 0.016801605001091957),
1889 (minx + 0.009459223598241806, miny + 0.020373672246932983, minz + 0.032507372088730335),
1890 (maxx - 0.03541257046163082, miny + 0.02031419426202774, maxz - 0.008743710815906525),
1891 (maxx - 0.0189414881169796, miny + 0.02043512463569641, maxz - 0.017369499430060387),
1892 (maxx - 0.008990231901407242, miny + 0.02056524157524109, maxz - 0.03307527117431164),
1893 (minx + 0.017320478335022926, miny + 0.02021842449903488, maxz - 0.01946074701845646),
1894 (minx + 0.03302655927836895, miny + 0.02023487538099289, maxz - 0.009509153664112091),
1895 (maxx - 0.008225221186876297, miny + 0.02066972106695175, minz + 0.0353640653192997),
1896 (maxx - 0.016851460561156273, miny + 0.020720526576042175, minz + 0.018892847001552582),
1897 (minx + 0.008694231510162354, miny + 0.020269230008125305, maxz - 0.03593196161091328),
1898 (minx + 0.035881591495126486, miny + 0.020624756813049316, minz + 0.008175786584615707),
1899 (maxx - 0.032557537779212, miny + 0.020704075694084167, minz + 0.008941244333982468),
1900 (minx + 0.008214566856622696, miny + 0.023270338773727417, minz + 0.03213237784802914),
1901 (maxx - 0.018073920160531998, miny + 0.023333996534347534, maxz - 0.016406163573265076),
1902 (maxx - 0.007764074951410294, miny + 0.023468807339668274, maxz - 0.03267789073288441),
1903 (minx + 0.03263115230947733, miny + 0.023126527667045593, maxz - 0.008262567222118378),
1904 (maxx - 0.015908580273389816, miny + 0.023629695177078247, minz + 0.018027253448963165),
1905 (minx + 0.01852441392838955, miny + 0.023405179381370544, minz + 0.015860654413700104),
1906 (maxx - 0.03513853810727596, miny + 0.023208707571029663, maxz - 0.007469546049833298),
1907 (minx + 0.016359103843569756, miny + 0.02310948073863983, maxz - 0.018572768196463585),
1908 (maxx - 0.006971497088670731, miny + 0.023577049374580383, minz + 0.0350920120254159),
1909 (minx + 0.007422015070915222, miny + 0.023162126541137695, maxz - 0.03563752118498087),
1910 (minx + 0.035589066334068775, miny + 0.023530468344688416, minz + 0.00692400336265564),
1911 (maxx - 0.032180625945329666, miny + 0.023612648248672485, minz + 0.0077170394361019135),
1912 (minx + 0.021761823445558548, miny + 0.020728543400764465, minz + 0.019355909898877144),
1913 (minx + 0.012772375717759132, miny + 0.020610973238945007, minz + 0.03354368917644024),
1914 (maxx - 0.03617278253659606, miny + 0.020557239651679993, maxz - 0.012130718678236008),
1915 (maxx - 0.021293656900525093, miny + 0.020666487514972687, maxz - 0.019922811537981033),
1916 (maxx - 0.012304211035370827, miny + 0.02078402042388916, maxz - 0.03411059454083443),
1917 (minx + 0.019873831421136856, miny + 0.020470723509788513, maxz - 0.021811936050653458),
1918 (minx + 0.034061891958117485, miny + 0.020485587418079376, maxz - 0.01282217912375927),
1919 (maxx - 0.011613138020038605, miny + 0.020878411829471588, minz + 0.0361242787912488),
1920 (maxx - 0.019405635073781013, miny + 0.02092430740594864, minz + 0.02124503068625927),
1921 (minx + 0.012081325054168701, miny + 0.020516619086265564, maxz - 0.03669118043035269),
1922 (minx + 0.03664098121225834, miny + 0.02083779126405716, minz + 0.01156378909945488),
1923 (maxx - 0.03359369467943907, miny + 0.020909443497657776, minz + 0.012255258858203888),
1924 (minx + 0.01420576497912407, miny + 0.023059040307998657, minz + 0.03400459885597229),
1925 (maxx - 0.022325390949845314, miny + 0.023111969232559204, maxz - 0.021023839712142944),
1926 (maxx - 0.013754449784755707, miny + 0.02322402596473694, maxz - 0.034551107324659824),
1927 (minx + 0.034504144452512264, miny + 0.022939488291740417, maxz - 0.014253776520490646),
1928 (maxx - 0.020525267347693443, miny + 0.023357778787612915, minz + 0.02227850630879402),
1929 (minx + 0.022776709869503975, miny + 0.023171141743659973, minz + 0.020477334037423134),
1930 (maxx - 0.036511816550046206, miny + 0.023007795214653015, maxz - 0.013594510033726692),
1931 (minx + 0.020976610481739044, miny + 0.02292531728744507, maxz - 0.02282501384615898),
1932 (maxx - 0.013095550239086151, miny + 0.02331402897834778, minz + 0.03646504878997803),
1933 (minx + 0.013546885922551155, miny + 0.0229690819978714, maxz - 0.037011553067713976),
1934 (minx + 0.03696316387504339, miny + 0.023275285959243774, minz + 0.013047976419329643),
1935 (maxx - 0.03405279852449894, miny + 0.023343607783317566, minz + 0.013707255944609642)]
1937 # Faces
1938 myfaces = [(24, 0, 1), (24, 1, 2), (24, 2, 3), (24, 3, 4), (24, 4, 5),
1939 (24, 5, 6), (24, 6, 7), (24, 7, 8), (24, 8, 9), (24, 9, 10),
1940 (24, 10, 11), (11, 0, 24), (140, 12, 13, 142), (142, 13, 14, 143), (143, 14, 15, 141),
1941 (141, 15, 16, 139), (139, 16, 17, 145), (145, 17, 18, 144), (144, 18, 19, 148), (148, 19, 20, 147),
1942 (147, 20, 21, 150), (150, 21, 22, 146), (146, 22, 23, 149), (140, 0, 11, 149), (13, 12, 25, 26),
1943 (14, 13, 26, 27), (15, 14, 27, 28), (16, 15, 28, 29), (17, 16, 29, 30), (18, 17, 30, 31),
1944 (19, 18, 31, 32), (20, 19, 32, 33), (21, 20, 33, 34), (22, 21, 34, 35), (23, 22, 35, 36),
1945 (12, 23, 36, 25), (25, 49, 50, 26), (49, 37, 38, 50), (26, 50, 51, 27), (50, 38, 39, 51),
1946 (27, 51, 52, 28), (51, 39, 40, 52), (28, 52, 53, 29), (52, 40, 41, 53), (29, 53, 54, 30),
1947 (53, 41, 42, 54), (30, 54, 55, 31), (54, 42, 43, 55), (31, 55, 56, 32), (55, 43, 44, 56),
1948 (32, 56, 57, 33), (56, 44, 45, 57), (33, 57, 58, 34), (57, 45, 46, 58), (34, 58, 59, 35),
1949 (58, 46, 47, 59), (35, 59, 60, 36), (59, 47, 48, 60), (36, 60, 49, 25), (60, 48, 37, 49),
1950 (38, 37, 61, 62), (39, 38, 62, 63), (40, 39, 63, 64), (41, 40, 64, 65), (42, 41, 65, 66),
1951 (43, 42, 66, 67), (44, 43, 67, 68), (45, 44, 68, 69), (46, 45, 69, 70), (47, 46, 70, 71),
1952 (48, 47, 71, 72), (37, 48, 72, 61), (124, 125, 74, 75), (171, 170, 85, 86), (173, 172, 90, 91),
1953 (174, 173, 91, 92), (176, 175, 88, 89), (178, 177, 93, 94), (175, 179, 87, 88), (177, 174, 92, 93),
1954 (170, 180, 96, 85), (180, 181, 95, 96), (181, 178, 94, 95), (172, 176, 89, 90), (179, 171, 86, 87),
1955 (90, 89, 101, 102), (86, 85, 97, 98), (93, 92, 104, 105), (96, 95, 107, 108), (85, 96, 108, 97),
1956 (89, 88, 100, 101), (91, 90, 102, 103), (88, 87, 99, 100), (92, 91, 103, 104), (95, 94, 106, 107),
1957 (94, 93, 105, 106), (87, 86, 98, 99), (105, 104, 116, 117), (108, 107, 119, 120), (97, 108, 120, 109),
1958 (101, 100, 112, 113), (103, 102, 114, 115), (100, 99, 111, 112), (104, 103, 115, 116),
1959 (107, 106, 118, 119),
1960 (106, 105, 117, 118), (99, 98, 110, 111), (102, 101, 113, 114), (98, 97, 109, 110), (120, 119, 121),
1961 (109, 120, 121), (113, 112, 121), (115, 114, 121), (112, 111, 121), (116, 115, 121),
1962 (119, 118, 121), (118, 117, 121), (111, 110, 121), (114, 113, 121), (110, 109, 121),
1963 (117, 116, 121), (169, 158, 62, 61), (158, 159, 63, 62), (159, 160, 64, 63), (160, 161, 65, 64),
1964 (161, 162, 66, 65), (162, 163, 67, 66), (163, 164, 68, 67), (164, 165, 69, 68), (165, 166, 70, 69),
1965 (166, 167, 71, 70), (167, 168, 72, 71), (168, 169, 61, 72), (72, 138, 127, 61), (63, 129, 130, 64),
1966 (67, 133, 134, 68), (64, 130, 131, 65), (61, 127, 128, 62), (69, 135, 136, 70), (66, 132, 133, 67),
1967 (65, 131, 132, 66), (71, 137, 138, 72), (70, 136, 137, 71), (62, 128, 129, 63), (68, 134, 135, 69),
1968 (0, 140, 142, 1), (1, 142, 143, 2), (2, 143, 141, 3), (3, 141, 139, 4), (4, 139, 145, 5),
1969 (5, 145, 144, 6), (6, 144, 148, 7), (7, 148, 147, 8), (8, 147, 150, 9), (9, 150, 146, 10),
1970 (10, 146, 149, 11), (12, 140, 149, 23), (153, 154, 163, 162), (154, 155, 164, 163), (155, 156, 165, 164),
1971 (125, 151, 73, 74), (152, 124, 75, 76), (122, 152, 76, 77), (153, 122, 77, 78), (154, 153, 78, 79),
1972 (155, 154, 79, 80), (156, 155, 80, 81), (123, 156, 81, 82), (157, 123, 82, 83), (126, 157, 83, 84),
1973 (73, 151, 126, 84), (151, 125, 158, 169), (125, 124, 159, 158), (124, 152, 160, 159),
1974 (152, 122, 161, 160),
1975 (122, 153, 162, 161), (156, 123, 166, 165), (123, 157, 167, 166), (157, 126, 168, 167),
1976 (126, 151, 169, 168),
1977 (185, 189, 213, 209), (192, 193, 217, 216), (172, 173, 197, 196), (174, 177, 201, 198),
1978 (171, 179, 203, 195),
1979 (184, 183, 207, 208), (187, 192, 216, 211), (170, 171, 195, 194), (179, 175, 199, 203),
1980 (176, 172, 196, 200),
1981 (183, 188, 212, 207), (190, 184, 208, 214), (74, 73, 187, 182), (79, 78, 188, 183), (80, 79, 183, 184),
1982 (77, 76, 189, 185), (82, 81, 190, 186), (76, 75, 191, 189), (81, 80, 184, 190), (73, 84, 192, 187),
1983 (84, 83, 193, 192), (83, 82, 186, 193), (78, 77, 185, 188), (75, 74, 182, 191), (206, 211, 194, 195),
1984 (207, 212, 196, 197), (208, 207, 197, 198), (209, 213, 199, 200), (210, 214, 201, 202),
1985 (213, 215, 203, 199),
1986 (214, 208, 198, 201), (211, 216, 204, 194), (216, 217, 205, 204), (217, 210, 202, 205),
1987 (212, 209, 200, 196),
1988 (215, 206, 195, 203), (180, 170, 194, 204), (173, 174, 198, 197), (193, 186, 210, 217),
1989 (186, 190, 214, 210),
1990 (181, 180, 204, 205), (175, 176, 200, 199), (188, 185, 209, 212), (189, 191, 215, 213),
1991 (182, 187, 211, 206),
1992 (178, 181, 205, 202), (177, 178, 202, 201), (191, 182, 206, 215)]
1994 return myvertex, myfaces
1997 # ----------------------------------------------
1998 # Handle model 04
1999 # ----------------------------------------------
2000 def handle_model_04():
2001 # ------------------------------------
2002 # Mesh data
2003 # ------------------------------------
2004 minx = -0.04349547624588013
2005 maxx = 0.04352114722132683
2006 miny = -0.07034946978092194
2007 maxy = 0
2008 minz = -0.12514087557792664
2009 maxz = 0.12514087557792664
2011 # Vertex
2012 myvertex = [(minx + 0.013302795588970184, maxy - 0.002780601382255554, minz + 0.010707870125770569),
2013 (minx + 0.0009496212005615234, maxy - 0.002942140679806471, minz + 0.030204586684703827),
2014 (minx, maxy - 0.003071820829063654, minz + 0.053266048431396484),
2015 (minx + 0.010708402842283249, maxy - 0.0031348932534456253, minz + 0.07371294498443604),
2016 (minx + 0.03020550962537527, maxy - 0.003114458406344056, minz + 0.08606655150651932),
2017 (maxx - 0.03374953381717205, maxy - 0.003015991533175111, minz + 0.08701672777533531),
2018 (maxx - 0.01330280676484108, maxy - 0.0028658765368163586, minz + 0.07630888000130653),
2019 (maxx - 0.0009496286511421204, maxy - 0.0027043374720960855, minz + 0.056812167167663574),
2020 (maxx, maxy - 0.0025746573228389025, minz + 0.033750712871551514),
2021 (maxx - 0.010708380490541458, maxy - 0.002511584199965, minz + 0.013303808867931366),
2022 (maxx - 0.03020548354834318, maxy - 0.0025320190470665693, minz + 0.0009501948952674866),
2023 (minx + 0.03374955803155899, maxy - 0.0026304861530661583, minz),
2024 (minx + 0.014472760260105133, maxy - 0.019589224830269814, minz + 0.01180487871170044),
2025 (minx + 0.002567145973443985, maxy - 0.019744910299777985, minz + 0.03059517592191696),
2026 (minx + 0.001651916652917862, maxy - 0.019869891926646233, minz + 0.052821069955825806),
2027 (minx + 0.011972300708293915, maxy - 0.019930677488446236, minz + 0.07252714410424232),
2028 (minx + 0.03076297417283058, maxy - 0.019910985603928566, minz + 0.0844331718981266),
2029 (maxx - 0.034027633257210255, maxy - 0.019816085696220398, minz + 0.0853489525616169),
2030 (maxx - 0.014321718364953995, maxy - 0.01967141032218933, minz + 0.07502909749746323),
2031 (maxx - 0.002416089177131653, maxy - 0.01951572299003601, minz + 0.056238800287246704),
2032 (maxx - 0.0015008561313152313, maxy - 0.019390743225812912, minz + 0.03401290625333786),
2033 (maxx - 0.011821221560239792, maxy - 0.01932995393872261, minz + 0.014306828379631042),
2034 (maxx - 0.03061189129948616, maxy - 0.01934964768588543, minz + 0.0024007856845855713),
2035 (minx + 0.03417872078716755, maxy - 0.019444547593593597, minz + 0.001484982669353485),
2036 (minx + 0.043508310547622386, maxy - 0.005668943747878075, minz + 0.043508365750312805),
2037 (minx + 0.029034355655312538, maxy - 0.019612153992056847, minz + 0.027617476880550385),
2038 (minx + 0.023084014654159546, maxy - 0.01968996599316597, minz + 0.037008725106716156),
2039 (minx + 0.022626593708992004, maxy - 0.01975242979824543, minz + 0.048117056488990784),
2040 (minx + 0.027784643694758415, maxy - 0.019782811403274536, minz + 0.05796600878238678),
2041 (minx + 0.03717608004808426, maxy - 0.019772969186306, minz + 0.06391655653715134),
2042 (maxx - 0.03873214777559042, maxy - 0.019725536927580833, minz + 0.06437425315380096),
2043 (maxx - 0.02888327743858099, maxy - 0.019653232768177986, minz + 0.059216469526290894),
2044 (maxx - 0.022932931780815125, maxy - 0.019575420767068863, minz + 0.04982522130012512),
2045 (maxx - 0.022475499659776688, maxy - 0.019512956961989403, minz + 0.0387168824672699),
2046 (maxx - 0.0276335496455431, maxy - 0.019482573494315147, minz + 0.0288679301738739),
2047 (maxx - 0.03702498506754637, maxy - 0.019492419436573982, minz + 0.022917382419109344),
2048 (minx + 0.038883245550096035, maxy - 0.0195398461073637, minz + 0.022459670901298523),
2049 (minx + 0.029087782837450504, maxy - 0.03150090575218201, minz + 0.027552828192710876),
2050 (minx + 0.023137442767620087, maxy - 0.03157871589064598, minz + 0.03694407641887665),
2051 (minx + 0.022680018097162247, maxy - 0.03164118155837059, minz + 0.04805241525173187),
2052 (minx + 0.027838071808218956, maxy - 0.031671565026044846, minz + 0.05790136009454727),
2053 (minx + 0.0372295081615448, maxy - 0.03166172280907631, minz + 0.06385190784931183),
2054 (maxx - 0.03867871919646859, maxy - 0.03161429241299629, minz + 0.06430960446596146),
2055 (maxx - 0.028829848393797874, maxy - 0.03154198080301285, minz + 0.05915181338787079),
2056 (maxx - 0.022879503667354584, maxy - 0.031464170664548874, minz + 0.04976056516170502),
2057 (maxx - 0.022422071546316147, maxy - 0.03140170872211456, minz + 0.03865223377943039),
2058 (maxx - 0.02758011966943741, maxy - 0.03137132152915001, minz + 0.028803281486034393),
2059 (maxx - 0.03697155695408583, maxy - 0.031381167471408844, minz + 0.022852733731269836),
2060 (minx + 0.038936673663556576, maxy - 0.03142859786748886, minz + 0.022395022213459015),
2061 (minx + 0.029038896784186363, maxy - 0.020622700452804565, minz + 0.027611978352069855),
2062 (minx + 0.02308855764567852, maxy - 0.02070051059126854, minz + 0.03700323402881622),
2063 (minx + 0.02263113297522068, maxy - 0.020762978121638298, minz + 0.04811156541109085),
2064 (minx + 0.02778918668627739, maxy - 0.020793357864022255, minz + 0.05796051025390625),
2065 (minx + 0.037180622573941946, maxy - 0.02078351564705372, minz + 0.0639110580086708),
2066 (maxx - 0.03872760524973273, maxy - 0.020736083388328552, minz + 0.06436875835061073),
2067 (maxx - 0.028878736309707165, maxy - 0.020663777366280556, minz + 0.059210970997810364),
2068 (maxx - 0.02292838878929615, maxy - 0.020585965365171432, minz + 0.04981972277164459),
2069 (maxx - 0.022470960393548012, maxy - 0.020523501560091972, minz + 0.038711391389369965),
2070 (maxx - 0.027629008516669273, maxy - 0.020493119955062866, minz + 0.02886243909597397),
2071 (maxx - 0.03702044300734997, maxy - 0.020502964034676552, minz + 0.022911883890628815),
2072 (minx + 0.03888778714463115, maxy - 0.02055039070546627, minz + 0.022454172372817993),
2073 (minx + 0.03503026906400919, maxy - 0.0326739065349102, minz + 0.03399384766817093),
2074 (minx + 0.03150810860097408, maxy - 0.032719966024160385, minz + 0.039552778005599976),
2075 (minx + 0.03123734798282385, maxy - 0.03275693953037262, minz + 0.04612809419631958),
2076 (minx + 0.034290531650185585, maxy - 0.032774921506643295, minz + 0.051957935094833374),
2077 (minx + 0.039849569322541356, maxy - 0.0327690951526165, minz + 0.0554802268743515),
2078 (maxx - 0.04059170465916395, maxy - 0.03274102136492729, minz + 0.055751144886016846),
2079 (maxx - 0.03476190101355314, maxy - 0.032698217779397964, minz + 0.05269812047481537),
2080 (maxx - 0.031239738687872887, maxy - 0.03265216201543808, minz + 0.04713919758796692),
2081 (maxx - 0.03096897155046463, maxy - 0.032615188509225845, minz + 0.040563881397247314),
2082 (maxx - 0.03402215428650379, maxy - 0.03259720280766487, minz + 0.03473402559757233),
2083 (maxx - 0.03958118986338377, maxy - 0.032603029161691666, minz + 0.031211741268634796),
2084 (minx + 0.04086008481681347, maxy - 0.032631102949380875, minz + 0.030940808355808258),
2085 (minx + 0.03971285093575716, miny + 0.029022332280874252, minz + 0.05597035586833954),
2086 (maxx - 0.03359287604689598, miny + 0.029201623052358627, minz + 0.034330859780311584),
2087 (minx + 0.03072980046272278, miny + 0.029035013169050217, minz + 0.04621553421020508),
2088 (minx + 0.031012218445539474, miny + 0.029073577374219894, minz + 0.03935709595680237),
2089 (minx + 0.04076687735505402, miny + 0.029166262596845627, minz + 0.03037431836128235),
2090 (minx + 0.034451283514499664, maxy - 0.03338594362139702, minz + 0.033365122973918915),
2091 (minx + 0.030692334286868572, maxy - 0.03343509882688522, minz + 0.039297766983509064),
2092 (minx + 0.03040337096899748, maxy - 0.03347455710172653, minz + 0.04631512612104416),
2093 (minx + 0.03366181440651417, maxy - 0.03349374979734421, minz + 0.05253690481185913),
2094 (minx + 0.03959457715973258, maxy - 0.033487528562545776, minz + 0.05629599094390869),
2095 (maxx - 0.040404647355899215, maxy - 0.033457569777965546, minz + 0.056585125625133514),
2096 (maxx - 0.03418291546404362, maxy - 0.03341188654303551, minz + 0.05332684516906738),
2097 (maxx - 0.030423964373767376, maxy - 0.0333627350628376, minz + 0.047394201159477234),
2098 (maxx - 0.030134993605315685, maxy - 0.03332327678799629, minz + 0.04037684202194214),
2099 (maxx - 0.033393437042832375, maxy - 0.03330408036708832, minz + 0.03415506333112717),
2100 (maxx - 0.03932619746774435, maxy - 0.03331030160188675, minz + 0.030395977199077606),
2101 (minx + 0.040673027746379375, maxy - 0.03334026038646698, minz + 0.030106835067272186),
2102 (minx + 0.030282274819910526, maxy - 0.005427400581538677, minz + 0.08584162965416908),
2103 (minx + 0.013463903218507767, maxy - 0.005095209460705519, minz + 0.0108589306473732),
2104 (minx + 0.010882444679737091, maxy - 0.005447734147310257, minz + 0.07354965433478355),
2105 (minx + 0.0011723600327968597, maxy - 0.005255943164229393, minz + 0.03025837242603302),
2106 (minx + 0.0002274736762046814, maxy - 0.005384976044297218, minz + 0.05320477485656738),
2107 (maxx - 0.0134431142359972, maxy - 0.005180059932172298, minz + 0.0761326476931572),
2108 (maxx - 0.033787828870117664, maxy - 0.005329424981027842, minz + 0.08678706735372543),
2109 (maxx - 0.0302614476531744, maxy - 0.004847868345677853, minz + 0.0011499449610710144),
2110 (maxx - 0.00020667165517807007, maxy - 0.004890293348580599, minz + 0.03378681838512421),
2111 (maxx - 0.0011515654623508453, maxy - 0.0050193266943097115, minz + 0.05673321336507797),
2112 (minx + 0.033808655105531216, maxy - 0.004945843946188688, minz + 0.0002044886350631714),
2113 (maxx - 0.010861624032258987, maxy - 0.004827534779906273, minz + 0.01344192773103714),
2114 (minx + 0.03468604106456041, miny + 0.029121622443199158, minz + 0.033558815717697144),
2115 (minx + 0.033914451487362385, miny + 0.02901625633239746, minz + 0.05229640752077103),
2116 (maxx - 0.04044530005194247, miny + 0.029051613062620163, minz + 0.056252941489219666),
2117 (maxx - 0.034364476799964905, miny + 0.02909626066684723, minz + 0.053068459033966064),
2118 (maxx - 0.03069065511226654, miny + 0.029144294559955597, minz + 0.04727017134428024),
2119 (maxx - 0.030408228747546673, miny + 0.029182862490415573, minz + 0.04041174054145813),
2120 (maxx - 0.03939127502962947, miny + 0.029195547103881836, minz + 0.030656911432743073),
2121 (minx + 0.03147818427532911, maxy - 0.033236272633075714, minz + 0.03954096883535385),
2122 (minx + 0.031206720508635044, maxy - 0.03327333927154541, minz + 0.0461333692073822),
2123 (minx + 0.034267837181687355, maxy - 0.033291369676589966, minz + 0.05197836458683014),
2124 (minx + 0.03984131896868348, maxy - 0.03328552842140198, minz + 0.05550979822874069),
2125 (maxx - 0.040582869900390506, maxy - 0.0332573801279068, minz + 0.055781424045562744),
2126 (maxx - 0.03473791852593422, maxy - 0.033214468508958817, minz + 0.05272047221660614),
2127 (maxx - 0.031206604093313217, maxy - 0.03316829353570938, minz + 0.04714709520339966),
2128 (maxx - 0.030935133807361126, maxy - 0.03313122317194939, minz + 0.040554702281951904),
2129 (maxx - 0.03399624954909086, maxy - 0.03311318904161453, minz + 0.03470969945192337),
2130 (maxx - 0.03956972947344184, maxy - 0.03311903029680252, minz + 0.03117825835943222),
2131 (minx + 0.04085446032695472, maxy - 0.0331471785902977, minz + 0.03090662509202957),
2132 (minx + 0.035009496845304966, maxy - 0.03319009393453598, minz + 0.033967599272727966),
2133 (maxx - 0.03939127502962947, miny + 0.0002205297350883484, minz + 0.0343027338385582),
2134 (maxx - 0.030408228747546673, miny + 0.007109262049198151, minz + 0.04120940715074539),
2135 (maxx - 0.03069065511226654, miny + 0.011931635439395905, minz + 0.046086326241493225),
2136 (maxx - 0.034364476799964905, miny + 0.01599767804145813, minz + 0.050220295786857605),
2137 (maxx - 0.04044530005194247, miny + 0.01821787655353546, minz + 0.05250363051891327),
2138 (minx + 0.033914451487362385, miny + 0.015395186841487885, minz + 0.04973094165325165),
2139 (minx + 0.03468604106456041, miny + 0.0022202134132385254, minz + 0.03640696406364441),
2140 (minx + 0.04076687735505402, miny, minz + 0.03412361443042755),
2141 (minx + 0.031012218445539474, miny + 0.006286241114139557, minz + 0.040540941059589386),
2142 (minx + 0.03072980046272278, miny + 0.011108621954917908, minz + 0.04541786015033722),
2143 (maxx - 0.03359287604689598, miny + 0.002822697162628174, minz + 0.036896318197250366),
2144 (minx + 0.03971285093575716, miny + 0.01799735426902771, minz + 0.05232451856136322),
2145 (minx + 0.0343002462759614, miny + 0.015705399215221405, maxz - 0.10733164101839066),
2146 (minx + 0.030871009454131126, miny + 0.011495128273963928, maxz - 0.10745517536997795),
2147 (minx + 0.030871009454131126, miny + 0.006645478308200836, maxz - 0.1074824407696724),
2148 (minx + 0.0343002462759614, miny + 0.0024559199810028076, maxz - 0.10740615427494049),
2149 (minx + 0.04023986402899027, miny + 4.902482032775879e-05, maxz - 0.10724674165248871),
2150 (maxx - 0.03991828765720129, miny + 6.973743438720703e-05, maxz - 0.10704692453145981),
2151 (maxx - 0.03397867642343044, miny + 0.0025124847888946533, maxz - 0.10686022788286209),
2152 (maxx - 0.030549442395567894, miny + 0.00672275573015213, maxz - 0.1067366972565651),
2153 (maxx - 0.030549442395567894, miny + 0.011572405695915222, maxz - 0.10670943185687065),
2154 (maxx - 0.03397867642343044, miny + 0.015761971473693848, maxz - 0.10678572952747345),
2155 (maxx - 0.03991828765720129, miny + 0.0181688591837883, maxz - 0.10694513842463493),
2156 (minx + 0.04023986402899027, miny + 0.018148154020309448, maxz - 0.10714496672153473),
2157 (minx + 0.013302795588970184, maxy - 0.002780601382255554, maxz - 0.010707870125770569),
2158 (minx + 0.0009496212005615234, maxy - 0.002942140679806471, maxz - 0.030204586684703827),
2159 (minx, maxy - 0.003071820829063654, maxz - 0.053266048431396484),
2160 (minx + 0.010708402842283249, maxy - 0.0031348932534456253, maxz - 0.07371294498443604),
2161 (minx + 0.03020550962537527, maxy - 0.003114458406344056, maxz - 0.08606655150651932),
2162 (maxx - 0.03374953381717205, maxy - 0.003015991533175111, maxz - 0.08701672777533531),
2163 (maxx - 0.01330280676484108, maxy - 0.0028658765368163586, maxz - 0.07630888000130653),
2164 (maxx - 0.0009496286511421204, maxy - 0.0027043374720960855, maxz - 0.056812167167663574),
2165 (maxx, maxy - 0.0025746573228389025, maxz - 0.033750712871551514),
2166 (maxx - 0.010708380490541458, maxy - 0.002511584199965, maxz - 0.013303808867931366),
2167 (maxx - 0.03020548354834318, maxy - 0.0025320190470665693, maxz - 0.0009501948952674866),
2168 (minx + 0.03374955803155899, maxy - 0.0026304861530661583, maxz),
2169 (minx + 0.014472760260105133, maxy - 0.019589224830269814, maxz - 0.01180487871170044),
2170 (minx + 0.002567145973443985, maxy - 0.019744910299777985, maxz - 0.03059517592191696),
2171 (minx + 0.001651916652917862, maxy - 0.019869891926646233, maxz - 0.052821069955825806),
2172 (minx + 0.011972300708293915, maxy - 0.019930677488446236, maxz - 0.07252714410424232),
2173 (minx + 0.03076297417283058, maxy - 0.019910985603928566, maxz - 0.0844331718981266),
2174 (maxx - 0.034027633257210255, maxy - 0.019816085696220398, maxz - 0.0853489525616169),
2175 (maxx - 0.014321718364953995, maxy - 0.01967141032218933, maxz - 0.07502909749746323),
2176 (maxx - 0.002416089177131653, maxy - 0.01951572299003601, maxz - 0.056238800287246704),
2177 (maxx - 0.0015008561313152313, maxy - 0.019390743225812912, maxz - 0.03401290625333786),
2178 (maxx - 0.011821221560239792, maxy - 0.01932995393872261, maxz - 0.014306828379631042),
2179 (maxx - 0.03061189129948616, maxy - 0.01934964768588543, maxz - 0.0024007856845855713),
2180 (minx + 0.03417872078716755, maxy - 0.019444547593593597, maxz - 0.001484982669353485),
2181 (minx + 0.043508310547622386, maxy - 0.005668943747878075, maxz - 0.043508365750312805),
2182 (minx + 0.029034355655312538, maxy - 0.019612153992056847, maxz - 0.027617476880550385),
2183 (minx + 0.023084014654159546, maxy - 0.01968996599316597, maxz - 0.037008725106716156),
2184 (minx + 0.022626593708992004, maxy - 0.01975242979824543, maxz - 0.048117056488990784),
2185 (minx + 0.027784643694758415, maxy - 0.019782811403274536, maxz - 0.05796600878238678),
2186 (minx + 0.03717608004808426, maxy - 0.019772969186306, maxz - 0.06391655653715134),
2187 (maxx - 0.03873214777559042, maxy - 0.019725536927580833, maxz - 0.06437425315380096),
2188 (maxx - 0.02888327743858099, maxy - 0.019653232768177986, maxz - 0.059216469526290894),
2189 (maxx - 0.022932931780815125, maxy - 0.019575420767068863, maxz - 0.04982522130012512),
2190 (maxx - 0.022475499659776688, maxy - 0.019512956961989403, maxz - 0.0387168824672699),
2191 (maxx - 0.0276335496455431, maxy - 0.019482573494315147, maxz - 0.0288679301738739),
2192 (maxx - 0.03702498506754637, maxy - 0.019492419436573982, maxz - 0.022917382419109344),
2193 (minx + 0.038883245550096035, maxy - 0.0195398461073637, maxz - 0.022459670901298523),
2194 (minx + 0.029087782837450504, maxy - 0.03150090575218201, maxz - 0.027552828192710876),
2195 (minx + 0.023137442767620087, maxy - 0.03157871589064598, maxz - 0.03694407641887665),
2196 (minx + 0.022680018097162247, maxy - 0.03164118155837059, maxz - 0.04805241525173187),
2197 (minx + 0.027838071808218956, maxy - 0.031671565026044846, maxz - 0.05790136009454727),
2198 (minx + 0.0372295081615448, maxy - 0.03166172280907631, maxz - 0.06385190784931183),
2199 (maxx - 0.03867871919646859, maxy - 0.03161429241299629, maxz - 0.06430960446596146),
2200 (maxx - 0.028829848393797874, maxy - 0.03154198080301285, maxz - 0.05915181338787079),
2201 (maxx - 0.022879503667354584, maxy - 0.031464170664548874, maxz - 0.04976056516170502),
2202 (maxx - 0.022422071546316147, maxy - 0.03140170872211456, maxz - 0.03865223377943039),
2203 (maxx - 0.02758011966943741, maxy - 0.03137132152915001, maxz - 0.028803281486034393),
2204 (maxx - 0.03697155695408583, maxy - 0.031381167471408844, maxz - 0.022852733731269836),
2205 (minx + 0.038936673663556576, maxy - 0.03142859786748886, maxz - 0.022395022213459015),
2206 (minx + 0.029038896784186363, maxy - 0.020622700452804565, maxz - 0.027611978352069855),
2207 (minx + 0.02308855764567852, maxy - 0.02070051059126854, maxz - 0.03700323402881622),
2208 (minx + 0.02263113297522068, maxy - 0.020762978121638298, maxz - 0.04811156541109085),
2209 (minx + 0.02778918668627739, maxy - 0.020793357864022255, maxz - 0.05796051025390625),
2210 (minx + 0.037180622573941946, maxy - 0.02078351564705372, maxz - 0.0639110580086708),
2211 (maxx - 0.03872760524973273, maxy - 0.020736083388328552, maxz - 0.06436875835061073),
2212 (maxx - 0.028878736309707165, maxy - 0.020663777366280556, maxz - 0.059210970997810364),
2213 (maxx - 0.02292838878929615, maxy - 0.020585965365171432, maxz - 0.04981972277164459),
2214 (maxx - 0.022470960393548012, maxy - 0.020523501560091972, maxz - 0.038711391389369965),
2215 (maxx - 0.027629008516669273, maxy - 0.020493119955062866, maxz - 0.02886243909597397),
2216 (maxx - 0.03702044300734997, maxy - 0.020502964034676552, maxz - 0.022911883890628815),
2217 (minx + 0.03888778714463115, maxy - 0.02055039070546627, maxz - 0.022454172372817993),
2218 (minx + 0.03503026906400919, maxy - 0.0326739065349102, maxz - 0.03399384766817093),
2219 (minx + 0.03150810860097408, maxy - 0.032719966024160385, maxz - 0.039552778005599976),
2220 (minx + 0.03123734798282385, maxy - 0.03275693953037262, maxz - 0.04612809419631958),
2221 (minx + 0.034290531650185585, maxy - 0.032774921506643295, maxz - 0.051957935094833374),
2222 (minx + 0.039849569322541356, maxy - 0.0327690951526165, maxz - 0.0554802268743515),
2223 (maxx - 0.04059170465916395, maxy - 0.03274102136492729, maxz - 0.055751144886016846),
2224 (maxx - 0.03476190101355314, maxy - 0.032698217779397964, maxz - 0.05269812047481537),
2225 (maxx - 0.031239738687872887, maxy - 0.03265216201543808, maxz - 0.04713919758796692),
2226 (maxx - 0.03096897155046463, maxy - 0.032615188509225845, maxz - 0.040563881397247314),
2227 (maxx - 0.03402215428650379, maxy - 0.03259720280766487, maxz - 0.03473402559757233),
2228 (maxx - 0.03958118986338377, maxy - 0.032603029161691666, maxz - 0.031211741268634796),
2229 (minx + 0.04086008481681347, maxy - 0.032631102949380875, maxz - 0.030940808355808258),
2230 (minx + 0.03971285093575716, miny + 0.029022332280874252, maxz - 0.05597035586833954),
2231 (maxx - 0.03359287604689598, miny + 0.029201623052358627, maxz - 0.034330859780311584),
2232 (minx + 0.03072980046272278, miny + 0.029035013169050217, maxz - 0.04621553421020508),
2233 (minx + 0.031012218445539474, miny + 0.029073577374219894, maxz - 0.03935709595680237),
2234 (minx + 0.04076687735505402, miny + 0.029166262596845627, maxz - 0.03037431836128235),
2235 (minx + 0.034451283514499664, maxy - 0.03338594362139702, maxz - 0.033365122973918915),
2236 (minx + 0.030692334286868572, maxy - 0.03343509882688522, maxz - 0.039297766983509064),
2237 (minx + 0.03040337096899748, maxy - 0.03347455710172653, maxz - 0.04631512612104416),
2238 (minx + 0.03366181440651417, maxy - 0.03349374979734421, maxz - 0.05253690481185913),
2239 (minx + 0.03959457715973258, maxy - 0.033487528562545776, maxz - 0.05629599094390869),
2240 (maxx - 0.040404647355899215, maxy - 0.033457569777965546, maxz - 0.056585125625133514),
2241 (maxx - 0.03418291546404362, maxy - 0.03341188654303551, maxz - 0.05332684516906738),
2242 (maxx - 0.030423964373767376, maxy - 0.0333627350628376, maxz - 0.047394201159477234),
2243 (maxx - 0.030134993605315685, maxy - 0.03332327678799629, maxz - 0.04037684202194214),
2244 (maxx - 0.033393437042832375, maxy - 0.03330408036708832, maxz - 0.03415506333112717),
2245 (maxx - 0.03932619746774435, maxy - 0.03331030160188675, maxz - 0.030395977199077606),
2246 (minx + 0.040673027746379375, maxy - 0.03334026038646698, maxz - 0.030106835067272186),
2247 (minx + 0.030282274819910526, maxy - 0.005427400581538677, maxz - 0.08584162965416908),
2248 (minx + 0.013463903218507767, maxy - 0.005095209460705519, maxz - 0.0108589306473732),
2249 (minx + 0.010882444679737091, maxy - 0.005447734147310257, maxz - 0.07354965433478355),
2250 (minx + 0.0011723600327968597, maxy - 0.005255943164229393, maxz - 0.03025837242603302),
2251 (minx + 0.0002274736762046814, maxy - 0.005384976044297218, maxz - 0.05320477485656738),
2252 (maxx - 0.0134431142359972, maxy - 0.005180059932172298, maxz - 0.0761326476931572),
2253 (maxx - 0.033787828870117664, maxy - 0.005329424981027842, maxz - 0.08678706735372543),
2254 (maxx - 0.0302614476531744, maxy - 0.004847868345677853, maxz - 0.0011499449610710144),
2255 (maxx - 0.00020667165517807007, maxy - 0.004890293348580599, maxz - 0.03378681838512421),
2256 (maxx - 0.0011515654623508453, maxy - 0.0050193266943097115, maxz - 0.05673321336507797),
2257 (minx + 0.033808655105531216, maxy - 0.004945843946188688, maxz - 0.0002044886350631714),
2258 (maxx - 0.010861624032258987, maxy - 0.004827534779906273, maxz - 0.01344192773103714),
2259 (minx + 0.03468604106456041, miny + 0.029121622443199158, maxz - 0.033558815717697144),
2260 (minx + 0.033914451487362385, miny + 0.02901625633239746, maxz - 0.05229640752077103),
2261 (maxx - 0.04044530005194247, miny + 0.029051613062620163, maxz - 0.056252941489219666),
2262 (maxx - 0.034364476799964905, miny + 0.02909626066684723, maxz - 0.053068459033966064),
2263 (maxx - 0.03069065511226654, miny + 0.029144294559955597, maxz - 0.04727017134428024),
2264 (maxx - 0.030408228747546673, miny + 0.029182862490415573, maxz - 0.04041174054145813),
2265 (maxx - 0.03939127502962947, miny + 0.029195547103881836, maxz - 0.030656911432743073),
2266 (minx + 0.03147818427532911, maxy - 0.033236272633075714, maxz - 0.03954096883535385),
2267 (minx + 0.031206720508635044, maxy - 0.03327333927154541, maxz - 0.0461333692073822),
2268 (minx + 0.034267837181687355, maxy - 0.033291369676589966, maxz - 0.05197836458683014),
2269 (minx + 0.03984131896868348, maxy - 0.03328552842140198, maxz - 0.05550979822874069),
2270 (maxx - 0.040582869900390506, maxy - 0.0332573801279068, maxz - 0.055781424045562744),
2271 (maxx - 0.03473791852593422, maxy - 0.033214468508958817, maxz - 0.05272047221660614),
2272 (maxx - 0.031206604093313217, maxy - 0.03316829353570938, maxz - 0.04714709520339966),
2273 (maxx - 0.030935133807361126, maxy - 0.03313122317194939, maxz - 0.040554702281951904),
2274 (maxx - 0.03399624954909086, maxy - 0.03311318904161453, maxz - 0.03470969945192337),
2275 (maxx - 0.03956972947344184, maxy - 0.03311903029680252, maxz - 0.03117825835943222),
2276 (minx + 0.04085446032695472, maxy - 0.0331471785902977, maxz - 0.03090662509202957),
2277 (minx + 0.035009496845304966, maxy - 0.03319009393453598, maxz - 0.033967599272727966),
2278 (maxx - 0.03939127502962947, miny + 0.0002205297350883484, maxz - 0.0343027338385582),
2279 (maxx - 0.030408228747546673, miny + 0.007109262049198151, maxz - 0.04120940715074539),
2280 (maxx - 0.03069065511226654, miny + 0.011931635439395905, maxz - 0.046086326241493225),
2281 (maxx - 0.034364476799964905, miny + 0.01599767804145813, maxz - 0.050220295786857605),
2282 (maxx - 0.04044530005194247, miny + 0.01821787655353546, maxz - 0.05250363051891327),
2283 (minx + 0.033914451487362385, miny + 0.015395186841487885, maxz - 0.04973094165325165),
2284 (minx + 0.03468604106456041, miny + 0.0022202134132385254, maxz - 0.03640696406364441),
2285 (minx + 0.04076687735505402, miny, maxz - 0.03412361443042755),
2286 (minx + 0.031012218445539474, miny + 0.006286241114139557, maxz - 0.040540941059589386),
2287 (minx + 0.03072980046272278, miny + 0.011108621954917908, maxz - 0.04541786015033722),
2288 (maxx - 0.03359287604689598, miny + 0.002822697162628174, maxz - 0.036896318197250366),
2289 (minx + 0.03971285093575716, miny + 0.01799735426902771, maxz - 0.05232451856136322),
2290 (minx + 0.0343002462759614, miny + 0.015705399215221405, minz + 0.10733164101839066),
2291 (minx + 0.030871009454131126, miny + 0.011495128273963928, minz + 0.10745517536997795),
2292 (minx + 0.030871009454131126, miny + 0.006645478308200836, minz + 0.1074824407696724),
2293 (minx + 0.0343002462759614, miny + 0.0024559199810028076, minz + 0.10740615427494049),
2294 (minx + 0.04023986402899027, miny + 4.902482032775879e-05, minz + 0.10724674165248871),
2295 (maxx - 0.03991828765720129, miny + 6.973743438720703e-05, minz + 0.10704692453145981),
2296 (maxx - 0.03397867642343044, miny + 0.0025124847888946533, minz + 0.10686022788286209),
2297 (maxx - 0.030549442395567894, miny + 0.00672275573015213, minz + 0.1067366972565651),
2298 (maxx - 0.030549442395567894, miny + 0.011572405695915222, minz + 0.10670943185687065),
2299 (maxx - 0.03397867642343044, miny + 0.015761971473693848, minz + 0.10678572952747345),
2300 (maxx - 0.03991828765720129, miny + 0.0181688591837883, minz + 0.10694513842463493),
2301 (minx + 0.04023986402899027, miny + 0.018148154020309448, minz + 0.10714496672153473)]
2303 # Faces
2304 myfaces = [(24, 0, 1), (24, 1, 2), (24, 2, 3), (24, 3, 4), (24, 4, 5),
2305 (24, 5, 6), (24, 6, 7), (24, 7, 8), (24, 8, 9), (24, 9, 10),
2306 (24, 10, 11), (11, 0, 24), (91, 12, 13, 93), (93, 13, 14, 94), (94, 14, 15, 92),
2307 (92, 15, 16, 90), (90, 16, 17, 96), (96, 17, 18, 95), (95, 18, 19, 99), (99, 19, 20, 98),
2308 (98, 20, 21, 101), (101, 21, 22, 97), (97, 22, 23, 100), (91, 0, 11, 100), (13, 12, 25, 26),
2309 (14, 13, 26, 27), (15, 14, 27, 28), (16, 15, 28, 29), (17, 16, 29, 30), (18, 17, 30, 31),
2310 (19, 18, 31, 32), (20, 19, 32, 33), (21, 20, 33, 34), (22, 21, 34, 35), (23, 22, 35, 36),
2311 (12, 23, 36, 25), (25, 49, 50, 26), (49, 37, 38, 50), (26, 50, 51, 27), (50, 38, 39, 51),
2312 (27, 51, 52, 28), (51, 39, 40, 52), (28, 52, 53, 29), (52, 40, 41, 53), (29, 53, 54, 30),
2313 (53, 41, 42, 54), (30, 54, 55, 31), (54, 42, 43, 55), (31, 55, 56, 32), (55, 43, 44, 56),
2314 (32, 56, 57, 33), (56, 44, 45, 57), (33, 57, 58, 34), (57, 45, 46, 58), (34, 58, 59, 35),
2315 (58, 46, 47, 59), (35, 59, 60, 36), (59, 47, 48, 60), (36, 60, 49, 25), (60, 48, 37, 49),
2316 (38, 37, 61, 62), (39, 38, 62, 63), (40, 39, 63, 64), (41, 40, 64, 65), (42, 41, 65, 66),
2317 (43, 42, 66, 67), (44, 43, 67, 68), (45, 44, 68, 69), (46, 45, 69, 70), (47, 46, 70, 71),
2318 (48, 47, 71, 72), (37, 48, 72, 61), (120, 109, 62, 61), (109, 110, 63, 62), (110, 111, 64, 63),
2319 (111, 112, 65, 64), (112, 113, 66, 65), (113, 114, 67, 66), (114, 115, 68, 67), (115, 116, 69, 68),
2320 (116, 117, 70, 69), (117, 118, 71, 70), (118, 119, 72, 71), (119, 120, 61, 72), (72, 89, 78, 61),
2321 (63, 80, 81, 64), (67, 84, 85, 68), (64, 81, 82, 65), (61, 78, 79, 62), (69, 86, 87, 70),
2322 (66, 83, 84, 67), (65, 82, 83, 66), (71, 88, 89, 72), (70, 87, 88, 71), (62, 79, 80, 63),
2323 (68, 85, 86, 69), (0, 91, 93, 1), (1, 93, 94, 2), (2, 94, 92, 3), (3, 92, 90, 4),
2324 (4, 90, 96, 5), (5, 96, 95, 6), (6, 95, 99, 7), (7, 99, 98, 8), (8, 98, 101, 9),
2325 (9, 101, 97, 10), (10, 97, 100, 11), (12, 91, 100, 23), (104, 105, 114, 113), (105, 106, 115, 114),
2326 (106, 107, 116, 115), (102, 76, 109, 120), (76, 75, 110, 109), (75, 103, 111, 110), (103, 73, 112, 111),
2327 (73, 104, 113, 112), (107, 74, 117, 116), (74, 108, 118, 117), (108, 77, 119, 118), (77, 102, 120, 119),
2328 (74, 107, 122, 131), (107, 106, 123, 122), (104, 73, 132, 125), (106, 105, 124, 123), (75, 76, 129, 130),
2329 (73, 103, 126, 132), (105, 104, 125, 124), (102, 77, 128, 127), (103, 75, 130, 126), (77, 108, 121, 128),
2330 (76, 102, 127, 129), (108, 74, 131, 121), (126, 130, 134, 133), (130, 129, 135, 134),
2331 (129, 127, 136, 135),
2332 (127, 128, 137, 136), (128, 121, 138, 137), (121, 131, 139, 138), (131, 122, 140, 139),
2333 (122, 123, 141, 140),
2334 (123, 124, 142, 141), (124, 125, 143, 142), (125, 132, 144, 143), (132, 126, 133, 144),
2335 (169, 146, 145),
2336 (169, 147, 146), (169, 148, 147), (169, 149, 148), (169, 150, 149), (169, 151, 150),
2337 (169, 152, 151), (169, 153, 152), (169, 154, 153), (169, 155, 154), (169, 156, 155),
2338 (156, 169, 145), (236, 238, 158, 157), (238, 239, 159, 158), (239, 237, 160, 159), (237, 235, 161, 160),
2339 (235, 241, 162, 161), (241, 240, 163, 162), (240, 244, 164, 163), (244, 243, 165, 164),
2340 (243, 246, 166, 165),
2341 (246, 242, 167, 166), (242, 245, 168, 167), (236, 245, 156, 145), (158, 171, 170, 157),
2342 (159, 172, 171, 158),
2343 (160, 173, 172, 159), (161, 174, 173, 160), (162, 175, 174, 161), (163, 176, 175, 162),
2344 (164, 177, 176, 163),
2345 (165, 178, 177, 164), (166, 179, 178, 165), (167, 180, 179, 166), (168, 181, 180, 167),
2346 (157, 170, 181, 168),
2347 (170, 171, 195, 194), (194, 195, 183, 182), (171, 172, 196, 195), (195, 196, 184, 183),
2348 (172, 173, 197, 196),
2349 (196, 197, 185, 184), (173, 174, 198, 197), (197, 198, 186, 185), (174, 175, 199, 198),
2350 (198, 199, 187, 186),
2351 (175, 176, 200, 199), (199, 200, 188, 187), (176, 177, 201, 200), (200, 201, 189, 188),
2352 (177, 178, 202, 201),
2353 (201, 202, 190, 189), (178, 179, 203, 202), (202, 203, 191, 190), (179, 180, 204, 203),
2354 (203, 204, 192, 191),
2355 (180, 181, 205, 204), (204, 205, 193, 192), (181, 170, 194, 205), (205, 194, 182, 193),
2356 (183, 207, 206, 182),
2357 (184, 208, 207, 183), (185, 209, 208, 184), (186, 210, 209, 185), (187, 211, 210, 186),
2358 (188, 212, 211, 187),
2359 (189, 213, 212, 188), (190, 214, 213, 189), (191, 215, 214, 190), (192, 216, 215, 191),
2360 (193, 217, 216, 192),
2361 (182, 206, 217, 193), (265, 206, 207, 254), (254, 207, 208, 255), (255, 208, 209, 256),
2362 (256, 209, 210, 257),
2363 (257, 210, 211, 258), (258, 211, 212, 259), (259, 212, 213, 260), (260, 213, 214, 261),
2364 (261, 214, 215, 262),
2365 (262, 215, 216, 263), (263, 216, 217, 264), (264, 217, 206, 265), (217, 206, 223, 234),
2366 (208, 209, 226, 225),
2367 (212, 213, 230, 229), (209, 210, 227, 226), (206, 207, 224, 223), (214, 215, 232, 231),
2368 (211, 212, 229, 228),
2369 (210, 211, 228, 227), (216, 217, 234, 233), (215, 216, 233, 232), (207, 208, 225, 224),
2370 (213, 214, 231, 230),
2371 (145, 146, 238, 236), (146, 147, 239, 238), (147, 148, 237, 239), (148, 149, 235, 237),
2372 (149, 150, 241, 235),
2373 (150, 151, 240, 241), (151, 152, 244, 240), (152, 153, 243, 244), (153, 154, 246, 243),
2374 (154, 155, 242, 246),
2375 (155, 156, 245, 242), (157, 168, 245, 236), (249, 258, 259, 250), (250, 259, 260, 251),
2376 (251, 260, 261, 252),
2377 (247, 265, 254, 221), (221, 254, 255, 220), (220, 255, 256, 248), (248, 256, 257, 218),
2378 (218, 257, 258, 249),
2379 (252, 261, 262, 219), (219, 262, 263, 253), (253, 263, 264, 222), (222, 264, 265, 247),
2380 (219, 276, 267, 252),
2381 (252, 267, 268, 251), (249, 270, 277, 218), (251, 268, 269, 250), (220, 275, 274, 221),
2382 (218, 277, 271, 248),
2383 (250, 269, 270, 249), (247, 272, 273, 222), (248, 271, 275, 220), (222, 273, 266, 253),
2384 (221, 274, 272, 247),
2385 (253, 266, 276, 219), (271, 278, 279, 275), (275, 279, 280, 274), (274, 280, 281, 272),
2386 (272, 281, 282, 273),
2387 (273, 282, 283, 266), (266, 283, 284, 276), (276, 284, 285, 267), (267, 285, 286, 268),
2388 (268, 286, 287, 269),
2389 (269, 287, 288, 270), (270, 288, 289, 277), (277, 289, 278, 271)]
2391 return myvertex, myfaces