Broken Out Section Profile
Imports System.IO Imports System.Runtime.InteropServices Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim objApplication As SolidEdgeFramework.Application = Nothing Dim objFolder As DirectoryInfo Dim objFileInfo As FileInfo Dim objDocuments As SolidEdgeFramework.Documents = Nothing Dim objDraftDoc As SolidEdgeDraft.DraftDocument = Nothing Dim objSheet As SolidEdgeDraft.Sheet = Nothing Dim objDrawingViews As SolidEdgeDraft.DrawingViews = Nothing Dim objDrawingView As SolidEdgeDraft.DrawingView = Nothing Dim sectionView As SolidEdgeDraft.DrawingView Dim draftProfile As SolidEdgeDraft.DraftProfile Dim xmin, ymin, xmax, ymax As Double Dim xhalf, yhalf As Double Dim BOSProfile As SolidEdgeDraft.BrokenOutSectionProfile = Nothing Dim BOS As SolidEdgeDraft.BrokenOutSectionProfiles = Nothing Dim BOSProfiles As SolidEdgeDraft.BrokenOutSectionProfiles Try objApplication = Marshal.GetActiveObject("SolidEdge.Application") If objApplication Is Nothing Then ' Start Solid Edge objApplication = Activator.CreateInstance(Type.GetTypeFromProgID("SolidEdge.Application")) objApplication.Visible = True End If objFolder = GetTrainingFolder() objFileInfo = New FileInfo(Path.Combine(objFolder.FullName, "sbddaan.dft")) objDocuments = objApplication.Documents objDraftDoc = objDocuments.Open(objFileInfo.FullName) objSheet = objDraftDoc.ActiveSheet objDrawingViews = objSheet.DrawingViews objDrawingView = objDrawingViews.Item(1) BOSProfiles = objDrawingView.BrokenOutSectionProfiles BOSProfile = BOSProfiles.Add() draftProfile = BOSProfile.Profile draftProfile.BeginEdit() objDrawingView.Range(xmin, ymin, xmax, ymax) xhalf = xmin + (xmax - xmin) / 2 yhalf = ymin + (ymax - ymin) / 2 draftProfile.Circles2d.AddByCenterRadius(xhalf, yhalf, 0.25 * (xmax - xmin)) draftProfile.EndEdit() sectionView = BOSProfile.TargetView BOSProfile.Depth = 0.2 BOSProfile.DepthPlaneOffset = 0.1 sectionView.Update() Catch ex As Exception MessageBox.Show(ex.ToString) End Try End Sub Function GetTrainingFolder() As DirectoryInfo Dim objInstallData As SEInstallDataLib.SEInstallData = Nothing Dim objInstallFolder As DirectoryInfo = Nothing Dim objTrainingFolder As DirectoryInfo = Nothing Try objInstallData = New SEInstallDataLib.SEInstallData objInstallFolder = New DirectoryInfo(objInstallData.GetInstalledPath()) objTrainingFolder = New DirectoryInfo(Path.Combine(objInstallFolder.Parent.FullName, "Training")) Catch Finally If Not (objInstallData Is Nothing) Then Marshal.FinalReleaseComObject(objInstallData) objInstallData = Nothing End If End Try Return objTrainingFolder End Function End Class
using System.IO; using System.Runtime.InteropServices; public class Form1 { private void Button1_Click(object sender, EventArgs e) { SolidEdgeFramework.Application objApplication = null; DirectoryInfo objFolder = null; FileInfo objFileInfo = null; SolidEdgeFramework.Documents objDocuments = null; SolidEdgeDraft.DraftDocument objDraftDoc = null; SolidEdgeDraft.Sheet objSheet = null; SolidEdgeDraft.DrawingViews objDrawingViews = null; SolidEdgeDraft.DrawingView objDrawingView = null; SolidEdgeDraft.DrawingView sectionView = null; SolidEdgeDraft.DraftProfile draftProfile = null; double xmin = 0; double ymin = 0; double xmax = 0; double ymax = 0; double xhalf = 0; double yhalf = 0; SolidEdgeDraft.BrokenOutSectionProfile BOSProfile = null; SolidEdgeDraft.BrokenOutSectionProfiles BOS = null; SolidEdgeDraft.BrokenOutSectionProfiles BOSProfiles = null; try { objApplication = (SolidEdgeFramework.Application)Marshal.GetActiveObject("SolidEdge.Application"); if (objApplication == null) { // Start Solid Edge objApplication = Activator.CreateInstance(Type.GetTypeFromProgID("SolidEdge.Application")); objApplication.Visible = true; } objFolder = GetTrainingFolder(); objFileInfo = new FileInfo(Path.Combine(objFolder.FullName, "sbddaan.dft")); objDocuments = objApplication.Documents; objDraftDoc = objDocuments.Open(objFileInfo.FullName); objSheet = objDraftDoc.ActiveSheet; objDrawingViews = objSheet.DrawingViews; objDrawingView = objDrawingViews.Item(1); BOSProfiles = objDrawingView.BrokenOutSectionProfiles; BOSProfile = BOSProfiles.Add(); draftProfile = BOSProfile.Profile; draftProfile.BeginEdit(); objDrawingView.Range(xmin, ymin, xmax, ymax); xhalf = xmin + (xmax - xmin) / 2; yhalf = ymin + (ymax - ymin) / 2; draftProfile.Circles2d.AddByCenterRadius(xhalf, yhalf, 0.25 * (xmax - xmin)); draftProfile.EndEdit(); sectionView = BOSProfile.TargetView; BOSProfile.Depth = 0.2; BOSProfile.DepthPlaneOffset = 0.1; sectionView.Update(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } public DirectoryInfo GetTrainingFolder() { SEInstallDataLib.SEInstallData objInstallData = null; DirectoryInfo objInstallFolder = null; DirectoryInfo objTrainingFolder = null; try { objInstallData = new SEInstallDataLib.SEInstallData(); objInstallFolder = new DirectoryInfo(objInstallData.GetInstalledPath()); objTrainingFolder = new DirectoryInfo(Path.Combine(objInstallFolder.Parent.FullName, "Training")); } catch { } finally { if (objInstallData != null) { Marshal.FinalReleaseComObject(objInstallData); objInstallData = null; } } return objTrainingFolder; } public Form1() { SubscribeToEvents(); } private bool EventsSubscribed = false; private void SubscribeToEvents() { if (EventsSubscribed) return; else EventsSubscribed = true; Button1.Click += Button1_Click; } }