From da9b7a7c5c6c1a4ffa1bead24515ad63ecbd0c9f Mon Sep 17 00:00:00 2001 From: Mans Date: Mon, 22 Feb 2021 14:08:52 +0100 Subject: [PATCH] Added directonsymbol swdrawing --- Wardrobe/GUI/Draw_Grating.vb | 26 +++++++++++++------------- Wardrobe/GUI/GUI.vb | 4 ++-- Wardrobe/SolidWorks/Drawing.vb | 34 +++++++++++++++++++++++++++++++--- 3 files changed, 46 insertions(+), 18 deletions(-) diff --git a/Wardrobe/GUI/Draw_Grating.vb b/Wardrobe/GUI/Draw_Grating.vb index 28f789b..08fc4de 100644 --- a/Wardrobe/GUI/Draw_Grating.vb +++ b/Wardrobe/GUI/Draw_Grating.vb @@ -1,7 +1,7 @@ Public Class Draw_Grating Private Shared guiPanelL, guiPanelW As Integer - Private Shared DirSymbolPoints As New Dictionary(Of String, Integer()) + Public Shared DirSymbolPoints As New List(Of Integer()) Private Shared ArrowSymbolPoints As New Dictionary(Of String, Integer()) Public Shared measureLabels As New Dictionary(Of String, Integer()) @@ -42,15 +42,15 @@ ' --- Create points for grating direction symbol --- Private Shared Sub Create_DirSymbolPoints() - DirSymbolPoints.Add("p1", {-30 + Data.guiPanelMidX, -2 + Data.guiPanelMidY}) - DirSymbolPoints.Add("p2", {20 + Data.guiPanelMidX, -2 + Data.guiPanelMidY}) - DirSymbolPoints.Add("p3", {12 + Data.guiPanelMidX, -10 + Data.guiPanelMidY}) - DirSymbolPoints.Add("p4", {15 + Data.guiPanelMidX, -13 + Data.guiPanelMidY}) - DirSymbolPoints.Add("p5", {30 + Data.guiPanelMidX, 2 + Data.guiPanelMidY}) - DirSymbolPoints.Add("p6", {-20 + Data.guiPanelMidX, 2 + Data.guiPanelMidY}) - DirSymbolPoints.Add("p7", {-12 + Data.guiPanelMidX, 10 + Data.guiPanelMidY}) - DirSymbolPoints.Add("p8", {-15 + Data.guiPanelMidX, 13 + Data.guiPanelMidY}) - DirSymbolPoints.Add("p9", {-30 + Data.guiPanelMidX, -2 + Data.guiPanelMidY}) + DirSymbolPoints.Add({-27 + Data.guiPanelMidX, -2 + Data.guiPanelMidY}) + DirSymbolPoints.Add({17 + Data.guiPanelMidX, -2 + Data.guiPanelMidY}) + DirSymbolPoints.Add({9 + Data.guiPanelMidX, -10 + Data.guiPanelMidY}) + DirSymbolPoints.Add({12 + Data.guiPanelMidX, -13 + Data.guiPanelMidY}) + DirSymbolPoints.Add({27 + Data.guiPanelMidX, 2 + Data.guiPanelMidY}) + DirSymbolPoints.Add({-17 + Data.guiPanelMidX, 2 + Data.guiPanelMidY}) + DirSymbolPoints.Add({-9 + Data.guiPanelMidX, 10 + Data.guiPanelMidY}) + DirSymbolPoints.Add({-12 + Data.guiPanelMidX, 13 + Data.guiPanelMidY}) + DirSymbolPoints.Add({-27 + Data.guiPanelMidX, -2 + Data.guiPanelMidY}) End Sub ' --- Create points for arrow symbol --- @@ -160,9 +160,9 @@ ' Draw grating direction symbol Dim symPen As Pen = New Pen(Color.Black, 1) - For i = 1 To DirSymbolPoints.Count - 1 - e.Graphics.DrawLine(symPen, DirSymbolPoints("p" & i)(0), DirSymbolPoints("p" & i)(1), - DirSymbolPoints("p" & i + 1)(0), DirSymbolPoints("p" & i + 1)(1)) + For i = 0 To DirSymbolPoints.Count - 2 + e.Graphics.DrawLine(symPen, DirSymbolPoints(i)(0), DirSymbolPoints(i)(1), + DirSymbolPoints(i + 1)(0), DirSymbolPoints(i + 1)(1)) Next ' Draw arrow symbol diff --git a/Wardrobe/GUI/GUI.vb b/Wardrobe/GUI/GUI.vb index 4331f88..437a276 100644 --- a/Wardrobe/GUI/GUI.vb +++ b/Wardrobe/GUI/GUI.vb @@ -1,7 +1,7 @@ Imports XCCLibrary Public Class GUI - Public Shared filepath As String = "C:\Users\Anton\Documents\Exjobb" - 'Public Shared filepath As String = "C:\Users\xperd\Documents" + 'Public Shared filepath As String = "C:\Users\Anton\Documents\Exjobb" + Public Shared filepath As String = "C:\Users\xperd\Documents" ' --- Start method (main) for GUI --- Sub GUI_load() Handles MyBase.Load diff --git a/Wardrobe/SolidWorks/Drawing.vb b/Wardrobe/SolidWorks/Drawing.vb index cd6ff76..3a71971 100644 --- a/Wardrobe/SolidWorks/Drawing.vb +++ b/Wardrobe/SolidWorks/Drawing.vb @@ -1,6 +1,7 @@ Imports SldWorks Public Class Drawing Private Shared sideCounter As Integer() + Public Shared Sub CreateDrawing() Dim pointTable As DataTable pointTable = Data.gratingPoints @@ -71,6 +72,10 @@ Public Class Drawing swFeature = swFeatureMgr.FeatureExtrusion3(True, False, False, 0, 0, gratingHeight, 0, False, False, False, False, 0, 0, False, False, False, False, True, True, True, 0, 0, False) + swSkMgr.InsertSketch(True) + boolstatus = Model.Extension.SelectByID2("Front Plane", "PLANE", 0, 0, 0, False, 0, Nothing, 0) + Model.ClearSelection2(True) + Dim iPart As PartDoc iPart = swApp.ActiveDoc Dim newName As String @@ -120,6 +125,10 @@ Public Class Drawing swSheet.SetTemplateName(GUI.filepath & "\X2021\Weland ritningsmallar\A3 Part.slddrt") swSheet.ReloadTemplate(True) + Dim layMgr As LayerMgr + layMgr = iDrawing.GetLayerManager() + Dim status As Boolean + status = layMgr.SetCurrentLayer("Svenska") Dim myView As View myView = iDrawing.CreateDrawViewFromModelView3(GUI.filepath & "\Temp\TESTPART1.SLDPRT", "*Front", swSheetWidth / 2, swSheetHeight / 2, 0) @@ -230,17 +239,36 @@ Public Class Drawing swExtensions.SelectByID2(point2Name, "PLANE", 0, 0, 0, True, 0, Nothing, 0) measurement = iDrawing.AddVerticalDimension2(OutLine2(2) + 0.005, OutLine2(1), 0) - - iDrawing.ClearSelection2(True) measurement.SetUnits2(False, 0, 1, 0, True, 12) measurement.CenterText = True measurement.SetPrecision3(0, 0, 0, 0) - Dim longstatus As Integer Dim newName As String newName = GUI.filepath & "\Temp" & "\TESTDRAWING" & 1 & ".SLDDRW" + + + status = layMgr.AddLayer("Symbol", "", 0, 0, 2) + status = layMgr.SetCurrentLayer("Symbol") + + Dim swSkMgr As SketchManager + swSkMgr = iDrawing.SketchManager + longstatus = iDrawing.ActivateView("Drawing View1") + Dim skSegment As Object + + swSkMgr.AddToDB = True + + For i = 0 To Draw_Grating.DirSymbolPoints.Count - 2 + Dim x1, x2, y1, y2 As Double + x1 = CDbl(CInt(Draw_Grating.DirSymbolPoints(i)(0) - Data.guiPanelMidX) / (30 * viewScale2)) + y1 = -CDbl(CInt(Draw_Grating.DirSymbolPoints(i)(1) - Data.guiPanelMidY) / (30 * viewScale2)) + x2 = CDbl(CInt(Draw_Grating.DirSymbolPoints(i + 1)(0) - Data.guiPanelMidX) / (30 * viewScale2)) + y2 = -CDbl(CInt(Draw_Grating.DirSymbolPoints(i + 1)(1) - Data.guiPanelMidY) / (30 * viewScale2)) + + skSegment = swSkMgr.CreateLine(x1, y1, 0, x2, y2, 0) + Next + swSkMgr.AddToDB = False longstatus = iDrawing.SaveAs3(newName, 0, 0) End Sub