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