This commit is contained in:
2026-05-09 16:36:21 +08:00
parent 5a265b6b1d
commit 65c342219d
9 changed files with 244052 additions and 2 deletions

91
refer/gcode_view2.qml Normal file
View File

@@ -0,0 +1,91 @@
import QtQuick
import QtQuick.Window
import QtQuick3D
Window {
visible: true
visibility: Window.FullScreen
width: 1280
height: 720
color: "black"
View3D {
anchors.fill: parent
environment: SceneEnvironment {
clearColor: "#202020"
backgroundMode: SceneEnvironment.Color
}
PerspectiveCamera {
id: camera
position: Qt.vector3d(0, 100, 300)
eulerRotation.x: -20
}
DirectionalLight {
eulerRotation.x: -45
brightness: 2
}
Node {
id: rootNode
Repeater3D {
model: gcodeData
delegate: Model {
property real dx: modelData.x2 - modelData.x1
property real dy: modelData.y2 - modelData.y1
property real dz: modelData.z2 - modelData.z1
property real length: Math.sqrt(dx*dx + dy*dy + dz*dz)
source: "#Cylinder"
position: Qt.vector3d(
(modelData.x1 + modelData.x2)/2,
(modelData.z1 + modelData.z2)/2,
(modelData.y1 + modelData.y2)/2
)
scale: Qt.vector3d(0.2, length / 100.0, 0.2)
materials: [
DefaultMaterial {
diffuseColor: "#00ff88"
}
]
}
}
}
MouseArea {
anchors.fill: parent
property real lastX
property real lastY
onPressed: {
lastX = mouse.x
lastY = mouse.y
}
onPositionChanged: {
let dx = mouse.x - lastX
let dy = mouse.y - lastY
rootNode.eulerRotation.y += dx * 0.3
rootNode.eulerRotation.x += dy * 0.3
lastX = mouse.x
lastY = mouse.y
}
onWheel: {
camera.position.z += wheel.angleDelta.y * -0.1
}
}
}
}