Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- [ExecuteInEditMode]
- public class MPCNC_Definition : MonoBehaviour
- {
- public bool update;
- [Range(6.1f, 50)]
- public float cornerHeight;
- [Range(10, 250)]
- public float sizeX, sizeZ;
- [Range(21, 100)]
- public float sizeY;
- public Vector3 ToolPosition;
- public string CurrentGCode;
- [HideInInspector]
- public GameObject rodX1, rodX2, rodX3, rodZ1, rodZ2, rodZ3;
- [HideInInspector]
- public GameObject CornerBL, CornerTL, CornerTR, CornerBR;
- [HideInInspector]
- public GameObject XBurly, XBurly2, ZBurly, ZBurly2;
- [HideInInspector]
- public GameObject rodY1, rodY2, rodY3, rodY4;
- [HideInInspector]
- public GameObject middleAssembly;
- [HideInInspector]
- public GameObject StepperMount;
- [HideInInspector]
- public GameObject ToolRod1, ToolRod2;
- [HideInInspector]
- public GameObject ToolMount;
- [HideInInspector]
- public GameObject Spindel;
- private float offsetCorrection;
- private float heightOffsetCorrection;
- private float lowerFrameRodOffset;
- private float upperFrameRodOffset;
- private float lowerBurlyOffset;
- private float lowerBurlyRodOffset;
- private float upperBurlyOffset;
- private float upperBurlyRodOffset;
- private float middleAssemblyYOffset;
- private float middleAssemblyXOffsetCorrection;
- private float middleAssemblyZOffsetCorrection;
- private float StepperMountXOffset;
- private float StepperMountYOffset;
- private float StepperMountZOffset;
- private float toolRod1XOffset;
- private float toolRod1ZOffset;
- private float toolRod2XOffset;
- private float toolRod2ZOffset;
- private float toolMountOffset;
- void Start()
- {
- //MPCNC Definitions
- offsetCorrection = -2.35f;
- heightOffsetCorrection = 0.92f;
- lowerFrameRodOffset = 3.0f;
- upperFrameRodOffset = 5.65f;
- lowerBurlyOffset = 3f;
- lowerBurlyRodOffset = 3.67f;
- upperBurlyOffset = 5.8f;
- upperBurlyRodOffset = 3.67f;
- middleAssemblyYOffset = -4.19f;
- middleAssemblyXOffsetCorrection = -12.9f;
- middleAssemblyZOffsetCorrection = -14.15f;
- StepperMountXOffset = 6.81f;
- StepperMountYOffset = -31.06f;
- StepperMountZOffset = -1.36f;
- toolRod1XOffset = 5.31f;
- toolRod1ZOffset = 11.54f;
- toolRod2XOffset = 10.37f;
- toolRod2ZOffset = 6.5f;
- toolMountOffset = 5.86f;
- }
- void Update()
- {
- if (update)
- {
- //Clamp to machine boundaries
- ToolPosition = new Vector3(Mathf.Clamp(ToolPosition.x, 15.3f, sizeX + 2 * offsetCorrection - 6.3f),
- Mathf.Clamp(ToolPosition.y, -sizeY + 26, 5),
- Mathf.Clamp(ToolPosition.z, 15.3f, sizeZ + 2 * offsetCorrection - 6.3f));
- Vector3 offset = CornerBL.transform.position;
- //Rod Resize
- rodZ1.transform.localScale = new Vector3(2.5f, sizeZ / 2, 2.5f);
- rodZ2.transform.localScale = new Vector3(2.5f, sizeZ / 2, 2.5f);
- rodZ3.transform.localScale = new Vector3(2.5f, sizeZ / 2, 2.5f);
- rodX1.transform.localScale = new Vector3(2.5f, sizeX / 2, 2.5f);
- rodX2.transform.localScale = new Vector3(2.5f, sizeX / 2, 2.5f);
- rodX3.transform.localScale = new Vector3(2.5f, sizeX / 2, 2.5f);
- rodY1.transform.localScale = new Vector3(2.5f, cornerHeight / 2, 2.5f);
- rodY2.transform.localScale = new Vector3(2.5f, cornerHeight / 2, 2.5f);
- rodY3.transform.localScale = new Vector3(2.5f, cornerHeight / 2, 2.5f);
- rodY4.transform.localScale = new Vector3(2.5f, cornerHeight / 2, 2.5f);
- ToolRod1.transform.localScale = new Vector3(2.5f, sizeY / 2, 2.5f);
- ToolRod2.transform.localScale = new Vector3(2.5f, sizeY / 2, 2.5f);
- Spindel.transform.localScale = new Vector3(0.8f, sizeY / 2, 0.8f);
- //Frame Assembly
- CornerTL.transform.position = offset + new Vector3(0, 0, sizeZ) + 2 * new Vector3(0, 0, offsetCorrection);
- CornerBR.transform.position = offset + new Vector3(sizeX, 0, 0) + 2 * new Vector3(offsetCorrection, 0, 0);
- CornerTR.transform.position = offset + new Vector3(sizeX, 0, sizeZ) + 2 * new Vector3(offsetCorrection, 0, offsetCorrection);
- //Rod Positions
- rodZ1.transform.position = offset + new Vector3(0, cornerHeight + lowerFrameRodOffset, sizeZ / 2) + new Vector3(0, 0, offsetCorrection);
- rodZ2.transform.position = offset + new Vector3(sizeX, cornerHeight + lowerFrameRodOffset, sizeZ / 2) + new Vector3(offsetCorrection * 2, 0, offsetCorrection);
- rodZ3.transform.position = offset + new Vector3(0, upperBurlyOffset + upperBurlyRodOffset + cornerHeight, sizeZ / 2) + new Vector3(ToolPosition.x, 0, offsetCorrection);
- rodX1.transform.position = offset + new Vector3(sizeX / 2, cornerHeight + upperFrameRodOffset, 0) + new Vector3(offsetCorrection, 0, 0);
- rodX2.transform.position = offset + new Vector3(sizeX / 2, cornerHeight + upperFrameRodOffset, sizeZ) + new Vector3(offsetCorrection, 0, offsetCorrection * 2);
- rodX3.transform.position = offset + new Vector3(sizeX / 2, lowerBurlyOffset + lowerBurlyRodOffset + cornerHeight, 0) + new Vector3(offsetCorrection, 0, ToolPosition.z);
- rodY1.transform.position = offset + new Vector3(0, cornerHeight / 2, 0);
- rodY2.transform.position = offset + new Vector3(sizeX, cornerHeight / 2, 0) + 2 * new Vector3(offsetCorrection, 0, 0);
- rodY3.transform.position = offset + new Vector3(0, cornerHeight / 2, sizeZ) + 2 * new Vector3(0, 0, offsetCorrection);
- rodY4.transform.position = offset + new Vector3(sizeX, cornerHeight / 2, sizeZ) + 2 * new Vector3(offsetCorrection, 0, offsetCorrection);
- //Corner Locknut Positions
- CornerBL.transform.GetChild(0).transform.position = offset + new Vector3(0, cornerHeight, 0) + new Vector3(0, heightOffsetCorrection, 0);
- CornerTL.transform.GetChild(0).transform.position = offset + new Vector3(0, cornerHeight, sizeZ) + new Vector3(0, heightOffsetCorrection, 0) + 2 * new Vector3(0, 0, offsetCorrection);
- CornerBR.transform.GetChild(0).transform.position = offset + new Vector3(sizeX, cornerHeight, 0) + new Vector3(0, heightOffsetCorrection, 0) + 2 * new Vector3(offsetCorrection, 0, 0);
- CornerTR.transform.GetChild(0).transform.position = offset + new Vector3(sizeX, cornerHeight, sizeZ) + new Vector3(0, heightOffsetCorrection, 0) + 2 * new Vector3(offsetCorrection, 0, offsetCorrection);
- //Burly Position
- ZBurly.transform.position = offset + new Vector3(0, lowerBurlyOffset + cornerHeight, ToolPosition.z);
- ZBurly2.transform.position = offset + new Vector3(sizeX, lowerBurlyOffset + cornerHeight, ToolPosition.z) + 2 * new Vector3(offsetCorrection, 0, 0);
- XBurly.transform.position = offset + new Vector3(ToolPosition.x, upperBurlyOffset + cornerHeight, 0);
- XBurly2.transform.position = offset + new Vector3(ToolPosition.x, upperBurlyOffset + cornerHeight, sizeZ) + 2 * new Vector3(0, 0, offsetCorrection);
- //Middle Assembly
- middleAssembly.transform.position = offset + new Vector3(ToolPosition.x + middleAssemblyXOffsetCorrection, middleAssemblyYOffset + cornerHeight, ToolPosition.z + middleAssemblyZOffsetCorrection);
- StepperMount.transform.localPosition = new Vector3(StepperMountXOffset, StepperMountYOffset + sizeY + ToolPosition.y, StepperMountZOffset);
- ToolMount.transform.localPosition = new Vector3(ToolMount.transform.localPosition.x, ToolPosition.y + toolMountOffset, ToolMount.transform.localPosition.z);
- //Rod Position
- ToolRod1.transform.localPosition = new Vector3(toolRod1XOffset, sizeY / 2 + ToolPosition.y, toolRod1ZOffset);
- ToolRod2.transform.localPosition = new Vector3(toolRod2XOffset, sizeY / 2 + ToolPosition.y, toolRod2ZOffset);
- Spindel.transform.localPosition = new Vector3(Spindel.transform.localPosition.x, sizeY / 2 + ToolPosition.y, Spindel.transform.localPosition.z);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement