예제 #1
0
        public void CurveSnap(ObjectSnapContext context, ObjectSnapInfo result)
        {
            Curve             curve = (Curve)context.PickedObject; //当前捕捉到的曲线对象
            Point3dCollection snaps = result.SnapPoints;           //获取对象的捕捉点集合

            if (curve.Closed)
            {
                return;                           //如果为闭合曲线,则返回
            }
            double startParam = curve.StartParam; //曲线的起点参数
            double endParam   = curve.EndParam;   //曲线的终点参数

            //将与曲线起点的距离为1/3曲线长度的点作为捕捉点
            snaps.Add(curve.GetPointAtParameter(startParam + ((endParam - startParam) / 3)));
            //将与曲线起点的距离为2/3曲线长度的点作为捕捉点
            snaps.Add(curve.GetPointAtParameter(startParam + ((endParam - startParam) * 2 / 3)));
        }
예제 #2
0
파일: Class1.cs 프로젝트: lanicon/EnesyCAD
        public void SnapInfoCurve(
            ObjectSnapContext context,
            ObjectSnapInfo result
            )
        {
            // For any curve

            var cv = context.PickedObject as Curve;

            if (cv == null)
            {
                return;
            }

            double startParam = cv.StartParam;
            double endParam   = cv.EndParam;

            // Added a check to avoid zero-length curve problems

            if (startParam == endParam)
            {
                return;
            }

            // Add osnap at first quarter

            double param =
                startParam + ((endParam - startParam) * 0.25);
            var pt = cv.GetPointAtParameter(param);

            result.SnapPoints.Add(pt);

            // Add osnap at third quarter

            param =
                startParam + ((endParam - startParam) * 0.75);
            pt = cv.GetPointAtParameter(param);

            result.SnapPoints.Add(pt);
            if (cv.Closed)
            {
                pt = cv.StartPoint;
                result.SnapPoints.Add(pt);
            }
        }
예제 #3
0
파일: Class1.cs 프로젝트: lanicon/EnesyCAD
 public void SnapInfoEntity(
     ObjectSnapContext context,
     ObjectSnapInfo result)
 {
     // Nothing here
 }