@wandelbots/wandelbots-js-react-components 1.30.1 → 1.32.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wandelbots/wandelbots-js-react-components",
3
- "version": "1.30.1",
3
+ "version": "1.32.0",
4
4
  "description": "React UI toolkit for building applications on top of the Wandelbots platform",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -0,0 +1,204 @@
1
+ import { animated } from "@react-spring/three"
2
+ import { useGLTF } from "@react-three/drei"
3
+ import type { RobotModelProps } from "./types"
4
+
5
+ KUKA_KR20_R1810_2.config = {
6
+ rotationOffsets: [0, 0, -Math.PI / 2, 0, 0, 0],
7
+ }
8
+
9
+ export function KUKA_KR20_R1810_2({
10
+ modelURL,
11
+ flangeRef,
12
+ ...props
13
+ }: RobotModelProps) {
14
+ const { nodes, materials } = useGLTF(modelURL) as any
15
+
16
+ return (
17
+ <group {...props} dispose={null}>
18
+ <group name="Scene">
19
+ <group name="link_0">
20
+ <mesh
21
+ name="visuals_0"
22
+ geometry={nodes.visuals_0.geometry}
23
+ material={materials.kuka_black}
24
+ />
25
+ <mesh
26
+ name="visuals_0_1"
27
+ geometry={nodes.visuals_0_1.geometry}
28
+ material={materials.kuka_metal}
29
+ />
30
+ </group>
31
+ <animated.group name="KUKA_KR20R1810_2_J00">
32
+ <animated.group
33
+ name="KUKA_KR20R1810_2_J01"
34
+ position={[0.16, 0.52, 0]}
35
+ rotation={[-Math.PI / 2, 0, 0]}
36
+ >
37
+ <animated.group
38
+ name="KUKA_KR20R1810_2_J02"
39
+ position={[0.78, 0, 0]}
40
+ rotation={[0, -Math.PI / 2, 0]}
41
+ >
42
+ <animated.group
43
+ name="KUKA_KR20R1810_2_J03"
44
+ position={[0.15, 0, 0]}
45
+ rotation={[Math.PI / 2, 0, 0]}
46
+ >
47
+ <animated.group
48
+ name="KUKA_KR20R1810_2_J04"
49
+ position={[0, -0.86, 0]}
50
+ rotation={[-Math.PI / 2, 0, 0]}
51
+ >
52
+ <animated.group
53
+ name="KUKA_KR20R1810_2_J05"
54
+ rotation={[-Math.PI / 2, 0, -Math.PI]}
55
+ >
56
+ <group
57
+ name="KUKA_KR20R1810_2_FLG"
58
+ ref={flangeRef}
59
+ position={[0, -0.153, 0]}
60
+ rotation={[-Math.PI, 0, 0]}
61
+ />
62
+ <mesh
63
+ name="link_6"
64
+ geometry={nodes.link_6.geometry}
65
+ material={materials.kuka_metal}
66
+ position={[0.67, 1.8, 0]}
67
+ rotation={[-Math.PI, 0, Math.PI / 2]}
68
+ />
69
+ </animated.group>
70
+ <group
71
+ name="link_5"
72
+ position={[-0.67, 0, 1.8]}
73
+ rotation={[Math.PI / 2, 0, -Math.PI / 2]}
74
+ >
75
+ <mesh
76
+ name="visuals_5"
77
+ geometry={nodes.visuals_5.geometry}
78
+ material={materials.kuka_orange}
79
+ />
80
+ <mesh
81
+ name="visuals_5_1"
82
+ geometry={nodes.visuals_5_1.geometry}
83
+ material={materials.kuka_black}
84
+ />
85
+ <mesh
86
+ name="visuals_5_2"
87
+ geometry={nodes.visuals_5_2.geometry}
88
+ material={materials.kuka_metal}
89
+ />
90
+ </group>
91
+ </animated.group>
92
+ <group
93
+ name="link_4"
94
+ position={[-0.67, 0.94, 0]}
95
+ rotation={[0, 0, -Math.PI / 2]}
96
+ >
97
+ <mesh
98
+ name="visuals_4"
99
+ geometry={nodes.visuals_4.geometry}
100
+ material={materials.kuka_orange}
101
+ />
102
+ <mesh
103
+ name="visuals_4_1"
104
+ geometry={nodes.visuals_4_1.geometry}
105
+ material={materials.kuka_black}
106
+ />
107
+ <mesh
108
+ name="visuals_4_2"
109
+ geometry={nodes.visuals_4_2.geometry}
110
+ material={materials.kuka_metal}
111
+ />
112
+ </group>
113
+ </animated.group>
114
+ <group
115
+ name="link_3"
116
+ position={[-0.52, 0, 0.94]}
117
+ rotation={[Math.PI / 2, 0, -Math.PI / 2]}
118
+ >
119
+ <mesh
120
+ name="visuals_3"
121
+ geometry={nodes.visuals_3.geometry}
122
+ material={materials.kuka_metal}
123
+ />
124
+ <mesh
125
+ name="visuals_3_1"
126
+ geometry={nodes.visuals_3_1.geometry}
127
+ material={materials.kuka_black}
128
+ />
129
+ <mesh
130
+ name="visuals_3_2"
131
+ geometry={nodes.visuals_3_2.geometry}
132
+ material={materials.kuka_orange}
133
+ />
134
+ </group>
135
+ </animated.group>
136
+ <group
137
+ name="link_2"
138
+ position={[-0.16, 0, -0.52]}
139
+ rotation={[Math.PI / 2, 0, 0]}
140
+ >
141
+ <mesh
142
+ name="visuals_2"
143
+ geometry={nodes.visuals_2.geometry}
144
+ material={materials.kuka_orange}
145
+ />
146
+ <mesh
147
+ name="visuals_2_1"
148
+ geometry={nodes.visuals_2_1.geometry}
149
+ material={materials.kuka_black}
150
+ />
151
+ <mesh
152
+ name="visuals_2_2"
153
+ geometry={nodes.visuals_2_2.geometry}
154
+ material={nodes.visuals_2_2.material}
155
+ />
156
+ </group>
157
+ </animated.group>
158
+ <group name="link_1">
159
+ <mesh
160
+ name="visuals_1"
161
+ geometry={nodes.visuals_1.geometry}
162
+ material={materials.kuka_orange}
163
+ />
164
+ <mesh
165
+ name="visuals_1_1"
166
+ geometry={nodes.visuals_1_1.geometry}
167
+ material={materials.kuka_black}
168
+ />
169
+ <mesh
170
+ name="visuals_1_2"
171
+ geometry={nodes.visuals_1_2.geometry}
172
+ material={materials.kuka_metal}
173
+ />
174
+ <mesh
175
+ name="visuals_1_3"
176
+ geometry={nodes.visuals_1_3.geometry}
177
+ material={nodes.visuals_1_3.material}
178
+ />
179
+ <mesh
180
+ name="visuals_1_4"
181
+ geometry={nodes.visuals_1_4.geometry}
182
+ material={nodes.visuals_1_4.material}
183
+ />
184
+ <mesh
185
+ name="visuals_1_5"
186
+ geometry={nodes.visuals_1_5.geometry}
187
+ material={nodes.visuals_1_5.material}
188
+ />
189
+ <mesh
190
+ name="visuals_1_6"
191
+ geometry={nodes.visuals_1_6.geometry}
192
+ material={nodes.visuals_1_6.material}
193
+ />
194
+ <mesh
195
+ name="visuals_1_7"
196
+ geometry={nodes.visuals_1_7.geometry}
197
+ material={nodes.visuals_1_7.material}
198
+ />
199
+ </group>
200
+ </animated.group>
201
+ </group>
202
+ </group>
203
+ )
204
+ }
@@ -12,6 +12,7 @@ import { FANUC_LR_Mate_200iD } from "./FANUC_LR_Mate_200iD"
12
12
  import { FANUC_LR_Mate_200iD4S } from "./FANUC_LR_Mate_200iD4S"
