繁体   English   中英

使用 helix-3d-toolkit 制作齿轮

[英]Making Gears using helix-3d-toolkit

我正在使用带有 WPF(在 C# 中)的 Helix 工具包,并且我正在尝试制作一个生成用户指定齿轮系的程序。 目前,齿轮在 UI 中表示为圆柱体,但我希望它看起来更像具有齿和其他属性(孔径、面宽)的齿轮。 解决此类问题的最佳方法是什么? 有没有可用的教程/资源?

我在这里附上了一个示例代码:

    private static void DrawSpurGear(Gear gear, double radius)
    {
        var meshBuilder = new MeshBuilder();


        Point3D p1;
        Point3D p2;
        var length = gear.FaceWidth;

        switch (gear.Orientation)
        {
            case Gear.pX:
            case Gear.nX:
                p1 = new Point3D(gear.X - (length / 2), gear.Y, gear.Z);
                p2 = new Point3D(gear.X + (length / 2), gear.Y, gear.Z);
                break;
            case Gear.pY:
            case Gear.nY:
                p1 = new Point3D(gear.X, gear.Y - (length / 2), gear.Z);
                p2 = new Point3D(gear.X, gear.Y + (length / 2), gear.Z);
                break;
            case Gear.pZ:
            case Gear.nZ:
                p1 = new Point3D(gear.X, gear.Y, gear.Z - (length / 2));
                p2 = new Point3D(gear.X, gear.Y, gear.Z + (length / 2));
                break;
            default:
                throw new ArgumentException("Orientation Invalid");
        }

        meshBuilder.AddCylinder(p1, p2, radius: radius);
        var geometry = new MeshGeometryVisual3D
        {
            MeshGeometry = meshBuilder.ToMesh(),
            Fill = (!string.IsNullOrEmpty(_selectedGearName) &&
                    _selectedGearName == gear.Name) ? SelectedColor : GearTrainColor
        };
        geometry.SetName(gear.Name);
        HelixItemCollection.Add(geometry);
    }

谢谢您的帮助。

您需要编写自己的网格构建器来生成齿轮。 或者使用其他工具创建齿轮啮合,导出为 obj,然后加载到 helix 工具包中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM