0

我需要在 .NET 应用程序中使用 Eyeshot 的库创建螺丝形状。

在 SolidWorks 中,这很容易通过创建需要扫描/拉伸的形状/轮廓以及用作轨道或方向的螺旋曲线来完成。

在 SolidWorks 中,将螺旋起点定位到​​轮廓直径中的某个点,并使用“扫掠”命令导致该点围绕螺旋被驱动/旋转,并创建所需的形状。

SolidWorks 示例

在 Eyeshot 中,我将我的个人资料创建为一个LinearPath实体并使用

SweepAsSolid(ICurve rail, double tol, sweepMethodType sweepMethod = sweepMethodType.RotationMinimizingFrames)

功能,但结果不同。似乎 SweepAsSolid 函数将螺旋起点定位在轮廓中心并创建了不同的形状。

有没有办法使用与 SolidWorks 中相同的程序通过 Eyeshot 的库获得想要的形状?

4

1 回答 1

1

我认为 ExtrudeWithTwist() 方法是您正在寻找的方法:

            Point3D moveText = new Point3D(0,3,0);

            // new example
            Line l1 = new Line(-3, 0, 3, 0);
            Line l2 = new Line(3, 0, 3, 2);
            Line l3 = new Line(3, 2, -3, 2);
            Line l4 = new Line(-3, 2, -3, 0);

            CompositeCurve cc1 = new CompositeCurve(l1, l2, l3, l4);
 
            Surface[] loft1 = Surface.ExtrudeWithTwist(cc1, new Vector3D(0, 0, -10), new Point3D(0, 1, 0), Math.PI, 0.1);
            foreach (Surface s in loft1)
            {
                s.Translate(10, 0, 0);
            }
            model.Entities.AddRange(loft1, 0, Color.Orange);

结果

于 2020-09-17T10:37:45.167 回答