13
13
  import { FANUC_LR_Mate_200iD7L } from "./FANUC_LR_Mate_200iD7L"
14
14
  import { KUKA_KR16_R2010_2 } from "./KUKA_KR16_R2010_2"
15
+ import { KUKA_KR20_R1810_2 } from "./KUKA_KR20_R1810_2"
15
16
  import { KUKA_KR210_R2700 } from "./KUKA_KR210_R2700"
16
17
  import { KUKA_KR270_R2700 } from "./KUKA_KR270_R2700"
17
18
  import { KUKA_KR6_R700_2 } from "./KUKA_KR6_R700_2"
@@ -27,6 +28,7 @@ import { Yaskawa_AR2010 } from "./Yaskawa_AR2010"
27
28
  import { Yaskawa_AR3120 } from "./Yaskawa_AR3120"
28
29
  import { Yaskawa_AR900 } from "./Yaskawa_AR900"
29
30
  import { Yaskawa_GP50 } from "./Yaskawa_GP50"
31
+ import { Yaskawa_GP88 } from "./Yaskawa_GP88"
30
32
 
31
33
  import { version } from "../../../package.json"
32
34
 
@@ -210,6 +212,9 @@ export const SupportedRobot = externalizeComponent(
210
212
  case "Yaskawa_GP50":
211
213
  Robot = Yaskawa_GP50
212
214
  break
215
+ case "Yaskawa_GP88":
216
+ Robot = Yaskawa_GP88
217
+ break
213
218
  case "FANUC_CRX10iA":
214
219
  Robot = FANUC_CRX10iA
215
220
  break
@@ -252,6 +257,9 @@ export const SupportedRobot = externalizeComponent(
252
257
  case "KUKA_KR16_R2010_2":
253
258
  Robot = KUKA_KR16_R2010_2
254
259
  break
260
+ case "KUKA_KR20_R1810_2":
261
+ Robot = KUKA_KR20_R1810_2
262
+ break
255
263
  case "KUKA_KR6_R700_2":
256
264
  Robot = KUKA_KR6_R700_2
257
265
  break
@@ -0,0 +1,169 @@
1
+ import { animated } from "@react-spring/three"
2
+ import { useGLTF } from "@react-three/drei"
3
+ import type { RobotModelProps } from "./types"
4
+
5
+ Yaskawa_GP88.config = {
6
+ rotationOffsets: [0, -Math.PI / 2, 0, 0, 0, 0],
7
+ }
8
+
9
+ export function Yaskawa_GP88({
10
+ modelURL,
11
+ flangeRef,
12
+ ...props
13
+ }: RobotModelProps) {
14
+ const gltf = useGLTF(modelURL) as any
15
+
16
+ const nodes = gltf.nodes
17
+ const materials = gltf.materials
18
+
19
+ return (
20
+ <group {...props} dispose={null}>
21
+ <group name="Scene">
22
+ <group name="link_0">
23
+ <mesh
24
+ name="shape003"
25
+ geometry={nodes.shape003.geometry}
26
+ material={materials.yaskawa_blue}
27
+ />
28
+ <mesh
29
+ name="shape003_1"
30
+ geometry={nodes.shape003_1.geometry}
31
+ material={materials.yaskawa_metalsilver}
32
+ />
33
+ <mesh
34
+ name="shape003_2"
35
+ geometry={nodes.shape003_2.geometry}
36
+ material={materials.yaskawa_black}
37
+ />
38
+ </group>
39
+ <animated.group name="YASKAWA_GP88_J00">
40
+ <group name="link_1">
41
+ <mesh
42
+ name="shape030"
43
+ geometry={nodes.shape030.geometry}
44
+ material={materials.yaskawa_blue}
45
+ />
46
+ <mesh
47
+ name="shape030_1"
48
+ geometry={nodes.shape030_1.geometry}
49
+ material={materials.yaskawa_black}
50
+ />
51
+ <mesh
52
+ name="shape030_2"
53
+ geometry={nodes.shape030_2.geometry}
54
+ material={materials.yaskawa_black}
55
+ />
56
+ <mesh
57
+ name="shape030_3"
58
+ geometry={nodes.shape030_3.geometry}
59
+ material={materials.yaskawa_metalsilver}
60
+ />
61
+ </group>
62
+ <animated.group
63
+ name="YASKAWA_GP88_J01"
64
+ position={[0.32, 0, 0]}
65
+ rotation={[-Math.PI / 2, -Math.PI / 2, 0]}
66
+ >
67
+ <group
68
+ name="link_2"
69
+ position={[0, 0, 0.32]}
70
+ rotation={[Math.PI / 2, 0, -Math.PI / 2]}
71
+ >
72
+ <mesh
73
+ name="shape029"
74
+ geometry={nodes.shape029.geometry}
75
+ material={materials.yaskawa_blue}
76
+ />
77
+ <mesh
78
+ name="shape029_1"
79
+ geometry={nodes.shape029_1.geometry}
80
+ material={materials.yaskawa_black}
81
+ />
82
+ <mesh
83
+ name="shape029_2"
84
+ geometry={nodes.shape029_2.geometry}
85
+ material={materials.yaskawa_white}
86
+ />
87
+ <mesh
88
+ name="shape029_3"
89
+ geometry={nodes.shape029_3.geometry}
90
+ material={materials.yaskawa_metalsilver}
91
+ />
92
+ </group>
93
+ <animated.group
94
+ name="YASKAWA_GP88_J02"
95
+ position={[0.87, 0, 0]}
96
+ rotation={[-Math.PI, 0, 0]}
97
+ >
98
+ <group
99
+ name="link_3"
100
+ position={[-0.87, 0, -0.32]}
101
+ rotation={[-Math.PI / 2, 0, -Math.PI / 2]}
102
+ >
103
+ <mesh
104
+ name="shape021"
105
+ geometry={nodes.shape021.geometry}
106
+ material={materials.yaskawa_blue}
107
+ />
108
+ <mesh
109
+ name="shape021_1"
110
+ geometry={nodes.shape021_1.geometry}
111
+ material={materials.yaskawa_black}
112
+ />
113
+ <mesh
114
+ name="shape021_2"
115
+ geometry={nodes.shape021_2.geometry}
116
+ material={materials.yaskawa_metalsilver}
117
+ />
118
+ </group>
119
+ <animated.group
120
+ name="YASKAWA_GP88_J03"
121
+ position={[0.21, 0, 0]}
122
+ rotation={[-Math.PI / 2, 0, 0]}
123
+ >
124
+ <mesh
125
+ name="link_4"
126
+ geometry={nodes.link_4.geometry}
127
+ material={materials.yaskawa_blue}
128
+ position={[-1.08, 0.32, 0]}
129
+ rotation={[0, 0, -Math.PI / 2]}
130
+ />
131
+ <animated.group
132
+ name="YASKAWA_GP88_J04"
133
+ position={[0, -1.025, 0]}
134
+ rotation={[Math.PI / 2, 0, 0]}
135
+ >
136
+ <mesh
137
+ name="link_5"
138
+ geometry={nodes.link_5.geometry}
139
+ material={materials.yaskawa_blue}
140
+ position={[-1.08, 0, -1.345]}
141
+ rotation={[-Math.PI / 2, 0, -Math.PI / 2]}
142
+ />
143
+ <animated.group
144
+ name="YASKAWA_GP88_J05"
145
+ rotation={[-Math.PI / 2, 0, 0]}
146
+ >
147
+ <mesh
148
+ name="link_6"
149
+ geometry={nodes.link_6.geometry}
150
+ material={materials.yaskawa_metalgold}
151
+ position={[-1.08, 1.345, 0]}
152
+ rotation={[0, 0, -Math.PI / 2]}
153
+ />
154
+ <group
155
+ name="YASKAWA_GP88_FLG"
156
+ ref={flangeRef}
157
+ position={[0, -0.175, 0]}
158
+ rotation={[-Math.PI, 0, 0]}
159
+ />
160
+ </animated.group>
161
+ </animated.group>
162
+ </animated.group>
163
+ </animated.group>
164
+ </animated.group>
165
+ </animated.group>
166
+ </group>
167
+ </group>
168
+ )
169
+ }