[英]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.