Mastercam Net-Scripting 创建文字脚本,此源码可用于C# Sharp,如用于C# Sharp,部分语法需要重新格式化
#region Namespace Importvar app = new App();
app.Run();
public class App{
private const int MastercamLevel = 1;
private const int SdkEmailLevel = 2;
private const string NetScriptingLetterText = "Mastercam";
private const string SdkEmailLetterText = "Mastercam";
private enum Color { Black = 0, Turquoise = 3, Blue = 206, Red = 216 };
public void Run() { this.DisplayMastercam(); }
private void DisplayMastercam() {
if (!FileManager.New()) { return; } SettingsManager.MainColor = (int) Color.Black; LetterCreationData letterCreationData = new LetterCreationData(); letterCreationData.FontAlignment = FontAlignmentType.Horizontal; letterCreationData.FontHeight = 1.0; letterCreationData.FontRadius = 0.0; letterCreationData.FontSpacing = 0.25; letterCreationData.LetterText = NetScriptingLetterText; letterCreationData.FontMode = FontModeType.MastercamBoxFont; letterCreationData.StartingPoint = new Mastercam.Math.Point3D(0.0, 1.0, 0.0);
if (!this.DisplayText(letterCreationData, MastercamLevel)) { DialogManager.Error($"Failed to create {NetScriptingLetterText}", nameof (DisplayMastercam)); return; }
this.ColorGeometry(MastercamLevel, (int) Color.Turquoise);
this.Animate(5.0, MastercamLevel);
letterCreationData.LetterText = SdkEmailLetterText; letterCreationData.StartingPoint = new Mastercam.Math.Point3D(0.0, 0.0, 0.0); letterCreationData.FontHeight = 0.5; letterCreationData.FontSpacing = 0.125;
if (!this.DisplayText(letterCreationData, SdkEmailLevel)) { DialogManager.Error($"Failed to create {SdkEmailLevel}", nameof (DisplayMastercam)); return; }
this.ColorGeometry(SdkEmailLevel, (int) Color.Red);
GraphicsManager.FitScreen(); }
private bool DisplayText(LetterCreationData letterData, int level) {
if (!LevelsManager.SetMainLevel(level)) { return false; }
if (!LetterCreationManager.CreateLetters(letterData)) { return false; }
GraphicsManager.FitScreen();
GraphicsManager.Repaint(true, false);
return true; }
private void ColorGeometry(int level, int Color) {
var geometries = SearchManager.GetGeometry(level);
geometries.ToList().ForEach(geometry => { geometry.Color = Color; GraphicsManager.Repaint(true, false); }); }
private void Animate(double angle, int level) { for (int rotateCount = 0; rotateCount < 360 / angle; ++rotateCount) {
var geometries = SearchManager.GetGeometry(level); geometries.ToList().ForEach(geometry => { geometry.Selected = true;
});
var success = GeometryManipulationManager.RotateGeometry(new Mastercam.Math.Point3D(0.0, 0.0, 0.0), angle, SearchManager.GetSystemView(SystemPlaneType.Iso), false);
GraphicsManager.ClearColors(new GroupSelectionMask(true));
GraphicsManager.FitScreen();
GraphicsManager.Repaint(true, false); } }}
领取专属 10元无门槛券
私享最新 技术干货