@wandelbots/wandelbots-js-react-components 1.27.9 → 1.28.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.
Files changed (95) hide show
  1. package/dist/components/robots/ABB_1200_07_7.d.ts +1 -1
  2. package/dist/components/robots/ABB_1200_07_7.d.ts.map +1 -1
  3. package/dist/components/robots/ABB_1300_115_10.d.ts +1 -1
  4. package/dist/components/robots/ABB_1300_115_10.d.ts.map +1 -1
  5. package/dist/components/robots/FANUC_ARC_Mate_100iD.d.ts +1 -1
  6. package/dist/components/robots/FANUC_ARC_Mate_100iD.d.ts.map +1 -1
  7. package/dist/components/robots/FANUC_ARC_Mate_120iD.d.ts +1 -1
  8. package/dist/components/robots/FANUC_ARC_Mate_120iD.d.ts.map +1 -1
  9. package/dist/components/robots/FANUC_CRX10iA.d.ts +1 -1
  10. package/dist/components/robots/FANUC_CRX10iA.d.ts.map +1 -1
  11. package/dist/components/robots/FANUC_CRX10iAL.d.ts +1 -1
  12. package/dist/components/robots/FANUC_CRX10iAL.d.ts.map +1 -1
  13. package/dist/components/robots/FANUC_CRX20iAL.d.ts +1 -1
  14. package/dist/components/robots/FANUC_CRX20iAL.d.ts.map +1 -1
  15. package/dist/components/robots/FANUC_CRX25iA.d.ts +1 -1
  16. package/dist/components/robots/FANUC_CRX25iA.d.ts.map +1 -1
  17. package/dist/components/robots/FANUC_CRX25iAL.d.ts +1 -1
  18. package/dist/components/robots/FANUC_CRX25iAL.d.ts.map +1 -1
  19. package/dist/components/robots/FANUC_LR_MATE_200iD7L.d.ts +1 -1
  20. package/dist/components/robots/FANUC_LR_MATE_200iD7L.d.ts.map +1 -1
  21. package/dist/components/robots/FANUC_LR_Mate_200iD.d.ts +1 -1
  22. package/dist/components/robots/FANUC_LR_Mate_200iD.d.ts.map +1 -1
  23. package/dist/components/robots/KUKA_KR16_R2010_2.d.ts +1 -1
  24. package/dist/components/robots/KUKA_KR16_R2010_2.d.ts.map +1 -1
  25. package/dist/components/robots/KUKA_KR210_R2700.d.ts +1 -1
  26. package/dist/components/robots/KUKA_KR210_R2700.d.ts.map +1 -1
  27. package/dist/components/robots/KUKA_KR270_R2700.d.ts +1 -1
  28. package/dist/components/robots/KUKA_KR270_R2700.d.ts.map +1 -1
  29. package/dist/components/robots/KUKA_KR6_R700_2.d.ts +1 -1
  30. package/dist/components/robots/KUKA_KR6_R700_2.d.ts.map +1 -1
  31. package/dist/components/robots/Robot.d.ts +3 -1
  32. package/dist/components/robots/Robot.d.ts.map +1 -1
  33. package/dist/components/robots/SupportedRobot.d.ts +3 -1
  34. package/dist/components/robots/SupportedRobot.d.ts.map +1 -1
  35. package/dist/components/robots/UniversalRobots_UR10CB.d.ts +1 -1
  36. package/dist/components/robots/UniversalRobots_UR10CB.d.ts.map +1 -1
  37. package/dist/components/robots/UniversalRobots_UR10e.d.ts +1 -1
  38. package/dist/components/robots/UniversalRobots_UR10e.d.ts.map +1 -1
  39. package/dist/components/robots/UniversalRobots_UR3CB.d.ts +1 -1
  40. package/dist/components/robots/UniversalRobots_UR3CB.d.ts.map +1 -1
  41. package/dist/components/robots/UniversalRobots_UR3e.d.ts +1 -1
  42. package/dist/components/robots/UniversalRobots_UR3e.d.ts.map +1 -1
  43. package/dist/components/robots/UniversalRobots_UR5CB.d.ts +1 -1
  44. package/dist/components/robots/UniversalRobots_UR5CB.d.ts.map +1 -1
  45. package/dist/components/robots/UniversalRobots_UR5e.d.ts +1 -1
  46. package/dist/components/robots/UniversalRobots_UR5e.d.ts.map +1 -1
  47. package/dist/components/robots/Yaskawa_AR1440.d.ts +1 -1
  48. package/dist/components/robots/Yaskawa_AR1440.d.ts.map +1 -1
  49. package/dist/components/robots/Yaskawa_AR1730.d.ts +1 -1
  50. package/dist/components/robots/Yaskawa_AR1730.d.ts.map +1 -1
  51. package/dist/components/robots/Yaskawa_AR2010.d.ts +1 -1
  52. package/dist/components/robots/Yaskawa_AR2010.d.ts.map +1 -1
  53. package/dist/components/robots/Yaskawa_AR3120.d.ts +1 -1
  54. package/dist/components/robots/Yaskawa_AR3120.d.ts.map +1 -1
  55. package/dist/components/robots/Yaskawa_AR900.d.ts +1 -1
  56. package/dist/components/robots/Yaskawa_AR900.d.ts.map +1 -1
  57. package/dist/components/robots/Yaskawa_GP50.d.ts +1 -1
  58. package/dist/components/robots/Yaskawa_GP50.d.ts.map +1 -1
  59. package/dist/components/robots/types.d.ts +2 -0
  60. package/dist/components/robots/types.d.ts.map +1 -1
  61. package/dist/index.cjs +23 -23
  62. package/dist/index.cjs.map +1 -1
  63. package/dist/index.js +3982 -3822
  64. package/dist/index.js.map +1 -1
  65. package/package.json +1 -1
  66. package/src/components/robots/ABB_1200_07_7.tsx +10 -2
  67. package/src/components/robots/ABB_1300_115_10.tsx +6 -1
  68. package/src/components/robots/FANUC_ARC_Mate_100iD.tsx +6 -1
  69. package/src/components/robots/FANUC_ARC_Mate_120iD.tsx +6 -1
  70. package/src/components/robots/FANUC_CRX10iA.tsx +6 -1
  71. package/src/components/robots/FANUC_CRX10iAL.tsx +6 -1
  72. package/src/components/robots/FANUC_CRX20iAL.tsx +6 -1
  73. package/src/components/robots/FANUC_CRX25iA.tsx +6 -1
  74. package/src/components/robots/FANUC_CRX25iAL.tsx +6 -1
  75. package/src/components/robots/FANUC_LR_MATE_200iD7L.tsx +6 -1
  76. package/src/components/robots/FANUC_LR_Mate_200iD.tsx +6 -1
  77. package/src/components/robots/KUKA_KR16_R2010_2.tsx +6 -1
  78. package/src/components/robots/KUKA_KR210_R2700.tsx +6 -1
  79. package/src/components/robots/KUKA_KR270_R2700.tsx +6 -1
  80. package/src/components/robots/KUKA_KR6_R700_2.tsx +6 -1
  81. package/src/components/robots/Robot.tsx +4 -0
  82. package/src/components/robots/SupportedRobot.tsx +7 -1
  83. package/src/components/robots/UniversalRobots_UR10CB.tsx +2 -0
  84. package/src/components/robots/UniversalRobots_UR10e.tsx +6 -1
  85. package/src/components/robots/UniversalRobots_UR3CB.tsx +10 -2
  86. package/src/components/robots/UniversalRobots_UR3e.tsx +6 -1
  87. package/src/components/robots/UniversalRobots_UR5CB.tsx +6 -1
  88. package/src/components/robots/UniversalRobots_UR5e.tsx +10 -2
  89. package/src/components/robots/Yaskawa_AR1440.tsx +6 -1
  90. package/src/components/robots/Yaskawa_AR1730.tsx +6 -1
  91. package/src/components/robots/Yaskawa_AR2010.tsx +6 -1
  92. package/src/components/robots/Yaskawa_AR3120.tsx +6 -1
  93. package/src/components/robots/Yaskawa_AR900.tsx +6 -1
  94. package/src/components/robots/Yaskawa_GP50.tsx +6 -1
  95. package/src/components/robots/types.ts +2 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wandelbots/wandelbots-js-react-components",
