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"); } }
private IEnumerable <SwDrawingView> GetDrawingViews() { foreach (IView view in GetSwViews()) { yield return(SwSelObject.FromDispatch <SwDrawingView>(view, m_Draw)); } }
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)); } } }
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); }
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>()); } }
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); }
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); }
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"); } }
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"); } }
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)); }
private SwSelObject ToSelObject(object disp) => SwSelObject.FromDispatch(disp, m_App.Documents.Active);