static void AddAssemblyView(SolidEdgeDraft.DraftDocument draftDocument) { SolidEdgeDraft.Sheet sheet = null; SolidEdgeDraft.ModelLinks modelLinks = null; SolidEdgeDraft.ModelLink modelLink = null; SolidEdgeDraft.DrawingViews drawingViews = null; SolidEdgeDraft.DrawingView drawingView = null; DirectoryInfo trainingDirectory = GetTrainingDirectory(); string fileName = Path.Combine(trainingDirectory.FullName, "Coffee Pot.asm"); // Get a reference to the active sheet. sheet = draftDocument.ActiveSheet; // Get a reference to the ModelLinks collection. modelLinks = draftDocument.ModelLinks; //2holebar.par modelLink = modelLinks.Add(fileName); drawingViews = sheet.DrawingViews; drawingView = drawingViews.AddAssemblyView( From: modelLink, Orientation: SolidEdgeDraft.ViewOrientationConstants.igDimetricTopBackLeftView, Scale: 1.0, x: 0.4, y: 0.2, ViewType: SolidEdgeDraft.AssemblyDrawingViewTypeConstants.seAssemblyDesignedView); }
static void Main(string[] args) { SolidEdgeFramework.Application application = null; SolidEdgeFramework.Documents documents = null; SolidEdgeDraft.DraftDocument draftDocument = null; SolidEdgeDraft.ModelLinks modelLinks = null; SolidEdgeDraft.ModelLink modelLink = null; SolidEdgeDraft.Sheet sheet = null; SolidEdgeDraft.DrawingViews drawingViews = null; SolidEdgeDraft.DrawingView drawingView = null; string filename = null; try { // Register with OLE to handle concurrency issues on the current thread. SolidEdgeCommunity.OleMessageFilter.Register(); // Connect to or start Solid Edge. application = SolidEdgeCommunity.SolidEdgeUtils.Connect(true, true); // Get a reference to the documents collection. documents = application.Documents; // Create a new draft document. draftDocument = documents.AddDraftDocument(); // Get a reference to the active sheet. sheet = draftDocument.ActiveSheet; // Build path to part file. filename = System.IO.Path.Combine(SolidEdgeCommunity.SolidEdgeUtils.GetTrainingFolderPath(), "Coffee Pot.asm"); // Get a reference to the ModelLinks collection. modelLinks = draftDocument.ModelLinks; // Add a new model link. modelLink = modelLinks.Add(filename); // Get a reference to the DrawingViews collection. drawingViews = sheet.DrawingViews; // Add a new part drawing view. drawingView = drawingViews.AddAssemblyView( From: modelLink, Orientation: SolidEdgeDraft.ViewOrientationConstants.igDimetricTopBackLeftView, Scale: 1.0, x: 0.4, y: 0.4, ViewType: SolidEdgeDraft.AssemblyDrawingViewTypeConstants.seAssemblyDesignedView); } catch (System.Exception ex) { Console.WriteLine(ex.Message); } finally { SolidEdgeCommunity.OleMessageFilter.Unregister(); } }
static void AddPartViewAndDimension(SolidEdgeDraft.DraftDocument draftDocument) { SolidEdgeDraft.Sheet sheet = null; SolidEdgeDraft.ModelLinks modelLinks = null; SolidEdgeDraft.ModelLink modelLink = null; SolidEdgeDraft.DrawingViews drawingViews = null; SolidEdgeDraft.DrawingView drawingView = null; DirectoryInfo trainingDirectory = GetTrainingDirectory(); string fileName = Path.Combine(trainingDirectory.FullName, "2holebar.par"); SolidEdgeDraft.DVLines2d dvLines2d = null; SolidEdgeDraft.DVLine2d dvLine2d = null; SolidEdgeFrameworkSupport.Dimensions dimensions = null; SolidEdgeFrameworkSupport.Dimension dimension = null; SolidEdgeFrameworkSupport.DimStyle dimStyle = null; // Get a reference to the active sheet. sheet = draftDocument.ActiveSheet; // Get a reference to the ModelLinks collection. modelLinks = draftDocument.ModelLinks; // Add a new model link. modelLink = modelLinks.Add(fileName); // Get a reference to the DrawingViews collection. drawingViews = sheet.DrawingViews; // Add a new part drawing view. drawingView = drawingViews.AddPartView( From: modelLink, Orientation: SolidEdgeDraft.ViewOrientationConstants.igDimetricTopBackLeftView, Scale: 5.0, x: 0.4, y: 0.4, ViewType: SolidEdgeDraft.PartDrawingViewTypeConstants.sePartDesignedView); // Get a reference to the DVLines2d collection. dvLines2d = drawingView.DVLines2d; // Get the 1st drawing view 2D line. dvLine2d = dvLines2d.Item(1); // Get a reference to the Dimensions collection. dimensions = (SolidEdgeFrameworkSupport.Dimensions)sheet.Dimensions; // Add a dimension to the line. dimension = dimensions.AddLength(dvLine2d.Reference); // Few changes to make the dimensions look right. dimension.ProjectionLineDirection = true; dimension.TrackDistance = 0.02; // Get a reference to the dimension style. // DimStyle has a ton of options... dimStyle = dimension.Style; }
static void Main(string[] args) { SolidEdgeFramework.Application application = null; SolidEdgeFramework.Documents documents = null; SolidEdgeDraft.DraftDocument draftDocument = null; SolidEdgeDraft.ModelLinks modelLinks = null; SolidEdgeDraft.ModelLink modelLink = null; SolidEdgeDraft.Sheet sheet = null; SolidEdgeDraft.DrawingViews drawingViews = null; SolidEdgeDraft.DrawingView drawingView = null; SolidEdgeDraft.DVLines2d dvLines2d = null; SolidEdgeDraft.DVLine2d dvLine2d = null; SolidEdgeFrameworkSupport.Dimensions dimensions = null; SolidEdgeFrameworkSupport.Dimension dimension = null; SolidEdgeFrameworkSupport.DimStyle dimStyle = null; string filename = null; try { // Register with OLE to handle concurrency issues on the current thread. SolidEdgeCommunity.OleMessageFilter.Register(); // Connect to or start Solid Edge. application = SolidEdgeCommunity.SolidEdgeUtils.Connect(true, true); // Get a reference to the documents collection. documents = application.Documents; // Create a new draft document. draftDocument = documents.AddDraftDocument(); // Get a reference to the ModelLinks collection. modelLinks = draftDocument.ModelLinks; // Build path to part file. filename = System.IO.Path.Combine(SolidEdgeCommunity.SolidEdgeUtils.GetTrainingFolderPath(), "2holebar.par"); // Add a new model link. modelLink = modelLinks.Add(filename); // Get a reference to the active sheet. sheet = draftDocument.ActiveSheet; // Get a reference to the DrawingViews collection. drawingViews = sheet.DrawingViews; // Add a new part drawing view. drawingView = drawingViews.AddPartView( From: modelLink, Orientation: SolidEdgeDraft.ViewOrientationConstants.igDimetricTopBackLeftView, Scale: 5.0, x: 0.4, y: 0.4, ViewType: SolidEdgeDraft.PartDrawingViewTypeConstants.sePartDesignedView); // Get a reference to the DVLines2d collection. dvLines2d = drawingView.DVLines2d; // Get the 1st drawing view 2D line. dvLine2d = dvLines2d.Item(1); // Get a reference to the Dimensions collection. dimensions = (SolidEdgeFrameworkSupport.Dimensions)sheet.Dimensions; // Add a dimension to the line. dimension = dimensions.AddLength(dvLine2d.Reference); // Few changes to make the dimensions look right. dimension.ProjectionLineDirection = true; dimension.TrackDistance = 0.02; // Get a reference to the dimension style. // DimStyle has a ton of options... dimStyle = dimension.Style; } catch (System.Exception ex) { Console.WriteLine(ex.Message); } finally { SolidEdgeCommunity.OleMessageFilter.Unregister(); } }
// Riempie la lista dei nomi file collegati e rest. string messaggio public string CreaListaModelli() { string messaggio = ""; // Cancella i dati preesistenti listaModelli.Clear(); try { application = (SolidEdgeFramework.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("SolidEdge.Application"); } catch { messaggio = "Nessuna istanza attiva"; application = null; } try { document = (SolidEdgeFramework.SolidEdgeDocument)application.ActiveDocument; if(document.Type == DocumentTypeConstants.igDraftDocument) // Se e` un draft... { int count, i; // ...estrae i documenti linkati modelLinks = ((SolidEdgeDraft.DraftDocument)document).ModelLinks; count = modelLinks.Count; for (i = 0; i < count; i++) // Li inserisce in una lista { modelLink = modelLinks.Item(i + 1); string nomeFile = modelLink.FileName; // Filename completo int indx = nomeFile.IndexOf(altSeparator); // Elimina alternate assembly if( indx != -1) { nomeFile = nomeFile.Remove(indx); // Tutto cio` dopo '!' } listaModelli.Add(nomeFile); } } else { messaggio = "Non e` un draft"; } } catch (System.Exception ex) // Messaggio se eccezione { messaggio = "Eccezione: " + ex.Message + " + Nessun documento attivo"; } finally { if (modelLinks != null) { foreach(SolidEdgeDraft.ModelLink modelLink in modelLinks) { Marshal.ReleaseComObject(modelLink); } } if (modelLinks != null) { Marshal.ReleaseComObject(modelLinks); modelLinks = null; } if (document != null) { Marshal.ReleaseComObject(document); document = null; } if (application != null) { Marshal.ReleaseComObject(application); application = null; } } return messaggio; }