Example #1
0
        public void direct(Entity prev)
        {
            if (prev.ent.Type != ObjectTypeEnum.kSketchArcObject)
            {
                return;
            }
            Arc2d            arc = (prev.ent as SketchArc).Geometry;
            Curve2dEvaluator ev  = arc.Evaluator;

            double[] par = u.getParam(ev, prev.endPt.Geometry);
            double[] o   = { };
            ev.GetTangent(ref par, ref o);
            dir = u.createVector2d(o[0], o[1]);
            if (prev.t == entTypes.Arc && !(prev as ArcInv).clockwise)
            {
                dir.ScaleBy(-1);
            }
        }
Example #2
0
        static public double ParamLen(SketchEntity se)
        {
            double           min, max, length;
            Curve2dEvaluator eval = null;

            if (se.Type == ObjectTypeEnum.kSketchLineObject || se.Type == ObjectTypeEnum.kSketchLineProxyObject)
            {
                eval = ((SketchLine)se).Geometry.Evaluator;
            }
            else if (se.Type == ObjectTypeEnum.kSketchArcObject || se.Type == ObjectTypeEnum.kSketchArcProxyObject)
            {
                eval = ((SketchArc)se).Geometry.Evaluator;
            }
            else if (se.Type == ObjectTypeEnum.kSketchSplineObject || se.Type == ObjectTypeEnum.kSketchSplineProxyObject)
            {
                eval = ((SketchSpline)se).Geometry.Evaluator;
            }
            eval.GetParamExtents(out min, out max);
            eval.GetLengthAtParam(min, max, out length);
            return(Math.Round(length, 2));
        }
Example #3
0
        private void GetEdgeData(Inventor.Edge Edge)
        {
            Inventor.Curve2dEvaluator Curve2dEvaluator;
            double MinParam = 0;
            double MaxParam = 0;

            // double LengthParam = 0;
            double[] StartParams = new double[3];
            double[] EndParams   = new double[3];
            double[] mPoints     = new double[3];
            foreach (Inventor.EdgeUse EdgeUse in Edge.EdgeUses)
            {
                StartParams[0]   = MinParam;
                StartParams[1]   = 0;
                StartParams[2]   = 0;
                EndParams[0]     = MinParam;
                EndParams[1]     = 0;
                EndParams[2]     = 0;
                Curve2dEvaluator = EdgeUse.Evaluator;
                Curve2dEvaluator.GetParamExtents(out MinParam, out MaxParam);

                Curve2dEvaluator.GetPointAtParam(ref StartParams, ref mPoints);
            }
        }