mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-12 16:28:59 +08:00
Merge branch 'feature_show_origin' of https://github.com/fieldOfView/Cura into fieldOfView-feature_show_origin
This commit is contained in:
commit
8da87a2996
@ -33,6 +33,9 @@ PRIME_CLEARANCE = 1.5
|
|||||||
## Build volume is a special kind of node that is responsible for rendering the printable area & disallowed areas.
|
## Build volume is a special kind of node that is responsible for rendering the printable area & disallowed areas.
|
||||||
class BuildVolume(SceneNode):
|
class BuildVolume(SceneNode):
|
||||||
VolumeOutlineColor = Color(12, 169, 227, 255)
|
VolumeOutlineColor = Color(12, 169, 227, 255)
|
||||||
|
XAxisColor = Color(255, 0, 0, 255)
|
||||||
|
YAxisColor = Color(0, 0, 255, 255)
|
||||||
|
ZAxisColor = Color(0, 255, 0, 255)
|
||||||
|
|
||||||
raftThicknessChanged = Signal()
|
raftThicknessChanged = Signal()
|
||||||
|
|
||||||
@ -45,6 +48,10 @@ class BuildVolume(SceneNode):
|
|||||||
|
|
||||||
self._shader = None
|
self._shader = None
|
||||||
|
|
||||||
|
self._origin_mesh = None
|
||||||
|
self._origin_line_length = 20
|
||||||
|
self._origin_line_width = 0.5
|
||||||
|
|
||||||
self._grid_mesh = None
|
self._grid_mesh = None
|
||||||
self._grid_shader = None
|
self._grid_shader = None
|
||||||
|
|
||||||
@ -128,6 +135,7 @@ class BuildVolume(SceneNode):
|
|||||||
self._grid_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "grid.shader"))
|
self._grid_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "grid.shader"))
|
||||||
|
|
||||||
renderer.queueNode(self, mode = RenderBatch.RenderMode.Lines)
|
renderer.queueNode(self, mode = RenderBatch.RenderMode.Lines)
|
||||||
|
renderer.queueNode(self, mesh = self._origin_mesh)
|
||||||
renderer.queueNode(self, mesh = self._grid_mesh, shader = self._grid_shader, backface_cull = True)
|
renderer.queueNode(self, mesh = self._grid_mesh, shader = self._grid_shader, backface_cull = True)
|
||||||
if self._disallowed_area_mesh:
|
if self._disallowed_area_mesh:
|
||||||
renderer.queueNode(self, mesh = self._disallowed_area_mesh, shader = self._shader, transparent = True, backface_cull = True, sort = -9)
|
renderer.queueNode(self, mesh = self._disallowed_area_mesh, shader = self._shader, transparent = True, backface_cull = True, sort = -9)
|
||||||
@ -170,6 +178,37 @@ class BuildVolume(SceneNode):
|
|||||||
|
|
||||||
self.setMeshData(mb.build())
|
self.setMeshData(mb.build())
|
||||||
|
|
||||||
|
mb = MeshBuilder()
|
||||||
|
|
||||||
|
# Indication of the machine origin
|
||||||
|
if self._global_container_stack.getProperty("machine_center_is_zero", "value"):
|
||||||
|
origin = (Vector(min_w, min_h, min_d) + Vector(max_w, min_h, max_d)) / 2
|
||||||
|
else:
|
||||||
|
origin = Vector(min_w, min_h, max_d)
|
||||||
|
|
||||||
|
mb.addCube(
|
||||||
|
width = self._origin_line_length,
|
||||||
|
height = self._origin_line_width,
|
||||||
|
depth = self._origin_line_width,
|
||||||
|
center = origin + Vector(self._origin_line_length / 2, 0, 0),
|
||||||
|
color = self.XAxisColor
|
||||||
|
)
|
||||||
|
mb.addCube(
|
||||||
|
width = self._origin_line_width,
|
||||||
|
height = self._origin_line_length,
|
||||||
|
depth = self._origin_line_width,
|
||||||
|
center = origin + Vector(0, self._origin_line_length / 2, 0),
|
||||||
|
color = self.YAxisColor
|
||||||
|
)
|
||||||
|
mb.addCube(
|
||||||
|
width = self._origin_line_width,
|
||||||
|
height = self._origin_line_width,
|
||||||
|
depth = self._origin_line_length,
|
||||||
|
center = origin - Vector(0, 0, self._origin_line_length / 2),
|
||||||
|
color = self.ZAxisColor
|
||||||
|
)
|
||||||
|
self._origin_mesh = mb.build()
|
||||||
|
|
||||||
mb = MeshBuilder()
|
mb = MeshBuilder()
|
||||||
mb.addQuad(
|
mb.addQuad(
|
||||||
Vector(min_w, min_h - 0.2, min_d),
|
Vector(min_w, min_h - 0.2, min_d),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user