/// <summary> /// Execute the frame creation process /// </summary> /// <param name="obj">Not in use</param> private void FrameCreationExecuted(object obj) { if (ReferenceFrame != null && ReferenceFrame != originalFrame) { TxApplication.ActiveDocument.WorkingFrame = ReferenceFrame; } try { foreach (RwFrameCreationViewModel frameViewModel in FramesData) { TxTransformation location = RwMathUtilities.CreateRpyTransformation(frameViewModel.X, frameViewModel.Y, frameViewModel.Z, frameViewModel.Rx, frameViewModel.Ry, frameViewModel.Rz, true); TxFrameCreationData frameCreationData = new TxFrameCreationData(frameViewModel.Name, location); TxApplication.ActiveDocument.PhysicalRoot.CreateFrame(frameCreationData); } string message = $"Successsfully created {FramesData.Count} frames"; TxMessageBox.Show(message, "Frame creation", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Information); } catch { string message = "An error occured during frame creation"; TxMessageBox.Show(message, "Frame creation", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); } finally { TxApplication.ActiveDocument.WorkingFrame = originalFrame; } }
/// <summary> /// Execute the frame creation process /// </summary> /// <param name="obj">Not in use</param> private void FrameCreationExecuted(object obj) { if (ReferenceFrame != null && ReferenceFrame != originalFrame) { TxApplication.ActiveDocument.WorkingFrame = ReferenceFrame; } try { foreach (RwFrameCreationData frameData in FramesData) { //TxVector translation = new TxVector(frameData.X, frameData.Y, frameData.Z); //TxVector rotation = new TxVector(RwMath.Deg2Rad(frameData.Rx), RwMath.Deg2Rad(frameData.Ry), RwMath.Deg2Rad(frameData.Rz)); //TxTransformation location = new TxTransformation(translation, rotation, TxTransformation.TxRotationType.RPY_XYZ); TxTransformation location = RwMath.CreateRpyTransformation(frameData.X, frameData.Y, frameData.Z, frameData.Rx, frameData.Ry, frameData.Rz, true); TxFrameCreationData frameCreationData = new TxFrameCreationData(frameData.Name, location); TxApplication.ActiveDocument.PhysicalRoot.CreateFrame(frameCreationData); } string message = $"Successsfully created {FramesData.Count} frames"; TxMessageBox.Show(message, "Frame creation", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Information); } catch { string message = "An error occured during frame creation"; TxMessageBox.Show(message, "Frame creation", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); } finally { TxApplication.ActiveDocument.WorkingFrame = originalFrame; } }