3
- "version": "1.27.9",
3
+ "version": "1.28.0",
4
4
  "description": "React UI toolkit for building applications on top of the Wandelbots platform",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -6,7 +6,11 @@ ABB_1200_07_7.config = {
6
6
  rotationOffsets: [0, -Math.PI / 2, 0, 0, 0, 0],
7
7
  }
8
8
 
9
- export function ABB_1200_07_7({ modelURL, ...props }: RobotModelProps) {
9
+ export function ABB_1200_07_7({
10
+ modelURL,
11
+ flangeRef,
12
+ ...props
13
+ }: RobotModelProps) {
10
14
  const gltf = useGLTF(modelURL) as any
11
15
  const nodes = gltf.nodes
12
16
  const materials = gltf.materials
@@ -47,7 +51,11 @@ export function ABB_1200_07_7({ modelURL, ...props }: RobotModelProps) {
47
51
  name="ABB_IRB1200_J05"
48
52
  rotation={[Math.PI / 2, 0, -Math.PI]}
49
53
  >
50
- <group name="ABB_IRB1200_FLG" position={[0, 0.082, 0]} />
54
+ <group
55
+ ref={flangeRef}
56
+ name="ABB_IRB1200_FLG"
57
+ position={[0, 0.082, 0]}
58
+ />
51
59
  <mesh
52
60
  name="visuals006"
53
61
  geometry={nodes.visuals006.geometry}
@@ -6,7 +6,11 @@ ABB_1300_115_10.config = {
6
6
  rotationOffsets: [0, -Math.PI / 2, 0, 0, 0, 0],
7
7
  }
8
8
 
9
- export function ABB_1300_115_10({ modelURL, ...props }: RobotModelProps) {
9
+ export function ABB_1300_115_10({
10
+ modelURL,
11
+ flangeRef,
12
+ ...props
13
+ }: RobotModelProps) {
10
14
  const gltf = useGLTF(modelURL) as any
11
15
  const nodes = gltf.nodes
12
16
  const materials = gltf.materials
@@ -61,6 +65,7 @@ export function ABB_1300_115_10({ modelURL, ...props }: RobotModelProps) {
61
65
  rotation={[Math.PI / 2, 0, -Math.PI]}
62
66
  >
63
67
  <group
68
+ ref={flangeRef}
64
69
  name="ABB_IRB1300_115_10_FLG"
65
70
  position={[0, 0.092, 0]}
66
71
  />
@@ -6,7 +6,11 @@ FANUC_ARC_Mate_100iD.config = {
6
6
  rotationOffsets: [0, Math.PI / 2, 0, 0, 0, 0],
7
7
  }
8
8
 
9
- export function FANUC_ARC_Mate_100iD({ modelURL, ...props }: RobotModelProps) {
9
+ export function FANUC_ARC_Mate_100iD({
10
+ modelURL,
11
+ flangeRef,
12
+ ...props
13
+ }: RobotModelProps) {
10
14
  const gltf = useGLTF(modelURL) as any
11
15
  const nodes = gltf.nodes
12
16
  const materials = gltf.materials
@@ -38,6 +42,7 @@ export function FANUC_ARC_Mate_100iD({ modelURL, ...props }: RobotModelProps) {
38
42
  rotation={[-Math.PI / 2, 0, 0]}
39
43
  >
40
44
  <group
45
+ ref={flangeRef}
41
46
  name="M10iD_FLG"
42
47
  position={[0, -0.075, 0]}
43
48
  rotation={[-Math.PI, 0, 0]}
@@ -6,7 +6,11 @@ FANUC_ARC_Mate_120iD.config = {
6
6
  rotationOffsets: [0, Math.PI / 2, 0, 0, 0, 0],
7
7
  }
8
8
 
9
- export function FANUC_ARC_Mate_120iD({ modelURL, ...props }: RobotModelProps) {
9
+ export function FANUC_ARC_Mate_120iD({
10
+ modelURL,
11
+ flangeRef,
12
+ ...props
13
+ }: RobotModelProps) {
10
14
  const gltf = useGLTF(modelURL) as any
11
15
  const nodes = gltf.nodes
12
16
  const materials = gltf.materials
@@ -38,6 +42,7 @@ export function FANUC_ARC_Mate_120iD({ modelURL, ...props }: RobotModelProps) {
38
42
  rotation={[-Math.PI / 2, 0, 0]}
39
43
  >
40
44
  <group
45
+ ref={flangeRef}
41
46
  name="M20iD25_FLG"
42
47
  position={[0, -0.09, 0]}
43
48
  rotation={[-Math.PI, 0, 0]}
@@ -6,7 +6,11 @@ FANUC_CRX10iA.config = {
6
6
  rotationOffsets: [0, Math.PI / 2, 0, 0, 0, 0],
7
7
  }
8
8
 
9
- export function FANUC_CRX10iA({ modelURL, ...props }: RobotModelProps) {
9
+ export function FANUC_CRX10iA({
10
+ modelURL,
11
+ flangeRef,
12
+ ...props
13
+ }: RobotModelProps) {
10
14
  const gltf = useGLTF(modelURL) as any
11
15
  const nodes = gltf.nodes
12
16
  const materials = gltf.materials
@@ -36,6 +40,7 @@ export function FANUC_CRX10iA({ modelURL, ...props }: RobotModelProps) {
36
40
  rotation={[-Math.PI / 2, 0, 0]}
37
41
  >
38
42
  <group
43
+ ref={flangeRef}
39
44
  name="CRX10iA_FLG"
40
45
  position={[0, -0.16, 0]}
41
46
  rotation={[-Math.PI, 0, 0]}
@@ -6,7 +6,11 @@ FANUC_CRX10iAL.config = {
6
6
  rotationOffsets: [0, Math.PI / 2, 0, 0, 0, 0],
7
7
  }
8
8
 
9
- export function FANUC_CRX10iAL({ modelURL, ...props }: RobotModelProps) {
9
+ export function FANUC_CRX10iAL({
10
+ modelURL,
11
+ flangeRef,
12
+ ...props
13
+ }: RobotModelProps) {
10
14
  const gltf = useGLTF(modelURL) as any
11
15
  const nodes = gltf.nodes
12
16
  const materials = gltf.materials
@@ -72,6 +76,7 @@ export function FANUC_CRX10iAL({ modelURL, ...props }: RobotModelProps) {
72
76
  rotation={[-Math.PI / 2, 0, 0]}
73
77
  >
74
78
  <group
79
+ ref={flangeRef}
75
80
  name="FANUC_CRX10IAL_FLG"
76
81
  position={[0, -0.16, 0]}
77
82
  rotation={[-Math.PI, 0, 0]}
@@ -6,7 +6,11 @@ FANUC_CRX20iAL.config = {
6
6
  rotationOffsets: [0, Math.PI / 2, 0, 0, 0, 0],
7
7
  }
8
8
 
9
- export function FANUC_CRX20iAL({ modelURL, ...props }: RobotModelProps) {
9
+ export function FANUC_CRX20iAL({
10
+ modelURL,
11
+ flangeRef,
12
+ ...props
13
+ }: RobotModelProps) {
10
14
  const gltf = useGLTF(modelURL) as any
11
15
  const nodes = gltf.nodes
12
16
  const materials = gltf.materials
@@ -42,6 +46,7 @@ export function FANUC_CRX20iAL({ modelURL, ...props }: RobotModelProps) {
42
46
  rotation={[-Math.PI / 2, 0, 0]}
43
47
  >
44
48
  <animated.group
49
+ ref={flangeRef}
45
50
  name="FANUC_CRX20iAL_FLG"
46
51
  position={[0, -0.16, 0]}
47
52
  rotation={[-Math.PI, 0, 0]}
@@ -6,7 +6,11 @@ FANUC_CRX25iA.config = {
6
6
  rotationOffsets: [0, Math.PI / 2, 0, 0, 0, 0],
7
7
  }
8
8
 
9
- export function FANUC_CRX25iA({ modelURL, ...props }: RobotModelProps) {
9
+ export function FANUC_CRX25iA({
10
+ modelURL,
11
+ flangeRef,
12
+ ...props
13
+ }: RobotModelProps) {
10
14
  const gltf = useGLTF(modelURL) as any
11
15
  const nodes = gltf.nodes
12
16
  const materials = gltf.materials
@@ -49,6 +53,7 @@ export function FANUC_CRX25iA({ modelURL, ...props }: RobotModelProps) {
49
53
  rotation={[-Math.PI / 2, 0, 0]}
50
54
  >
51
55
  <group
56
+ ref={flangeRef}
52
57
  name="CRX25iA_FLG"
53
58
  position={[0, -0.18, 0]}
54
59
  rotation={[-Math.PI, 0, 0]}
@@ -6,7 +6,11 @@ FANUC_CRX25iAL.config = {
6
6
  rotationOffsets: [0, Math.PI / 2, 0, 0, 0, 0],
7
7
  }
8
8
 
9
- export function FANUC_CRX25iAL({ modelURL, ...props }: RobotModelProps) {
9
+ export function FANUC_CRX25iAL({
10
+ modelURL,
11
+ flangeRef,
12
+ ...props
13
+ }: RobotModelProps) {
10
14
  const gltf = useGLTF(modelURL) as any
11
15
  const nodes = gltf.nodes
12
16
  const materials = gltf.materials
@@ -37,6 +41,7 @@ export function FANUC_CRX25iAL({ modelURL, ...props }: RobotModelProps) {
37
41
  rotation={[-Math.PI / 2, 0, 0]}
38
42
  >
39
43
  <group
44
+ ref={flangeRef}
40
45
  name="CRX10iA_FLG"
41
46
  position={[0, -0.16, 0]}
42
47
  rotation={[-Math.PI, 0, 0]}
@@ -10,7 +10,11 @@ FANUC_LR_MATE_200iD7L.config = {
10
10
  rotationOffsets: [0, Math.PI / 2, 0, 0, 0, 0],
11
11
  }
12
12
 
13
- export function FANUC_LR_MATE_200iD7L({ modelURL, ...props }: RobotModelProps) {
13
+ export function FANUC_LR_MATE_200iD7L({
14
+ modelURL,
15
+ flangeRef,
16
+ ...props
17
+ }: RobotModelProps) {
14
18
  const { nodes, materials } = useGLTF(modelURL) as any
15
19
  return (
16
20
  <group {...props} dispose={null}>
@@ -57,6 +61,7 @@ export function FANUC_LR_MATE_200iD7L({ modelURL, ...props }: RobotModelProps) {
57
61
  rotation={[-Math.PI / 2, 0, 0]}
58
62
  >
59
63
  <animated.group
64
+ ref={flangeRef}
60
65
  name="FANUC_LRMATE200ID7L_FLG"
61
66
  position={[0, -0.08, 0]}
62
67
  rotation={[-Math.PI, 0, 0]}
@@ -10,7 +10,11 @@ FANUC_LR_Mate_200iD.config = {
10
10
  rotationOffsets: [0, Math.PI / 2, 0, 0, 0, 0],
11
11
  }
12
12
 
13
- export function FANUC_LR_Mate_200iD({ modelURL, ...props }: RobotModelProps) {
13
+ export function FANUC_LR_Mate_200iD({
14
+ modelURL,
15
+ flangeRef,
16
+ ...props
17
+ }: RobotModelProps) {
14
18
  const { nodes, materials } = useGLTF(modelURL) as any
15
19
  return (
16
20
  <group {...props} dispose={null}>
@@ -52,6 +56,7 @@ export function FANUC_LR_Mate_200iD({ modelURL, ...props }: RobotModelProps) {
52
56
  rotation={[-Math.PI / 2, 0, 0]}
53
57
  >
54
58
  <group
59
+ ref={flangeRef}
55
60
  name="FANUC_LRMATE-200ID_FLG"
56
61
  position={[0, -0.08, 0]}
57
62
  rotation={[-Math.PI, 0, 0]}
@@ -6,7 +6,11 @@ KUKA_KR16_R2010_2.config = {
6
6
  rotationOffsets: [0, 0, -Math.PI / 2, 0, 0, 0],
7
7
  }
8
8
 
9
- export function KUKA_KR16_R2010_2({ modelURL, ...props }: RobotModelProps) {
9
+ export function KUKA_KR16_R2010_2({
10
+ modelURL,
11
+ flangeRef,
12
+ ...props
13
+ }: RobotModelProps) {
10
14
  const { nodes, materials } = useGLTF(modelURL) as any
11
15
 
12
16
  return (
@@ -52,6 +56,7 @@ export function KUKA_KR16_R2010_2({ modelURL, ...props }: RobotModelProps) {
52
56
  rotation={[-Math.PI / 2, 0, 0]}
53
57
  >
54
58
  <animated.group
59
+ ref={flangeRef}
55
60
  name="KUKA_KR16R2010_2_J05"
56
61
  rotation={[-Math.PI / 2, 0, -Math.PI]}
57
62
  >
@@ -6,7 +6,11 @@ KUKA_KR210_R2700.config = {
6
6
  rotationOffsets: [0, 0, -Math.PI / 2, 0, 0, 0],
7
7
  }
8
8
 
9
- export function KUKA_KR210_R2700({ modelURL, ...props }: RobotModelProps) {
9
+ export function KUKA_KR210_R2700({
10
+ modelURL,
11
+ flangeRef,
12
+ ...props
13
+ }: RobotModelProps) {
10
14
  const gltf = useGLTF(modelURL) as any
11
15
 
12
16
  const nodes = gltf.nodes
@@ -43,6 +47,7 @@ export function KUKA_KR210_R2700({ modelURL, ...props }: RobotModelProps) {
43
47
  rotation={[Math.PI / 2, 0, 0]}
44
48
  >
45
49
  <group
50
+ ref={flangeRef}
46
51
  name="flange"
47
52
  position={[0, -0.215, 0]}
48
53
  rotation={[-Math.PI, 0, 0]}
@@ -6,7 +6,11 @@ KUKA_KR270_R2700.config = {
6
6
  rotationOffsets: [0, 0, -Math.PI / 2, 0, 0, 0],
7
7
  }
8
8
 
9
- export function KUKA_KR270_R2700({ modelURL, ...props }: RobotModelProps) {
9
+ export function KUKA_KR270_R2700({
10
+ modelURL,
11
+ flangeRef,
12
+ ...props
13
+ }: RobotModelProps) {
10
14
  const gltf = useGLTF(modelURL) as any
11
15
 
12
16
  const nodes = gltf.nodes
@@ -42,6 +46,7 @@ export function KUKA_KR270_R2700({ modelURL, ...props }: RobotModelProps) {
42
46
  rotation={[Math.PI / 2, 0, 0]}
43
47
  >
44
48
  <group
49
+ ref={flangeRef}
45
50
  name="flange"
46
51
  position={[0, -0.24, 0]}
47
52
  rotation={[-Math.PI, 0, 0]}
@@ -7,7 +7,11 @@ KUKA_KR6_R700_2.config = {
7
7
  rotationSign: [-1, 1, 1, 1, 1, 1],
8
8
  }
9
9
 
10
- export function KUKA_KR6_R700_2({ modelURL, ...props }: RobotModelProps) {
10
+ export function KUKA_KR6_R700_2({
11
+ modelURL,
12
+ flangeRef,
13
+ ...props
14
+ }: RobotModelProps) {
11
15
  const { nodes, materials } = useGLTF(modelURL) as any
12
16
  return (
13
17
  <group {...props} dispose={null}>
@@ -50,6 +54,7 @@ export function KUKA_KR6_R700_2({ modelURL, ...props }: RobotModelProps) {
50
54
  rotation={[-Math.PI / 2, 0, -Math.PI]}
51
55
  >
52
56
  <group
57
+ ref={flangeRef}
53
58
  name="KUKA_KR6R700-2_FLG"
54
59
  position={[0, -0.09, 0]}
55
60
  rotation={[-Math.PI, 0, 0]}
@@ -1,12 +1,14 @@
1
1
  import { type GroupProps } from "@react-three/fiber"
2
2
 
3
3
  import type { ConnectedMotionGroup } from "@wandelbots/wandelbots-js"
4
+ import type { Group } from "three"
4
5
  import { defaultGetModel, SupportedRobot } from "./SupportedRobot"
5
6
 
6
7
  export type RobotProps = {
7
8
  connectedMotionGroup: ConnectedMotionGroup
8
9
  getModel?: (modelFromController: string) => string
9
10
  isGhost?: boolean
11
+ flangeRef?: React.MutableRefObject<Group>
10
12
  } & GroupProps
11
13
 
12
14
  /**
@@ -24,6 +26,7 @@ export function Robot({
24
26
  connectedMotionGroup,
25
27
  getModel = defaultGetModel,
26
28
  isGhost = false,
29
+ flangeRef,
27
30
  ...props
28
31
  }: RobotProps) {
29
32
  if (!connectedMotionGroup.dhParameters) {
@@ -39,6 +42,7 @@ export function Robot({
39
42
  dhParameters={connectedMotionGroup.dhParameters}
40
43
  getModel={getModel}
41
44
  isGhost={isGhost}
45
+ flangeRef={flangeRef}
42
46
  {...props}
43
47
  />
44
48
  )
@@ -53,6 +53,7 @@ export type SupportedRobotProps = {
53
53
  dhParameters: DHParameter[]
54
54
  getModel?: (modelFromController: string) => string
55
55
  isGhost?: boolean
56
+ flangeRef?: React.MutableRefObject<THREE.Group>
56
57
  } & GroupProps
57
58
 
58
59
  export function defaultGetModel(modelFromController: string): string {
@@ -66,6 +67,7 @@ export const SupportedRobot = externalizeComponent(
66
67
  dhParameters,
67
68
  getModel = defaultGetModel,
68
69
  isGhost = false,
70
+ flangeRef,
69
71
  ...props
70
72
  }: SupportedRobotProps) => {
71
73
  let Robot: RobotModelComponent | null = null
@@ -276,7 +278,11 @@ export const SupportedRobot = externalizeComponent(
276
278
  rapidlyChangingMotionState={rapidlyChangingMotionState}
277
279
  robotConfig={Robot.config}
278
280
  >
279
- <Robot modelURL={getModel(modelFromController)} {...props} />
281
+ <Robot
282
+ modelURL={getModel(modelFromController)}
283
+ flangeRef={flangeRef}
284
+ {...props}
285
+ />
280
286
  </RobotAnimator>
281
287
  ) : (
282
288
  <DHRobot
@@ -4,6 +4,7 @@ import type { RobotModelProps } from "./types"
4
4
 
5
5
  export function UniversalRobots_UR10CB({
6
6
  modelURL,
7
+ flangeRef,
7
8
  ...props
8
9
  }: RobotModelProps) {
9
10
  const gltf = useGLTF(modelURL) as any
@@ -215,6 +216,7 @@ export function UniversalRobots_UR10CB({
215
216
  />
216
217
  </group>
217
218
  <group
219
+ ref={flangeRef}
218
220
  name="UNIVERSALROBOTS_UR10CB_FLG"
219
221
  position={[0, 0.116, 0]}
220
222
  rotation={[-Math.PI / 2, 0, 0]}
@@ -2,7 +2,11 @@ import { animated } from "@react-spring/three"
2
2
  import { useGLTF } from "@react-three/drei"
3
3
  import type { RobotModelProps } from "./types"
4
4
 
5
- export function UniversalRobots_UR10e({ modelURL, ...props }: RobotModelProps) {
5
+ export function UniversalRobots_UR10e({
6
+ modelURL,
7
+ flangeRef,
8
+ ...props
9
+ }: RobotModelProps) {
6
10
  const gltf = useGLTF(modelURL) as any
7
11
  const nodes = gltf.nodes
8
12
  const materials = gltf.materials
@@ -31,6 +35,7 @@ export function UniversalRobots_UR10e({ modelURL, ...props }: RobotModelProps) {
31
35
  rotation={[-Math.PI / 2, 0, 0]}
32
36
  >
33
37
  <animated.group
38
+ ref={flangeRef}
34
39
  name="UR10e_FLG"
35
40
  position={[1.184, -0.174, 0.061]}
36
41
  rotation={[-Math.PI / 2, 0, 0]}
@@ -2,7 +2,11 @@ import { animated } from "@react-spring/three"
2
2
  import { useGLTF } from "@react-three/drei"
3
3
  import type { RobotModelProps } from "./types"
4
4
 
5
- export function UniversalRobots_UR3CB({ modelURL, ...props }: RobotModelProps) {
5
+ export function UniversalRobots_UR3CB({
6
+ modelURL,
7
+ flangeRef,
8
+ ...props
9
+ }: RobotModelProps) {
6
10
  const gltf = useGLTF(modelURL) as any
7
11
  const nodes = gltf.nodes
8
12
  const materials = gltf.materials
@@ -35,7 +39,11 @@ export function UniversalRobots_UR3CB({ modelURL, ...props }: RobotModelProps) {
35
39
  position={[0, 0.085, 0]}
36
40
  rotation={[-Math.PI / 2, 0, 0]}
37
41
  >
38
- <group name="UR3_FLG" position={[0, 0.082, 0]} />
42
+ <group
43
+ ref={flangeRef}
44
+ name="UR3_FLG"
45
+ position={[0, 0.082, 0]}
46
+ />
39
47
  <mesh
40
48
  name="UR3_L06"
41
49
  geometry={nodes.UR3_L06.geometry}
@@ -2,7 +2,11 @@ import { animated } from "@react-spring/three"
2
2
  import { useGLTF } from "@react-three/drei"
3
3
  import type { RobotModelProps } from "./types"
4
4
 
5
- export function UniversalRobots_UR3e({ modelURL, ...props }: RobotModelProps) {
5
+ export function UniversalRobots_UR3e({
6
+ modelURL,
7
+ flangeRef,
8
+ ...props
9
+ }: RobotModelProps) {
6
10
  const gltf = useGLTF(modelURL) as any
7
11
  const nodes = gltf.nodes
8
12
  const materials = gltf.materials
@@ -189,6 +193,7 @@ export function UniversalRobots_UR3e({ modelURL, ...props }: RobotModelProps) {
189
193
  />
190
194
  </group>
191
195
  <group
196
+ ref={flangeRef}
192
197
  name="UNIVERSALROBOTS_UR3E_FLG"
193
198
  position={[0, 0.092, 0]}
194
199
  />
@@ -2,7 +2,11 @@ import { animated } from "@react-spring/three"
2
2
  import { useGLTF } from "@react-three/drei"
3
3
  import type { RobotModelProps } from "./types"
4
4
 
5
- export function UniversalRobots_UR5CB({ modelURL, ...props }: RobotModelProps) {
5
+ export function UniversalRobots_UR5CB({
6
+ modelURL,
7
+ flangeRef,
8
+ ...props
9
+ }: RobotModelProps) {
6
10
  const gltf = useGLTF(modelURL) as any
7
11
  const nodes = gltf.nodes
8
12
  const materials = gltf.materials
@@ -178,6 +182,7 @@ export function UniversalRobots_UR5CB({ modelURL, ...props }: RobotModelProps) {
178
182
  rotation={[-Math.PI / 2, 0, 0]}
179
183
  />
180
184
  <group
185
+ ref={flangeRef}
181
186
  name="UNIVERSALROBOTS_UR5CB_FLG"
182
187
  position={[0, 0.082, 0]}
183
188
  />
@@ -2,7 +2,11 @@ import { animated } from "@react-spring/three"
2
2
  import { useGLTF } from "@react-three/drei"
3
3
  import type { RobotModelProps } from "./types"
4
4
 
5
- export function UniversalRobots_UR5e({ modelURL, ...props }: RobotModelProps) {
5
+ export function UniversalRobots_UR5e({
6
+ modelURL,
7
+ flangeRef,
8
+ ...props
9
+ }: RobotModelProps) {
6
10
  const gltf = useGLTF(modelURL) as any
7
11
  const nodes = gltf.nodes
8
12
  const materials = gltf.materials
@@ -30,7 +34,11 @@ export function UniversalRobots_UR5e({ modelURL, ...props }: RobotModelProps) {
30
34
  position={[0, 0.1, 0]}
31
35
  rotation={[-Math.PI / 2, 0, 0]}
32
36
  >
33
- <group name="UR5e_FLG" position={[0, 0.1, 0]}></group>
37
+ <group
38
+ ref={flangeRef}
39
+ name="UR5e_FLG"
40
+ position={[0, 0.1, 0]}
41
+ ></group>
34
42
 
35
43
  <group
36
44
  name="UR5e_L06"
@@ -7,7 +7,11 @@ Yaskawa_AR1440.config = {
7
7
  rotationSign: [1, -1, 1, 1, 1, 1],
8
8
  }
9
9
 
10
- export function Yaskawa_AR1440({ modelURL, ...props }: RobotModelProps) {
10
+ export function Yaskawa_AR1440({
11
+ modelURL,
12
+ flangeRef,
13
+ ...props
14
+ }: RobotModelProps) {
11
15
  const gltf = useGLTF(modelURL) as any
12
16
 
13
17
  const nodes = gltf.nodes
@@ -44,6 +48,7 @@ export function Yaskawa_AR1440({ modelURL, ...props }: RobotModelProps) {
44
48
  rotation={[-Math.PI / 2, 0, 0]}
45
49
  >
46
50
  <group
51
+ ref={flangeRef}
47
52
  name="AR1440_FLG"
48
53
  position={[0, -0.1, 0]}
49
54
  rotation={[-Math.PI, 0, 0]}
@@ -7,7 +7,11 @@ Yaskawa_AR1730.config = {
7
7
  rotationSign: [1, -1, 1, 1, 1, 1],
8
8
  }
9
9
 
10
- export function Yaskawa_AR1730({ modelURL, ...props }: RobotModelProps) {
10
+ export function Yaskawa_AR1730({
11
+ modelURL,
12
+ flangeRef,
13
+ ...props
14
+ }: RobotModelProps) {
11
15
  const gltf = useGLTF(modelURL) as any
12
16
 
13
17
  const nodes = gltf.nodes
@@ -43,6 +47,7 @@ export function Yaskawa_AR1730({ modelURL, ...props }: RobotModelProps) {
43
47
  rotation={[-Math.PI / 2, 0, 0]}
44
48
  >
45
49
  <group
50
+ ref={flangeRef}
46
51
  name="AR1730_FLG"
47
52
  position={[0, -0.1, 0]}
48
53
  rotation={[-Math.PI, 0, 0]}
@@ -6,7 +6,11 @@ Yaskawa_AR2010.config = {
6
6
  rotationOffsets: [0, -Math.PI / 2, 0, 0, 0, 0],
7
7
  }
8
8
 
9
- export function Yaskawa_AR2010({ modelURL, ...props }: RobotModelProps) {
9
+ export function Yaskawa_AR2010({
10
+ modelURL,
11
+ flangeRef,
12
+ ...props
13
+ }: RobotModelProps) {
10
14
  const gltf = useGLTF(modelURL) as any
11
15
  const nodes = gltf.nodes
12
16
  const materials = gltf.materials
@@ -118,6 +122,7 @@ export function Yaskawa_AR2010({ modelURL, ...props }: RobotModelProps) {
118
122
  rotation={[0, 0, -Math.PI / 2]}
119
123
  />
120
124
  <group
125
+ ref={flangeRef}
121
126
  name="YASKAWA_AR2010_FLG"
122
127
  position={[0, -0.1, 0]}
123
128
  rotation={[-Math.PI, 0, 0]}
@@ -7,7 +7,11 @@ Yaskawa_AR3120.config = {
7
7
  rotationSign: [1, -1, 1, 1, 1, 1],
8
8
  }
9
9
 
10
- export function Yaskawa_AR3120({ modelURL, ...props }: RobotModelProps) {
10
+ export function Yaskawa_AR3120({
11
+ modelURL,
12
+ flangeRef,
13
+ ...props
14
+ }: RobotModelProps) {
11
15
  const gltf = useGLTF(modelURL) as any
12
16
 
13
17
  const nodes = gltf.nodes
@@ -43,6 +47,7 @@ export function Yaskawa_AR3120({ modelURL, ...props }: RobotModelProps) {
43
47
  rotation={[-Math.PI / 2, 0, 0]}
44
48
  >
45
49
  <group
50
+ ref={flangeRef}
46
51
  name="AR3120_FLG"
47
52
  position={[0, -0.1, 0]}
48
53
  rotation={[-Math.PI, 0, 0]}
@@ -6,7 +6,11 @@ Yaskawa_AR900.config = {
6
6
  rotationOffsets: [0, -Math.PI / 2, 0, 0, 0, 0],
7
7
  }
8
8
 
9
- export function Yaskawa_AR900({ modelURL, ...props }: RobotModelProps) {
9
+ export function Yaskawa_AR900({
10
+ modelURL,
11
+ flangeRef,
12
+ ...props
13
+ }: RobotModelProps) {
10
14
  const gltf = useGLTF(modelURL) as any
11
15
  const nodes = gltf.nodes
12
16
  const materials = gltf.materials
@@ -42,6 +46,7 @@ export function Yaskawa_AR900({ modelURL, ...props }: RobotModelProps) {
42
46
  rotation={[-Math.PI / 2, 0, 0]}
43
47
  >
44
48
  <group
49
+ ref={flangeRef}
45
50
  name="AR900_FLG"
46
51
  position={[0, -0.08, 0]}
47
52
  rotation={[-Math.PI, 0, 0]}
@@ -6,7 +6,11 @@ Yaskawa_GP50.config = {
6
6
  rotationOffsets: [0, -Math.PI / 2, 0, 0, 0, 0],
7
7
  }
8
8
 
9
- export function Yaskawa_GP50({ modelURL, ...props }: RobotModelProps) {
9
+ export function Yaskawa_GP50({
10
+ modelURL,
11
+ flangeRef,
12
+ ...props
13
+ }: RobotModelProps) {
10
14
  const gltf = useGLTF(modelURL) as any
11
15
 
12
16
  const nodes = gltf.nodes
@@ -174,6 +178,7 @@ export function Yaskawa_GP50({ modelURL, ...props }: RobotModelProps) {
174
178
  rotation={[0, 0, -Math.PI / 2]}
175
179
  />
176
180
  <group
181
+ ref={flangeRef}
177
182
  name="YASKAWA_GP50_FLG"
178
183
  position={[0, -0.175, 0]}
179
184
  rotation={[-Math.PI, 0, 0]}