geomeppy.io package¶
This module contains code to interface with other geometry file formats. At present this is limited to .obj files, though we hope to include other formats in the future.
Submodules¶
geomeppy.io.obj module¶
Module for export of .obj files¶
The OBJ file format developed by Wavefront Technologies is used in programs like Blender to represent 3D models.
Geomeppy is able to output simple .obj files, and accompanying .mtl files to represent materials. This module contains the source code for this operation. It should be treated as developers’ reference only. As a user, if you want to create a .obj file it is best to use the IDF.to_obj() function.
The generated files can be viewed online at https://3dviewer.net/. Drag the .obj file and the .mtl file into the browser and you will be able to interact with a zoomable, rotatable model of your IDF.
Example polygon:
# vertices
v 0.0 0.0 0.0
v 1.0 0.0 0.0
v 1.0 0.0 1.0
v 0.0 0.0 1.0
# face
f 1// 2// 3// 4//
-
class
geomeppy.io.obj.
ObjWriter
¶ Bases:
object
Container class holding the data needed to generate the .obj file.
-
add_face
(coords, mtl, test=True)¶
-
build_simple_surface
(surface)¶
-
build_surface_with_subsurface
(surface, subsurface)¶ Work around the perimeter of the outer surface, triangulating the surface.
-
faces
= []¶
-
from_surfaces
(surfaces, subsurfaces, shading_surfaces)¶
-
prepare_shadingsurfaces
(shading_surfaces)¶
-
prepare_surfaces
(surfaces, subsurfaces)¶
-
v_set
= {}¶
-
vertices
= []¶
-
write
(fname, mtllib)¶ Write the .obj file.
Parameters: - fname – A filename for the .obj file.
- mtllib – The name of a .mtl file to be referenced from the .obj file.
-
-
geomeppy.io.obj.
export_to_obj
(idf, fname=None, mtllib=None)¶ Export an OBJ file representation of the IDF.
This can be used for viewing in tools which support the .obj format.
Parameters: - idf – An IDF to export.
- fname – A filename for the .obj file. If None we try to base it on IDF.idfname and change the filetype.
- mtllib – The name of a .mtl file to be referenced from the .obj file. If None, we use default.mtl.