2022程序员定制版3D世界杯足球

        今年的世界杯依旧是那样的火爆,全世界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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MarcoPro

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值