Exemplo n.º 1
0
        private ISwSelObject ConvertObjectBoxed(object obj)
        {
            if (obj is ISwSelObject)
            {
                if (m_Drawing.App.IsVersionNewerOrEqual(Enums.SwVersion_e.Sw2018))
                {
                    var disp     = (obj as ISwSelObject).Dispatch;
                    var corrDisp = DrawingView.GetCorresponding(disp);

                    if (corrDisp != null)
                    {
                        return(SwSelObject.FromDispatch(corrDisp, m_Drawing));
                    }
                    else
                    {
                        throw new Exception("Failed to convert the pointer of the object");
                    }
                }
                else
                {
                    throw new NotSupportedException("This API only available in SOLIDWORKS 2018 onwards");
                }
            }
            else
            {
                throw new InvalidCastException("Object is not SOLIDWORKS object");
            }
        }
Exemplo n.º 2
0
 private IEnumerable <SwDrawingView> GetDrawingViews()
 {
     foreach (IView view in GetSwViews())
     {
         yield return(SwSelObject.FromDispatch <SwDrawingView>(view, m_Draw));
     }
 }
Exemplo n.º 3
0
        private IEnumerable <SwDrawingView> GetDrawingViews()
        {
            var views = m_Sheet.GetViews() as object[];

            if (views != null)
            {
                foreach (IView view in views)
                {
                    yield return(SwSelObject.FromDispatch <SwDrawingView>(view, m_Draw));
                }
            }
        }
Exemplo n.º 4
0
        private int OnNewSelection()
        {
            var selIndex = SelMgr.GetSelectedObjectCount2(-1);

            if (selIndex > 0)
            {
                var lastSelObj = SelMgr.GetSelectedObject6(selIndex, -1);
                var obj        = SwSelObject.FromDispatch(lastSelObj, m_Doc);
                Delegate?.Invoke(m_Doc, obj);
            }

            return(S_OK);
        }
Exemplo n.º 5
0
        private IEnumerable <SwBody> GetBodies()
        {
            var bodies = GetSwBodies();

            if (bodies != null)
            {
                return(bodies.Select(b => SwSelObject.FromDispatch <SwBody>(b, m_RootDoc)));
            }
            else
            {
                return(Enumerable.Empty <SwBody>());
            }
        }
Exemplo n.º 6
0
        internal static SwCurve[] GetBoundary(this ISwPlanarSheetBody body)
        {
            var face  = body.Body.IGetFirstFace();
            var edges = face.GetEdges() as object[];
            var segs  = new SwCurve[edges.Length];

            for (int i = 0; i < segs.Length; i++)
            {
                var curve = (edges[i] as IEdge).IGetCurve();
                segs[i] = SwSelObject.FromDispatch <SwCurve>(curve);
            }

            return(segs);
        }
Exemplo n.º 7
0
        public bool TryGet(string name, out IXDrawingView ent)
        {
            var view = GetSwViews().FirstOrDefault(
                x => string.Equals(x.Name, name, StringComparison.CurrentCultureIgnoreCase));

            if (view != null)
            {
                ent = SwSelObject.FromDispatch <SwDrawingView>(view, m_Draw);
            }
            else
            {
                ent = null;
            }

            return(ent != null);
        }
Exemplo n.º 8
0
        public IEnumerator <IXComponent> GetEnumerator()
        {
            if (m_Assm.IsCommitted)
            {
                if (m_Assm.Model.IsOpenedViewOnly())
                {
                    throw new Exception("Components cannot be extracted for the Large Design Review assembly");
                }

                return((GetChildren() ?? new IComponent2[0])
                       .Select(c => SwSelObject.FromDispatch <SwComponent>(c, m_Assm)).GetEnumerator());
            }
            else
            {
                throw new Exception("Assembly is not committed");
            }
        }
Exemplo n.º 9
0
        private ISwSelObject ConvertObjectBoxed(object obj)
        {
            if (obj is SwSelObject)
            {
                var disp     = (obj as SwSelObject).Dispatch;
                var corrDisp = Model.Extension.GetCorresponding(disp);

                if (corrDisp != null)
                {
                    return(SwSelObject.FromDispatch(corrDisp, this));
                }
                else
                {
                    throw new Exception("Failed to convert the pointer of the object");
                }
            }
            else
            {
                throw new InvalidCastException("Object is not SOLIDWORKS object");
            }
        }
Exemplo n.º 10
0
        internal static Plane GetPlane(this ISwPlanarSheetBody body)
        {
            var planarFace = SwSelObject.FromDispatch <SwPlanarFace>(body.Body.IGetFirstFace());

            return(planarFace.Definition.Plane);
        }
 private SwSelObject ToSelObject(object disp)
 {
     return(SwSelObject.FromDispatch(disp, m_App.Documents.Active));
 }
Exemplo n.º 12
0
 private SwSelObject ToSelObject(object disp) => SwSelObject.FromDispatch(disp, m_App.Documents.Active);