今年的世界杯依旧是那样的火爆,全世界78亿双眼睛都在关注,或者说不止是体育,更多的是一种精神、文化、励志和宣传。
作为一名程序猿,熬夜写代码和熬夜看球都是必不可少的,今天特意送来来自程序猿定制版的世界杯足球制作方法,希望广大博友喜欢。

为了制作这个足球,特意学了一下UG软件,跟着网上的教程做了足球的黑块和白块作为标准件,然后根据一定的角度和方位调整自动合成足球,整个制作过程包括了标准件设计和工业软件自动化的元素。
先看主程序:
using System;
using NXOpen;
using NXOpen.UF;
using NX_WorldCup;
using System.Threading;
public class Program
{
// class members
public static Program theProgram;
public static bool isDisposeCalled;
public static Session theSession;
public static Part workPart;
public static Part displayPart;
public static NXOpen.UF.UFSession theUFSession;
private static UI theUI = null;
public static int milliseconds = 500;
public static int Main(string[] args)
{
theSession = Session.GetSession();
displayPart = theSession.Parts.Display;
theUFSession = UFSession.GetUFSession();
workPart = theSession.Parts.Work;
theUI = UI.GetUI();
int retValue = 0;
try
{
//导入已经做好的足球零件
BasePart basePart1;
PartLoadStatus partLoadStatus1;
basePart1 = theSession.Parts.OpenBaseDisplay("C:\\Users\\Administrator\\Desktop\\football\\item.prt", out partLoadStatus1);
Thread.Sleep(milliseconds);
//块复制
BLL.CopyBlockByZC("UNPARAMETERIZED_FEATURE(21)");
Thread.Sleep(milliseconds);
BLL.CopyBlockByOC("UNPARAMETERIZED_FEATURE(19)", "120");
Thread.Sleep(milliseconds);
BLL.CopyBlockByZC("UNPARAMETERIZED_FEATURE(37)");
Thread.Sleep(milliseconds);
BLL.CopyBlockByOC("UNPARAMETERIZED_FEATURE(32)", "-120");
Thread.Sleep(milliseconds);
BLL.CopyBlockByZC("UNPARAMETERIZED_FEATURE(43)");
Thread.Sleep(milliseconds);
//半球复制
BLL.CopyBall();
//隐藏参考线
BLL.GuidesHidden();
}
catch (NXOpen.NXException ex)
{
theUI.NXMessageBox.Show("Block Styler", NXMessageBox.DialogType.Error, ex.ToString());
}
return retValue;
}
}
制作过程主要分以下几步:
第一步:制作合成足球的白块和黑块标准件,制作过程大家可以网上查一下,做法颇多,但是结果大同小异,这里我就不过多说了。下面有我做的一个版本的免费下载地址:https://download.youkuaiyun.com/download/MarcoPro/87253404
第二步:程序自动导入第一步已经做好的标准件
BasePart basePart1;
PartLoadStatus partLoadStatus1;
basePart1 = theSession.Parts.OpenBaseDisplay(filePath, out partLoadStatus1);
第三步:根据足球的白块和黑块的排列规律,通过UG阵列按照一定的规律复制标准件,构成足球,这里主要用到2个方法
/// <summary>
/// 块复制,按照zc轴复制
/// </summary>
/// <param name="JournalIdentifier">复制对象</param>
public static void CopyBlockByZC(string JournalIdentifier)
{
Session theSession = Session.GetSession();
Part workPart = theSession.Parts.Work;
Part displayPart = theSession.Parts.Display;
NXOpen.Features.MoveObject nullFeatures_MoveObject = null;
NXOpen.Features.MoveObjectBuilder moveObjectBuilder1;
moveObjectBuilder1 = workPart.BaseFeatures.Creat

最低0.47元/天 解锁文章
479

被折叠的 条评论
为什么被折叠?



