1 # SPDX-FileCopyrightText: 2016-2022 Blender Foundation
3 # SPDX-License-Identifier: GPL-2.0-or-later
5 # ----------------------------------------------------------
6 # Automatic generation of roofs
7 # Author: Antonio Vazquez (antonioya)
9 # ----------------------------------------------------------
10 # noinspection PyUnresolvedReferences
12 from math
import radians
13 from bpy
.types
import Operator
14 from bpy
.props
import IntProperty
, FloatProperty
, BoolProperty
, EnumProperty
15 from .achm_tools
import *
18 # ------------------------------------------------------------------
21 # ------------------------------------------------------------------
22 class ARCHIMESH_OT_Roof(Operator
):
23 bl_idname
= "mesh.archimesh_roof"
25 bl_description
= "Roof Generator"
27 bl_options
= {'REGISTER', 'UNDO'}
30 roof_width
: IntProperty(
32 min=1, max=100, default
=6,
33 description
='Tiles in X axis',
35 roof_height
: IntProperty(
37 min=1, max=100, default
=3,
38 description
='Tiles in Y axis',
41 roof_thick
: FloatProperty(
42 name
='Tile thickness',
43 min=0.000, max=0.50, default
=0.012, precision
=3,
44 description
='Thickness of the roof tile',
46 roof_angle
: FloatProperty(
47 name
='Roof slope', min=0.0, max=70.0, default
=0.0, precision
=1,
48 description
='Roof angle of slope',
50 roof_scale
: FloatProperty(
51 name
='Tile scale', min=0.001, max=10, default
=1, precision
=3,
52 description
='Scale of roof tile',
55 crt_mat
: BoolProperty(
56 name
="Create default Cycles materials",
57 description
="Create default materials for Cycles render",
63 ('1', "Model 01", ""),
64 ('2', "Model 02", ""),
65 ('3', "Model 03", ""),
66 ('4', "Model 04", "")),
68 description
="Roof tile model",
71 # -----------------------------------------------------
72 # Draw (create UI interface)
73 # -----------------------------------------------------
74 # noinspection PyUnusedLocal
75 def draw(self
, context
):
77 space
= bpy
.context
.space_data
78 if not space
.local_view
:
79 # Imperial units warning
80 if bpy
.context
.scene
.unit_settings
.system
== "IMPERIAL":
82 row
.label(text
="Warning: Imperial units not supported", icon
='COLOR_RED')
84 box
.prop(self
, 'model')
85 box
.prop(self
, 'roof_width')
86 box
.prop(self
, 'roof_height')
87 box
.prop(self
, 'roof_scale')
103 if self
.model
== "4":
107 x
= tilesize_x
* self
.roof_scale
* self
.roof_width
108 y
= tilesize_y
* self
.roof_scale
* self
.roof_height
110 buf
= 'Size: {0:.2f} * {1:.2f} aprox.'.format(x
, y
)
114 box
.prop(self
, 'roof_thick')
115 box
.prop(self
, 'roof_angle')
118 if not context
.scene
.render
.engine
in {'CYCLES', 'BLENDER_EEVEE'}:
120 box
.prop(self
, 'crt_mat')
123 row
.label(text
="Warning: Operator does not work in local view mode", icon
='ERROR')
125 # -----------------------------------------------------
127 # -----------------------------------------------------
128 # noinspection PyUnusedLocal
129 def execute(self
, context
):
130 if bpy
.context
.mode
== "OBJECT":
131 create_roof_mesh(self
)
134 self
.report({'WARNING'}, "Archimesh: Option only valid in Object mode")
138 # ------------------------------------------------------------------------------
140 # All custom values are passed using self container (self.myvariable)
141 # ------------------------------------------------------------------------------
142 def create_roof_mesh(self
):
144 for o
in bpy
.data
.objects
:
145 if o
.select_get() is True:
147 bpy
.ops
.object.select_all(action
='DESELECT')
149 mydata
= create_roof(self
)
152 # active object and deactivate others
153 if bpy
.context
.view_layer
.objects
.active
is not None:
154 bpy
.context
.view_layer
.objects
.active
.select_set(False)
156 bpy
.context
.view_layer
.objects
.active
= myroof
157 myroof
.select_set(True)
160 if self
.roof_thick
> 0.0:
161 set_modifier_solidify(myroof
, self
.roof_thick
)
163 set_modifier_subsurf(myroof
)
169 if self
.model
== "1":
173 if self
.model
== "2":
177 if self
.model
== "3":
181 if self
.model
== "4":
185 set_modifier_array(myroof
, "X", a_x
, self
.roof_width
)
186 set_modifier_array(myroof
, "Y", a_y
, self
.roof_height
)
189 myroof
.rotation_euler
= (radians(self
.roof_angle
), 0.0, 0.0)
192 if self
.crt_mat
and bpy
.context
.scene
.render
.engine
in {'CYCLES', 'BLENDER_EEVEE'}:
194 mat
= create_diffuse_material("Roof_material", False, 0.482, 0.061, 0.003, 0.581, 0.105, 0.068, 0.01)
195 set_material(myroof
, mat
)
197 bpy
.ops
.object.select_all(action
='DESELECT')
198 myroof
.select_set(True)
199 bpy
.context
.view_layer
.objects
.active
= myroof
203 # ------------------------------------------------------------------------------
205 # All custom values are passed using self container (self.myvariable)
206 # ------------------------------------------------------------------------------
207 def create_roof(self
):
209 if self
.model
== "1":
210 mydata
= tile_model_01()
211 elif self
.model
== "2":
212 mydata
= tile_model_02()
213 elif self
.model
== "3":
214 mydata
= tile_model_03()
215 elif self
.model
== "4":
216 mydata
= tile_model_04()
218 mydata
= tile_model_01() # default model
226 mymesh
= bpy
.data
.meshes
.new("Roof")
227 myobject
= bpy
.data
.objects
.new("Roof", mymesh
)
229 myobject
.location
= bpy
.context
.scene
.cursor
.location
230 bpy
.context
.collection
.objects
.link(myobject
)
232 mymesh
.from_pydata(verts
, [], faces
)
233 mymesh
.update(calc_edges
=True)
235 myobject
.scale
= (self
.roof_scale
, self
.roof_scale
, self
.roof_scale
)
237 return myobject
, tile_x
, tile_y
240 # ----------------------------------------------
242 # ----------------------------------------------
244 # ------------------------------------
246 # ------------------------------------
247 minx
= -2.60770320892334e-08
248 maxx
= 0.19982914626598358
249 miny
= -0.0010638721287250519
250 maxy
= 0.46471506357192993
251 minz
= -0.03651249408721924
252 maxz
= 0.0586184486746788
255 myvertex
= [(maxx
- 0.0912834107875824, maxy
- 0.0017275810241699219, maxz
- 0.046515291556715965),
256 (maxx
- 0.08774729073047638, maxy
- 0.0021544992923736572, minz
+ 0.02855057455599308),
257 (minx
+ 0.007649015635251999, maxy
- 0.002105712890625, minz
+ 0.03084239922463894),
258 (minx
+ 0.012062381953001022, maxy
- 0.0016825199127197266, maxz
- 0.044397931545972824),
259 (minx
+ 0.023753326386213303, maxy
- 0.0013274550437927246, maxz
- 0.02770993858575821),
260 (minx
+ 0.04094201326370239, maxy
- 0.0010945796966552734, maxz
- 0.016765158623456955),
261 (minx
+ 0.061011623591184616, maxy
- 0.0010193586349487305, maxz
- 0.013229843229055405),
262 (minx
+ 0.09759850427508354, maxy
- 0.0013619065284729004, maxz
- 0.02933049201965332),
263 (minx
+ 0.0809067152440548, maxy
- 0.0011132359504699707, maxz
- 0.017642192542552948),
264 (minx
+ 0.04091371223330498, maxy
- 0.005662411451339722, maxz
- 0.01663973182439804),
265 (minx
+ 0.061012353748083115, maxy
- 0.00558704137802124, maxz
- 0.013099301606416702),
266 (minx
+ 0.007572557777166367, maxy
- 0.006675034761428833, minz
+ 0.030899077653884888),
267 (minx
+ 0.011992301791906357, maxy
- 0.006251156330108643, maxz
- 0.044312480837106705),
268 (minx
+ 0.09765215590596199, maxy
- 0.005930125713348389, maxz
- 0.029223240911960602),
269 (maxx
- 0.09121392667293549, maxy
- 0.006296277046203613, maxz
- 0.04643290489912033),
270 (minx
+ 0.02370016649365425, maxy
- 0.00589558482170105, maxz
- 0.027600344270467758),
271 (maxx
- 0.08767268061637878, maxy
- 0.006723880767822266, minz
+ 0.028603939339518547),
272 (minx
+ 0.08093622699379921, maxy
- 0.005681097507476807, maxz
- 0.01751803606748581),
273 (minx
+ 0.06108579412102699, miny
+ 0.0018242448568344116, maxz
),
274 (minx
+ 0.0049602799117565155, miny
+ 0.0010638684034347534, maxz
- 0.03573753498494625),
275 (maxx
- 0.08424043655395508, miny
+ 0.0010122060775756836, maxz
- 0.038165315985679626),
276 (minx
+ 0.018365193158388138, miny
+ 0.0014709830284118652, maxz
- 0.016602978110313416),
277 (maxx
- 0.0801858901977539, miny
+ 0.0005226880311965942, minz
+ 0.03395887836813927),
278 (minx
+ 0.08389763161540031, miny
+ 0.0017166286706924438, maxz
- 0.005059238523244858),
279 (minx
+ 0.03807384893298149, miny
+ 0.001738026738166809, maxz
- 0.004053622484207153),
280 (minx
+ 1.1175870895385742e-08, miny
+ 0.0010638725943863392, minz
+ 0.03651248663663864),
281 (maxx
- 0.09679263085126877, miny
+ 0.0014314353466033936, maxz
- 0.018461115658283234),
282 (minx
+ 0.06108483672142029, miny
+ 0.007804900407791138, maxz
- 0.00017091631889343262),
283 (minx
+ 0.0050520338118076324, miny
+ 0.0070457905530929565, maxz
- 0.03584941849112511),
284 (maxx
- 0.08433142304420471, miny
+ 0.006994202733039856, maxz
- 0.03827318921685219),
285 (minx
+ 0.018434803932905197, miny
+ 0.007452219724655151, maxz
- 0.01674646884202957),
286 (maxx
- 0.08028358221054077, miny
+ 0.006505459547042847, minz
+ 0.03388900891877711),
287 (minx
+ 0.08385899290442467, miny
+ 0.007697448134422302, maxz
- 0.005221795290708542),
288 (minx
+ 0.03811090067028999, miny
+ 0.007718801498413086, maxz
- 0.004217840731143951),
289 (minx
, miny
+ 0.006561309099197388, minz
+ 0.036512489430606365),
290 (maxx
- 0.09686288237571716, miny
+ 0.007412716746330261, maxz
- 0.018601536750793457),
291 (maxx
- 0.011097520589828491, maxy
- 0.00127333402633667, minz
+ 0.03322591632604599),
292 (maxx
- 0.007561400532722473, maxy
, maxz
- 0.041875842958688736),
293 (minx
+ 0.0878349058330059, maxy
- 0.00014543533325195312, maxz
- 0.04416356980800629),
294 (minx
+ 0.09224827215075493, maxy
- 0.0014076828956604004, minz
+ 0.03111234214156866),
295 (maxx
- 0.09588995575904846, maxy
- 0.0024666786193847656, minz
+ 0.014454199001193047),
296 (maxx
- 0.07870127260684967, maxy
- 0.003161191940307617, minz
+ 0.003528997302055359),
297 (maxx
- 0.05863165855407715, maxy
- 0.0033855140209198, minz
),
298 (maxx
- 0.022044777870178223, maxy
- 0.0023638010025024414, minz
+ 0.016071850433945656),
299 (maxx
- 0.03873656690120697, maxy
- 0.0031055212020874023, minz
+ 0.0044044628739356995),
300 (maxx
- 0.07872956991195679, maxy
- 0.007723212242126465, minz
+ 0.003790721297264099),
301 (maxx
- 0.05863092839717865, maxy
- 0.007947862148284912, minz
+ 0.0002566203474998474),
302 (minx
+ 0.08775844797492027, maxy
- 0.004703164100646973, maxz
- 0.043833211064338684),
303 (minx
+ 0.09217819198966026, maxy
- 0.005967140197753906, minz
+ 0.03141397051513195),
304 (maxx
- 0.021991118788719177, maxy
- 0.006924688816070557, minz
+ 0.016351722180843353),
305 (maxx
- 0.01102803647518158, maxy
- 0.005832552909851074, minz
+ 0.03353060130029917),
306 (maxx
- 0.09594311565160751, maxy
- 0.007027685642242432, minz
+ 0.01473172940313816),
307 (maxx
- 0.007486790418624878, maxy
- 0.004557549953460693, maxz
- 0.04154217056930065),
308 (maxx
- 0.03870706260204315, maxy
- 0.007667511701583862, minz
+ 0.004667460918426514),
309 (maxx
- 0.05855749547481537, miny
, minz
+ 0.026008986867964268),
310 (minx
+ 0.08514617010951042, miny
+ 0.0022678226232528687, maxz
- 0.033448345959186554),
311 (maxx
- 0.004054546356201172, miny
+ 0.0024218857288360596, maxz
- 0.031024910509586334),
312 (minx
+ 0.09855108335614204, miny
+ 0.0010535866022109985, minz
+ 0.04258226789534092),
313 (maxx
, miny
+ 0.0038818269968032837, maxz
- 0.008059307932853699),
314 (maxx
- 0.03574565052986145, miny
+ 0.00032107532024383545, minz
+ 0.03105917200446129),
315 (maxx
- 0.08156943321228027, miny
+ 0.0002572685480117798, minz
+ 0.030055356211960316),
316 (minx
+ 0.0801859013736248, miny
+ 0.004204884171485901, maxz
- 0.01064956933259964),
317 (maxx
- 0.016606733202934265, miny
+ 0.0011714845895767212, minz
+ 0.04443708248436451),
318 (maxx
- 0.058558449149131775, miny
+ 0.005973652005195618, minz
+ 0.0256729768589139),
319 (minx
+ 0.08523792400956154, miny
+ 0.008237749338150024, maxz
- 0.03384328447282314),
320 (maxx
- 0.004145532846450806, miny
+ 0.008391529321670532, maxz
- 0.031423844397068024),
321 (minx
+ 0.0986206941306591, miny
+ 0.00702551007270813, minz
+ 0.04221887979656458),
322 (maxx
- 9.769201278686523e-05, miny
+ 0.00984904170036316, maxz
- 0.008496180176734924),
323 (maxx
- 0.0357842892408371, miny
+ 0.0062942057847976685, minz
+ 0.030714819207787514),
324 (maxx
- 0.08153238147497177, miny
+ 0.006230458617210388, minz
+ 0.029712661169469357),
325 (minx
+ 0.08018588647246361, miny
+ 0.00968259572982788, maxz
- 0.011114969849586487),
326 (maxx
- 0.016676992177963257, miny
+ 0.007143184542655945, minz
+ 0.04407063312828541)]
329 myfaces
= [(10, 9, 5, 6), (12, 11, 2, 3), (14, 13, 7, 0), (15, 12, 3, 4), (16, 14, 0, 1),
330 (17, 10, 6, 8), (9, 15, 4, 5), (13, 17, 8, 7), (27, 33, 9, 10), (28, 34, 11, 12),
331 (29, 35, 13, 14), (30, 28, 12, 15), (31, 29, 14, 16), (32, 27, 10, 17), (33, 30, 15, 9),
332 (35, 32, 17, 13), (18, 24, 33, 27), (19, 25, 34, 28), (20, 26, 35, 29), (21, 19, 28, 30),
333 (22, 20, 29, 31), (23, 18, 27, 32), (24, 21, 30, 33), (26, 23, 32, 35), (46, 45, 41, 42),
334 (48, 47, 38, 39), (50, 49, 43, 36), (51, 48, 39, 40), (52, 50, 36, 37), (53, 46, 42, 44),
335 (45, 51, 40, 41), (49, 53, 44, 43), (63, 69, 45, 46), (64, 70, 47, 48), (65, 71, 49, 50),
336 (66, 64, 48, 51), (67, 65, 50, 52), (68, 63, 46, 53), (69, 66, 51, 45), (71, 68, 53, 49),
337 (54, 60, 69, 63), (55, 61, 70, 64), (56, 62, 71, 65), (57, 55, 64, 66), (58, 56, 65, 67),
338 (59, 54, 63, 68), (60, 57, 66, 69), (62, 59, 68, 71)]
340 return myvertex
, myfaces
, maxx
- minx
, maxy
- miny
343 # ----------------------------------------------
345 # ----------------------------------------------
347 # ------------------------------------
349 # ------------------------------------
350 minx
= -2.60770320892334e-08
351 maxx
= 0.11964325606822968
352 miny
= -0.000541184563189745
353 maxy
= 0.4636957049369812
354 minz
= -0.007961912080645561
355 maxz
= 0.0586184561252594
358 myvertex
= [(maxx
- 0.011097520589828491, maxy
- 0.0007082223892211914, minz
+ 0.020065076649188995),
359 (maxx
- 0.007561400532722473, maxy
- 0.0011351406574249268, minz
),
360 (minx
+ 0.007649015635251999, maxy
- 0.0010863542556762695, minz
+ 0.0022918246686458588),
361 (minx
+ 0.012062381953001022, maxy
- 0.0006631612777709961, minz
+ 0.022182436659932137),
362 (minx
+ 0.023753326386213303, maxy
- 0.00030809640884399414, maxz
- 0.02770993858575821),
363 (minx
+ 0.04094201326370239, maxy
- 7.522106170654297e-05, maxz
- 0.016765158623456955),
364 (maxx
- 0.05863165855407715, maxy
, maxz
- 0.013229843229055405),
365 (maxx
- 0.022044777870178223, maxy
- 0.0003425478935241699, maxz
- 0.02933049201965332),
366 (maxx
- 0.03873656690120697, maxy
- 9.387731552124023e-05, maxz
- 0.017642192542552948),
367 (minx
+ 0.04091371223330498, maxy
- 0.004643052816390991, maxz
- 0.01663973182439804),
368 (maxx
- 0.05863092839717865, maxy
- 0.00456768274307251, maxz
- 0.013099301606416702),
369 (minx
+ 0.007572557777166367, maxy
- 0.0056556761264801025, minz
+ 0.0023485030978918076),
370 (minx
+ 0.011992301791906357, maxy
- 0.005231797695159912, minz
+ 0.022267887368798256),
371 (maxx
- 0.021991126239299774, maxy
- 0.004910767078399658, maxz
- 0.029223240911960602),
372 (maxx
- 0.01102803647518158, maxy
- 0.005276918411254883, minz
+ 0.02014746330678463),
373 (minx
+ 0.02370016649365425, maxy
- 0.004876226186752319, maxz
- 0.027600344270467758),
374 (maxx
- 0.007486790418624878, maxy
- 0.005704522132873535, minz
+ 5.336478352546692e-05),
375 (maxx
- 0.038707055151462555, maxy
- 0.004661738872528076, maxz
- 0.01751803606748581),
376 (maxx
- 0.05855748802423477, miny
+ 0.0013015568256378174, maxz
),
377 (minx
+ 0.0049602799117565155, miny
+ 0.0005411803722381592, minz
+ 0.03084283322095871),
378 (maxx
- 0.004054546356201172, miny
+ 0.0004895180463790894, minz
+ 0.028415052220225334),
379 (minx
+ 0.018365193158388138, miny
+ 0.000948294997215271, maxz
- 0.016602978110313416),
380 (maxx
, miny
, minz
+ 0.005408303812146187),
381 (maxx
- 0.03574565052986145, miny
+ 0.0011939406394958496, maxz
- 0.005059238523244858),
382 (minx
+ 0.03807384893298149, miny
+ 0.0012153387069702148, maxz
- 0.004053622484207153),
383 (minx
+ 1.1175870895385742e-08, miny
+ 0.000541184563189745, minz
+ 0.007961912080645561),
384 (maxx
- 0.016606740653514862, miny
+ 0.0009087473154067993, maxz
- 0.018461115658283234),
385 (maxx
- 0.058558445423841476, miny
+ 0.0072822123765945435, maxz
- 0.00017091631889343262),
386 (minx
+ 0.0050520338118076324, miny
+ 0.006523102521896362, minz
+ 0.030730949714779854),
387 (maxx
- 0.004145532846450806, miny
+ 0.006471514701843262, minz
+ 0.028307178989052773),
388 (minx
+ 0.018434803932905197, miny
+ 0.006929531693458557, maxz
- 0.01674646884202957),
389 (maxx
- 9.769201278686523e-05, miny
+ 0.0059827715158462524, minz
+ 0.005338434362784028),
390 (maxx
- 0.0357842892408371, miny
+ 0.007174760103225708, maxz
- 0.005221795290708542),
391 (minx
+ 0.03811090067028999, miny
+ 0.007196113467216492, maxz
- 0.004217840731143951),
392 (minx
, miny
+ 0.0060386210680007935, minz
+ 0.007961914874613285),
393 (maxx
- 0.016676992177963257, miny
+ 0.006890028715133667, maxz
- 0.018601536750793457)]
396 myfaces
= [(10, 9, 5, 6), (12, 11, 2, 3), (14, 13, 7, 0), (15, 12, 3, 4), (16, 14, 0, 1),
397 (17, 10, 6, 8), (9, 15, 4, 5), (13, 17, 8, 7), (27, 33, 9, 10), (28, 34, 11, 12),
398 (29, 35, 13, 14), (30, 28, 12, 15), (31, 29, 14, 16), (32, 27, 10, 17), (33, 30, 15, 9),
399 (35, 32, 17, 13), (18, 24, 33, 27), (19, 25, 34, 28), (20, 26, 35, 29), (21, 19, 28, 30),
400 (22, 20, 29, 31), (23, 18, 27, 32), (24, 21, 30, 33), (26, 23, 32, 35)]
402 return myvertex
, myfaces
, maxx
- minx
, maxy
- miny
405 # ----------------------------------------------
407 # ----------------------------------------------
409 # ------------------------------------
411 # ------------------------------------
412 minx
= -1.1175870895385742e-08
413 maxx
= 0.19973646104335785
414 miny
= -0.007466380018740892
415 maxy
= 0.4636957049369812
416 minz
= -0.014226417988538742
417 maxz
= 0.0586184561252594
420 myvertex
= [(maxx
- 0.09119071066379547, maxy
- 0.0007082223892211914, minz
+ 0.026329582557082176),
421 (maxx
- 0.08765459060668945, maxy
- 0.0011351406574249268, minz
+ 0.006264505907893181),
422 (minx
+ 0.007649015635251999, maxy
- 0.0010863542556762695, minz
+ 0.00855633057653904),
423 (minx
+ 0.012062381953001022, maxy
- 0.0006631612777709961, minz
+ 0.028446942567825317),
424 (minx
+ 0.023753326386213303, maxy
- 0.00030809640884399414, maxz
- 0.02770993858575821),
425 (minx
+ 0.04094201326370239, maxy
- 7.522106170654297e-05, maxz
- 0.016765158623456955),
426 (minx
+ 0.061011623591184616, maxy
, maxz
- 0.013229843229055405),
427 (minx
+ 0.09759850427508354, maxy
- 0.0003425478935241699, maxz
- 0.02933049201965332),
428 (minx
+ 0.0809067152440548, maxy
- 9.387731552124023e-05, maxz
- 0.017642192542552948),
429 (maxx
, miny
, minz
+ 0.009998040273785591),
430 (maxx
, maxy
- 0.0012684464454650879, minz
),
431 (maxx
- 0.011666849255561829, miny
+ 5.453824996948242e-06, minz
+ 0.01025407388806343),
432 (maxx
- 0.012786239385604858, maxy
- 0.0012489855289459229, minz
+ 0.0009138062596321106),
433 (maxx
- 0.00027532875537872314, miny
+ 0.00016899406909942627, minz
+ 0.017940200865268707),
434 (maxx
- 0.00027532875537872314, maxy
- 0.0010994374752044678, minz
+ 0.007942160591483116),
435 (maxx
- 0.011416733264923096, miny
+ 0.00017443299293518066, minz
+ 0.018196236342191696),
436 (maxx
- 0.012485697865486145, maxy
- 0.0010799765586853027, minz
+ 0.008855968713760376),
437 (minx
+ 0.04091371223330498, maxy
- 0.004643052816390991, maxz
- 0.01663973182439804),
438 (minx
+ 0.061012353748083115, maxy
- 0.00456768274307251, maxz
- 0.013099301606416702),
439 (minx
+ 0.007572557777166367, maxy
- 0.0056556761264801025, minz
+ 0.008613009005784988),
440 (minx
+ 0.011992301791906357, maxy
- 0.005231797695159912, minz
+ 0.028532393276691437),
441 (minx
+ 0.09765215590596199, maxy
- 0.004910767078399658, maxz
- 0.029223240911960602),
442 (maxx
- 0.09112122654914856, maxy
- 0.005276918411254883, minz
+ 0.02641196921467781),
443 (minx
+ 0.02370016649365425, maxy
- 0.004876226186752319, maxz
- 0.027600344270467758),
444 (maxx
- 0.08757998049259186, maxy
- 0.005704522132873535, minz
+ 0.006317870691418648),
445 (minx
+ 0.08093622699379921, maxy
- 0.004661738872528076, maxz
- 0.01751803606748581),
446 (maxx
, maxy
- 0.00583687424659729, minz
+ 9.720027446746826e-05),
447 (maxx
- 0.01277536153793335, maxy
- 0.0058175623416900635, minz
+ 0.0010046139359474182),
448 (maxx
- 0.00027532875537872314, maxy
- 0.00566786527633667, minz
+ 0.008039364591240883),
449 (maxx
- 0.012475311756134033, maxy
- 0.005648583173751831, minz
+ 0.008946776390075684),
450 (minx
+ 0.06108579412102699, miny
+ 0.008226752281188965, maxz
),
451 (minx
+ 0.0049602799117565155, miny
+ 0.007466375827789307, maxz
- 0.03573753498494625),
452 (maxx
- 0.08414773643016815, miny
+ 0.007414713501930237, minz
+ 0.034679558128118515),
453 (minx
+ 0.018365193158388138, miny
+ 0.007873490452766418, maxz
- 0.016602978110313416),
454 (maxx
- 0.08009319007396698, miny
+ 0.0069251954555511475, minz
+ 0.011672809720039368),
455 (minx
+ 0.08389763161540031, miny
+ 0.008119136095046997, maxz
- 0.005059238523244858),
456 (maxx
, miny
+ 0.00688643753528595, minz
+ 0.009851515293121338),
457 (maxx
- 0.011683255434036255, miny
+ 0.006892099976539612, minz
+ 0.010117188096046448),
458 (maxx
- 0.00027532875537872314, miny
+ 0.007055431604385376, minz
+ 0.017793675884604454),
459 (maxx
- 0.01143239438533783, miny
+ 0.007061079144477844, minz
+ 0.018059348687529564),
460 (minx
+ 0.03807384893298149, miny
+ 0.008140534162521362, maxz
- 0.004053622484207153),
461 (minx
+ 1.1175870895385742e-08, miny
+ 0.007466380018740892, minz
+ 0.014226417988538742),
462 (maxx
- 0.09669993072748184, miny
+ 0.007833942770957947, maxz
- 0.018461115658283234),
463 (minx
+ 0.06108483672142029, miny
+ 0.014207407832145691, maxz
- 0.00017091631889343262),
464 (minx
+ 0.0050520338118076324, miny
+ 0.01344829797744751, maxz
- 0.03584941849112511),
465 (maxx
- 0.08423872292041779, miny
+ 0.01339671015739441, minz
+ 0.03457168489694595),
466 (minx
+ 0.018434803932905197, miny
+ 0.013854727149009705, maxz
- 0.01674646884202957),
467 (maxx
- 0.08019088208675385, miny
+ 0.0129079669713974, minz
+ 0.011602940270677209),
468 (minx
+ 0.08385899290442467, miny
+ 0.014099955558776855, maxz
- 0.005221795290708542),
469 (maxx
, miny
+ 0.012868016958236694, minz
+ 0.00972424354404211),
470 (maxx
- 0.011697500944137573, miny
+ 0.012873843312263489, minz
+ 0.009998289868235588),
471 (maxx
- 0.00027532875537872314, miny
+ 0.01303701102733612, minz
+ 0.017666404135525227),
472 (maxx
- 0.011445999145507812, miny
+ 0.013042852282524109, minz
+ 0.017940450459718704),
473 (minx
+ 0.03811090067028999, miny
+ 0.01412130892276764, maxz
- 0.004217840731143951),
474 (minx
, miny
+ 0.012963816523551941, minz
+ 0.014226420782506466),
475 (maxx
- 0.09677018225193024, miny
+ 0.013815224170684814, maxz
- 0.018601536750793457)]
478 myfaces
= [(18, 17, 5, 6), (20, 19, 2, 3), (22, 21, 7, 0), (23, 20, 3, 4), (24, 22, 0, 1),
479 (25, 18, 6, 8), (17, 23, 4, 5), (21, 25, 8, 7), (12, 10, 14, 16), (24, 1, 12, 27),
480 (29, 16, 14, 28), (9, 11, 15, 13), (36, 9, 13, 38), (27, 12, 16, 29), (43, 53, 17, 18),
481 (44, 54, 19, 20), (45, 55, 21, 22), (46, 44, 20, 23), (47, 45, 22, 24), (48, 43, 18, 25),
482 (53, 46, 23, 17), (55, 48, 25, 21), (47, 24, 27, 50), (52, 29, 28, 51), (10, 26, 28, 14),
483 (50, 27, 29, 52), (49, 36, 38, 51), (15, 39, 38, 13), (11, 37, 39, 15), (30, 40, 53, 43),
484 (31, 41, 54, 44), (32, 42, 55, 45), (33, 31, 44, 46), (34, 32, 45, 47), (35, 30, 43, 48),
485 (40, 33, 46, 53), (42, 35, 48, 55), (34, 47, 50, 37), (39, 52, 51, 38), (37, 50, 52, 39),
488 return myvertex
, myfaces
, maxx
- minx
, maxy
- miny
491 # ----------------------------------------------
493 # ----------------------------------------------
495 # ------------------------------------
497 # ------------------------------------
499 maxx
= 0.2706337571144104
500 miny
= -0.0008960736449807882
501 maxy
= 0.4393549859523773
502 minz
= -0.021988021209836006
503 maxz
= 0.01913231611251831
506 myvertex
= [(maxx
- 0.0009386539459228516, miny
+ 9.811518248170614e-05, minz
+ 0.009184492751955986),
507 (minx
+ 2.9802322387695312e-08, miny
+ 0.0008960723644122481, maxz
- 0.01913231797516346),
508 (maxx
, maxy
- 0.000797957181930542, minz
+ 0.0015743095427751541),
509 (minx
+ 0.0009386688470840454, maxy
, minz
+ 0.014377830550074577),
510 (maxx
- 0.03795182704925537, miny
+ 0.00020762975327670574, minz
+ 0.010941661894321442),
511 (minx
+ 0.03701320290565491, miny
+ 0.0007865577936172485, minz
+ 0.020230852998793125),
512 (maxx
- 0.037013158202171326, maxy
- 0.0006884634494781494, minz
+ 0.003331473097205162),
513 (minx
+ 0.037951841950416565, maxy
- 0.00010952353477478027, minz
+ 0.01262066513299942),
514 (minx
+ 0.1184280663728714, miny
+ 0.000545668532140553, minz
+ 0.016365760006010532),
515 (maxx
- 0.11936667561531067, miny
+ 0.00044850551057606936, minz
+ 0.014806757681071758),
516 (minx
+ 0.11936671286821365, maxy
- 0.0003504157066345215, minz
+ 0.008755568414926529),
517 (maxx
- 0.11842802166938782, maxy
- 0.0004475712776184082, minz
+ 0.007196567952632904),
518 (maxx
, miny
+ 0.010358194587752223, maxz
- 0.012803521938621998),
519 (minx
+ 0.0009386688470840454, miny
+ 0.01115613873116672, maxz
),
520 (minx
+ 0.037951841950416565, miny
+ 0.011046637548133731, maxz
- 0.0017571654170751572),
521 (maxx
- 0.037013158202171326, miny
+ 0.010467695770785213, maxz
- 0.011046357452869415),
522 (minx
+ 0.11922238767147064, miny
+ 0.010617014719173312, maxz
- 0.008650526404380798),
523 (maxx
- 0.11857235431671143, miny
+ 0.010519851697608829, maxz
- 0.010209528729319572),
524 (maxx
, maxy
- 0.0072495341300964355, minz
+ 0.001976391300559044),
525 (minx
+ 0.037951841950416565, maxy
- 0.006561100482940674, minz
+ 0.01302274689078331),
526 (maxx
- 0.037013158202171326, maxy
- 0.007140040397644043, minz
+ 0.003733554854989052),
527 (minx
+ 0.11936454474925995, maxy
- 0.006804823875427246, minz
+ 0.009112119674682617),
528 (maxx
- 0.11843019723892212, maxy
- 0.006901979446411133, minz
+ 0.007553117349743843),
529 (minx
+ 0.0009386688470840454, maxy
- 0.0064515769481658936, minz
+ 0.014779912307858467),
530 (minx
+ 0.00011220574378967285, miny
+ 0.0021222709910944104, maxz
- 0.016845770180225372),
531 (maxx
- 0.0008264482021331787, miny
+ 0.0013243272551335394, minz
+ 0.011471047066152096),
532 (minx
+ 0.03712538629770279, miny
+ 0.002012769808061421, maxz
- 0.01860293745994568),
533 (maxx
- 0.0378396213054657, miny
+ 0.001433828438166529, minz
+ 0.013228209689259529),
534 (minx
+ 0.1185230016708374, miny
+ 0.0017493232735432684, minz
+ 0.018290389329195023),
535 (maxx
- 0.11927174031734467, miny
+ 0.0016521602519787848, minz
+ 0.01673138700425625),
536 (maxx
, miny
+ 0.01807751110754907, maxz
- 0.013284613378345966),
537 (minx
+ 0.037951841950416565, miny
+ 0.01876595593057573, maxz
- 0.0022382568567991257),
538 (maxx
- 0.037013158202171326, miny
+ 0.01818701229058206, maxz
- 0.011527448892593384),
539 (minx
+ 0.11922498792409897, miny
+ 0.01833972311578691, maxz
- 0.009077141061425209),
540 (maxx
- 0.1185697615146637, miny
+ 0.018242560094222426, maxz
- 0.010636141523718834),
541 (minx
+ 0.0009386688470840454, miny
+ 0.018875457113608718, maxz
- 0.0004810914397239685),
542 (maxx
, maxy
- 0.09558254480361938, minz
+ 0.007481573149561882),
543 (minx
+ 0.037951841950416565, maxy
- 0.09489411115646362, minz
+ 0.018527928739786148),
544 (maxx
- 0.037013158202171326, maxy
- 0.09547305107116699, minz
+ 0.00923873856663704),
545 (minx
+ 0.1202642098069191, maxy
- 0.09396132826805115, maxz
- 0.00762566365301609),
546 (maxx
- 0.11753053963184357, maxy
- 0.09405851364135742, maxz
- 0.009184665977954865),
547 (minx
+ 0.0009386688470840454, maxy
- 0.09478458762168884, minz
+ 0.02028509508818388),
548 (maxx
- 0.07891011238098145, miny
, minz
+ 0.007610190659761429),
549 (maxx
- 0.07797147333621979, maxy
- 0.0008960962295532227, minz
),
550 (maxx
- 0.07804363965988159, miny
+ 0.010165706044062972, maxz
- 0.0158919645473361),
551 (maxx
- 0.07797256112098694, maxy
- 0.007349073886871338, minz
+ 0.0003793146461248398),
552 (maxx
- 0.0788065642118454, miny
+ 0.0012149333488196135, minz
+ 0.009715777821838856),
553 (maxx
- 0.07804234325885773, miny
+ 0.01788672781549394, maxz
- 0.016345815733075142),
554 (maxx
- 0.07752272486686707, maxy
- 0.09509384632110596, minz
+ 0.015323184430599213),
555 (minx
+ 0.07725311815738678, miny
+ 5.473045166581869e-05, minz
+ 0.008488442748785019),
556 (minx
+ 0.07819175720214844, maxy
- 0.0008413791656494141, minz
+ 0.0008782520890235901),
557 (minx
+ 0.07811960577964783, miny
+ 0.010220450116321445, maxz
- 0.015013711526989937),
558 (minx
+ 0.07819066941738129, maxy
- 0.007294327020645142, minz
+ 0.001257568597793579),
559 (minx
+ 0.07735666632652283, miny
+ 0.0012696638295892626, minz
+ 0.010594029910862446),
560 (minx
+ 0.07812090218067169, miny
+ 0.017941456055268645, maxz
- 0.015467563644051552),
561 (minx
+ 0.07864050567150116, maxy
- 0.09503909945487976, minz
+ 0.016201436519622803)]
564 myfaces
= [(20, 18, 2, 6), (23, 19, 7, 3), (45, 20, 6, 43), (52, 21, 10, 50), (21, 22, 11, 10),
565 (27, 25, 12, 15), (24, 26, 14, 13), (46, 27, 15, 44), (53, 28, 16, 51), (28, 29, 17, 16),
566 (38, 36, 18, 20), (41, 37, 19, 23), (48, 38, 20, 45), (55, 39, 21, 52), (39, 40, 22, 21),
567 (4, 0, 25, 27), (1, 5, 26, 24), (42, 4, 27, 46), (49, 8, 28, 53), (8, 9, 29, 28),
568 (15, 12, 30, 32), (13, 14, 31, 35), (44, 15, 32, 47), (51, 16, 33, 54), (16, 17, 34, 33),
569 (32, 30, 36, 38), (35, 31, 37, 41), (47, 32, 38, 48), (54, 33, 39, 55), (33, 34, 40, 39),
570 (22, 45, 43, 11), (29, 46, 44, 17), (40, 48, 45, 22), (9, 42, 46, 29), (17, 44, 47, 34),
571 (34, 47, 48, 40), (19, 52, 50, 7), (26, 53, 51, 14), (37, 55, 52, 19), (5, 49, 53, 26),
572 (14, 51, 54, 31), (31, 54, 55, 37)]
574 return myvertex
, myfaces
, maxx
- minx
, maxy
- miny