@wandelbots/wandelbots-js-react-components 1.13.5 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,212 @@
1
+ import { useGLTF } from "@react-three/drei"
2
+ import type * as THREE from "three"
3
+ import type { RobotProps } from "./SupportedRobot"
4
+ import { animated } from "@react-spring/three"
5
+ import RobotAnimator from "./RobotAnimator"
6
+ import type { GLTF } from "three-stdlib"
7
+
8
+ type GLTFResult = GLTF & {
9
+ nodes: {
10
+ visuals_0: THREE.Mesh
11
+ visuals_0_1: THREE.Mesh
12
+ visuals_0_2: THREE.Mesh
13
+ link_6: THREE.Mesh
14
+ link_5: THREE.Mesh
15
+ link_4: THREE.Mesh
16
+ visuals_3: THREE.Mesh
17
+ visuals_3_1: THREE.Mesh
18
+ visuals_3_2: THREE.Mesh
19
+ visuals_2: THREE.Mesh
20
+ visuals_2_1: THREE.Mesh
21
+ visuals_1: THREE.Mesh
22
+ visuals_1_1: THREE.Mesh
23
+ visuals_1_2: THREE.Mesh
24
+ }
25
+ materials: {
26
+ material_Material_Metall: THREE.MeshStandardMaterial
27
+ material_Material_Farbe__2_: THREE.MeshPhysicalMaterial
28
+ material_Material_Farbe: THREE.MeshStandardMaterial
29
+ }
30
+ }
31
+
32
+ export function KUKA_KR16_R2010_2({
33
+ modelURL,
34
+ rapidlyChangingMotionState,
35
+ ...props
36
+ }: RobotProps) {
37
+ const { nodes, materials } = useGLTF(modelURL) as GLTFResult
38
+
39
+ const rotationOffsets = [0, 0, -Math.PI / 2, 0, 0, 0]
40
+
41
+ function setRotation(jointObjects: THREE.Object3D[], jointValues: number[]) {
42
+ jointObjects.forEach(
43
+ (object, index) =>
44
+ (object.rotation.y = jointValues[index]! + rotationOffsets[index]!),
45
+ )
46
+ }
47
+
48
+ return (
49
+ <>
50
+ <RobotAnimator
51
+ rapidlyChangingMotionState={rapidlyChangingMotionState}
52
+ robotRootObjectName="Scene"
53
+ onRotationChanged={setRotation}
54
+ />
55
+ <group {...props} dispose={null}>
56
+ <group name="Scene">
57
+ <group name="link_0">
58
+ <mesh
59
+ name="visuals_0"
60
+ castShadow
61
+ receiveShadow
62
+ geometry={nodes.visuals_0.geometry}
63
+ material={materials.material_Material_Metall}
64
+ />
65
+ <mesh
66
+ name="visuals_0_1"
67
+ castShadow
68
+ receiveShadow
69
+ geometry={nodes.visuals_0_1.geometry}
70
+ material={materials.material_Material_Farbe__2_}
71
+ />
72
+ <mesh
73
+ name="visuals_0_2"
74
+ castShadow
75
+ receiveShadow
76
+ geometry={nodes.visuals_0_2.geometry}
77
+ material={materials.material_Material_Metall}
78
+ />
79
+ </group>
80
+ <group name="KUKA_KR16R2010_2_J00">
81
+ <group
82
+ name="KUKA_KR16R2010_2_J01"
83
+ position={[0.16, 0.52, 0]}
84
+ rotation={[-Math.PI / 2, 0, 0]}
85
+ >
86
+ <group
87
+ name="KUKA_KR16R2010_2_J02"
88
+ position={[0.98, 0, 0]}
89
+ rotation={[0, -Math.PI / 2, 0]}
90
+ >
91
+ <group
92
+ name="KUKA_KR16R2010_2_J03"
93
+ position={[0.15, 0, 0]}
94
+ rotation={[Math.PI / 2, 0, 0]}
95
+ >
96
+ <group
97
+ name="KUKA_KR16R2010_2_J04"
98
+ position={[0, -0.86, 0]}
99
+ rotation={[-Math.PI / 2, 0, 0]}
100
+ >
101
+ <group
102
+ name="KUKA_KR16R2010_2_J05"
103
+ rotation={[-Math.PI / 2, 0, -Math.PI]}
104
+ >
105
+ <mesh
106
+ name="link_6"
107
+ castShadow
108
+ receiveShadow
109
+ geometry={nodes.link_6.geometry}
110
+ material={materials.material_Material_Farbe__2_}
111
+ position={[0.67, 2, 0]}
112
+ rotation={[-Math.PI, 0, Math.PI / 2]}
113
+ />
114
+ </group>
115
+ <mesh
116
+ name="link_5"
117
+ castShadow
118
+ receiveShadow
119
+ geometry={nodes.link_5.geometry}
120
+ material={materials.material_Material_Farbe}
121
+ position={[-0.67, 0, 2]}
122
+ rotation={[Math.PI / 2, 0, -Math.PI / 2]}
123
+ />
124
+ </group>
125
+ <mesh
126
+ name="link_4"
127
+ castShadow
128
+ receiveShadow
129
+ geometry={nodes.link_4.geometry}
130
+ material={materials.material_Material_Farbe}
131
+ position={[-0.67, 1.14, 0]}
132
+ rotation={[0, 0, -Math.PI / 2]}
133
+ />
134
+ </group>
135
+ <group
136
+ name="link_3"
137
+ position={[-0.52, 0, 1.14]}
138
+ rotation={[Math.PI / 2, 0, -Math.PI / 2]}
139
+ >
140
+ <mesh
141
+ name="visuals_3"
142
+ castShadow
143
+ receiveShadow
144
+ geometry={nodes.visuals_3.geometry}
145
+ material={materials.material_Material_Farbe}
146
+ />
147
+ <mesh
148
+ name="visuals_3_1"
149
+ castShadow
150
+ receiveShadow
151
+ geometry={nodes.visuals_3_1.geometry}
152
+ material={materials.material_Material_Metall}
153
+ />
154
+ <mesh
155
+ name="visuals_3_2"
156
+ castShadow
157
+ receiveShadow
158
+ geometry={nodes.visuals_3_2.geometry}
159
+ material={materials.material_Material_Farbe__2_}
160
+ />
161
+ </group>
162
+ </group>
163
+ <group
164
+ name="link_2"
165
+ position={[-0.16, 0, -0.52]}
166
+ rotation={[Math.PI / 2, 0, 0]}
167
+ >
168
+ <mesh
169
+ name="visuals_2"
170
+ castShadow
171
+ receiveShadow
172
+ geometry={nodes.visuals_2.geometry}
173
+ material={materials.material_Material_Farbe}
174
+ />
175
+ <mesh
176
+ name="visuals_2_1"
177
+ castShadow
178
+ receiveShadow
179
+ geometry={nodes.visuals_2_1.geometry}
180
+ material={materials.material_Material_Metall}
181
+ />
182
+ </group>
183
+ </group>
184
+ <group name="link_1">
185
+ <mesh
186
+ name="visuals_1"
187
+ castShadow
188
+ receiveShadow
189
+ geometry={nodes.visuals_1.geometry}
190
+ material={materials.material_Material_Farbe}
191
+ />
192
+ <mesh
193
+ name="visuals_1_1"
194
+ castShadow
195
+ receiveShadow
196
+ geometry={nodes.visuals_1_1.geometry}
197
+ material={materials.material_Material_Farbe__2_}
198
+ />
199
+ <mesh
200
+ name="visuals_1_2"
201
+ castShadow
202
+ receiveShadow
203
+ geometry={nodes.visuals_1_2.geometry}
204
+ material={materials.material_Material_Metall}
205
+ />
206
+ </group>
207
+ </group>
208
+ </group>
209
+ </group>
210
+ </>
211
+ )
212
+ }
@@ -18,6 +18,7 @@ import { FANUC_CRX25iA } from "./FANUC_CRX25iA"
18
18
  import { FANUC_CRX25iAL } from "./FANUC_CRX25iAL"
19
19
  import { KUKA_KR210_R2700 } from "./KUKA_KR210_R2700"
20
20
  import { KUKA_KR270_R2700 } from "./KUKA_KR270_R2700"
21
+ import { KUKA_KR16_R2010_2 } from "./KUKA_KR16_R2010_2"
21
22
  import { FANUC_ARC_Mate_100iD } from "./FANUC_ARC_Mate_100iD"
22
23
  import { FANUC_ARC_Mate_120iD } from "./FANUC_ARC_Mate_120iD"
23
24
  import { ABB_1200_07_7 } from "./ABB_1200_07_7"
@@ -236,6 +237,9 @@ export const SupportedRobot = externalizeComponent(
236
237
  case "KUKA_KR270_R2700":
237
238
  Robot = KUKA_KR270_R2700
238
239
  break
240
+ case "KUKA_KR16_R2010_2":
241
+ Robot = KUKA_KR16_R2010_2
242
+ break
239
243
  case "ABB_1200_07_7":
240
244
  Robot = ABB_1200_07_7
241
245
  break