Ejemplo n.º 1
0
 def __init__(self, normalstr: str):
     """
 Represents a single facet (made of three points and a normal vector) from the STL file.
 Initialize the facet with the normal, then add the points as they are parsed from the file.
 :param normalstr: The string line from the STL file that contains the normal data to be parsed.
 """
     self.normal = Vector3D(*[float(n) for n in normalstr.split()[-3:]])
     self.vertices = []
Ejemplo n.º 2
0
def main():
    v3 = Vector3D(2, 5, 7)
    print(v3)
    print(-v3)
    print(type(v3), type(-v3))

    v2 = Vector2D(-5, 6)
    print(v2)
    print(-v2)
    print(type(v2), type(-v2))

    v6 = Vector(1, -2, 3, -4, 5, -6)
    print(v6)
    print(-v6)
    print(type(v6), type(-v6))

    va = Vector3D(1, 2, 3)
    vb = Vector3D(4, 5, 6)
    print(va)
    print(vb)
    print(va + vb)
    print(type(va), type(vb), type(va + vb))
Ejemplo n.º 3
0
import test_context
from pythonista3d.graphics.graphics_factory import GraphicsFactory
from pythonista3d.points import Point3D
from pythonista3d.vectors import Vector3D
from pythonista3d.fileformats.stl_file import STLFile, STLMode
from pythonista3d.scene3d import Scene3D
from pythonista3d.camera import Camera
from pythonista3d.mesh import Mesh

d = GraphicsFactory.get_delegate()
cam = Camera(pos=Point3D(1, -3, -0.1),
             look_dir=Vector3D(-1, 3, 0),
             up_dir=Vector3D(0, 0, 1),
             n_dist=0.01,
             f_dist=10,
             fov=75)
scn = Scene3D(cam, d)

file = STLFile("rsc/monkey_ascii.stl", STLMode.ascii)
file.load()
obj = Mesh(file)

scn.add_mesh(obj)
scn.show()

scn.render()
Ejemplo n.º 4
0
 def __init__(self):
     self.vertices = []
     self.normal = Vector3D()
Ejemplo n.º 5
0
 def _recalc_normal(self):
     v1, v2, v3 = self.vertices
     self.normal = Vector3D.between_points(v2, v1).cross(
         Vector3D.between_points(v2, v3))
Ejemplo n.º 6
0
import test_context
from pythonista3d.graphics.graphics_factory import GraphicsFactory
from pythonista3d.points import Point3D
from pythonista3d.vectors import Vector3D
from pythonista3d.fileformats.stl_file import STLFile, STLMode
from pythonista3d.scene3d import Scene3D
from pythonista3d.camera import Camera
from pythonista3d.mesh import Mesh


d = GraphicsFactory.get_delegate()
cam = Camera(
  pos=Point3D(1.3, 1, 3.5),
  look_dir=Vector3D(-1, -1, -3.5),
  up_dir=Vector3D(0, 1, 0),
  n_dist=0.01,
  f_dist=10,
  fov=75)
scn = Scene3D(cam, d)

file = STLFile("rsc/thanks_ascii.stl", STLMode.ascii)
file.load()
obj = Mesh(file)

scn.add_mesh(obj)
scn.show()

scn.render()
Ejemplo n.º 7
0
import test_context
from pythonista3d.graphics.graphics_factory import GraphicsFactory
from pythonista3d.points import Point3D
from pythonista3d.vectors import Vector3D
from pythonista3d.fileformats.stl_file import STLFile, STLMode
from pythonista3d.scene3d import Scene3D
from pythonista3d.camera import Camera
from pythonista3d.mesh import Mesh

d = GraphicsFactory.get_delegate()
cam = Camera(pos=Point3D(2, -4, 0),
             look_dir=Vector3D(-2, 4, 0),
             up_dir=Vector3D(0, 0, 1),
             n_dist=0.01,
             f_dist=10,
             fov=75)
scn = Scene3D(cam, d)

file = STLFile("rsc/cube_ascii.stl", STLMode.ascii)
file.load()
obj = Mesh(file)

scn.add_mesh(obj)
scn.show()

scn.render()
Ejemplo n.º 8
0
import test_context
from pythonista3d.graphics.graphics_factory import GraphicsFactory
from pythonista3d.points import Point3D
from pythonista3d.vectors import Vector3D
from pythonista3d.fileformats.stl_file import STLFile, STLMode
from pythonista3d.scene3d import Scene3D
from pythonista3d.camera import Camera
from pythonista3d.mesh import Mesh

d = GraphicsFactory.get_delegate()
cam = Camera(pos=Point3D(0, -6, 0),
             look_dir=Vector3D(0, 1, 0),
             up_dir=Vector3D(0, 0, 1),
             n_dist=0.01,
             f_dist=10,
             fov=75)
scn = Scene3D(cam, d)

file = STLFile("rsc/teapot_ascii.stl", STLMode.ascii)
file.load()
obj = Mesh(file)

scn.add_mesh(obj)
scn.show()

scn.render()