首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Mastercam Net-Scripting 创建文字脚本

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);       }   }}

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OBjSuMboCbMuFCTjYazn5PRA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券