Added directonsymbol swdrawing

This commit is contained in:
Mans 2021-02-22 14:08:52 +01:00
parent cd513b6561
commit da9b7a7c5c
3 changed files with 46 additions and 18 deletions

View File

@ -1,7 +1,7 @@
Public Class Draw_Grating Public Class Draw_Grating
Private Shared guiPanelL, guiPanelW As Integer 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()) Private Shared ArrowSymbolPoints As New Dictionary(Of String, Integer())
Public Shared measureLabels 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 --- ' --- Create points for grating direction symbol ---
Private Shared Sub Create_DirSymbolPoints() Private Shared Sub Create_DirSymbolPoints()
DirSymbolPoints.Add("p1", {-30 + Data.guiPanelMidX, -2 + Data.guiPanelMidY}) DirSymbolPoints.Add({-27 + Data.guiPanelMidX, -2 + Data.guiPanelMidY})
DirSymbolPoints.Add("p2", {20 + Data.guiPanelMidX, -2 + Data.guiPanelMidY}) DirSymbolPoints.Add({17 + Data.guiPanelMidX, -2 + Data.guiPanelMidY})
DirSymbolPoints.Add("p3", {12 + Data.guiPanelMidX, -10 + Data.guiPanelMidY}) DirSymbolPoints.Add({9 + Data.guiPanelMidX, -10 + Data.guiPanelMidY})
DirSymbolPoints.Add("p4", {15 + Data.guiPanelMidX, -13 + Data.guiPanelMidY}) DirSymbolPoints.Add({12 + Data.guiPanelMidX, -13 + Data.guiPanelMidY})
DirSymbolPoints.Add("p5", {30 + Data.guiPanelMidX, 2 + Data.guiPanelMidY}) DirSymbolPoints.Add({27 + Data.guiPanelMidX, 2 + Data.guiPanelMidY})
DirSymbolPoints.Add("p6", {-20 + Data.guiPanelMidX, 2 + Data.guiPanelMidY}) DirSymbolPoints.Add({-17 + Data.guiPanelMidX, 2 + Data.guiPanelMidY})
DirSymbolPoints.Add("p7", {-12 + Data.guiPanelMidX, 10 + Data.guiPanelMidY}) DirSymbolPoints.Add({-9 + Data.guiPanelMidX, 10 + Data.guiPanelMidY})
DirSymbolPoints.Add("p8", {-15 + Data.guiPanelMidX, 13 + Data.guiPanelMidY}) DirSymbolPoints.Add({-12 + Data.guiPanelMidX, 13 + Data.guiPanelMidY})
DirSymbolPoints.Add("p9", {-30 + Data.guiPanelMidX, -2 + Data.guiPanelMidY}) DirSymbolPoints.Add({-27 + Data.guiPanelMidX, -2 + Data.guiPanelMidY})
End Sub End Sub
' --- Create points for arrow symbol --- ' --- Create points for arrow symbol ---
@ -160,9 +160,9 @@
' Draw grating direction symbol ' Draw grating direction symbol
Dim symPen As Pen = New Pen(Color.Black, 1) Dim symPen As Pen = New Pen(Color.Black, 1)
For i = 1 To DirSymbolPoints.Count - 1 For i = 0 To DirSymbolPoints.Count - 2
e.Graphics.DrawLine(symPen, DirSymbolPoints("p" & i)(0), DirSymbolPoints("p" & i)(1), e.Graphics.DrawLine(symPen, DirSymbolPoints(i)(0), DirSymbolPoints(i)(1),
DirSymbolPoints("p" & i + 1)(0), DirSymbolPoints("p" & i + 1)(1)) DirSymbolPoints(i + 1)(0), DirSymbolPoints(i + 1)(1))
Next Next
' Draw arrow symbol ' Draw arrow symbol

View File

@ -1,7 +1,7 @@
Imports XCCLibrary Imports XCCLibrary
Public Class GUI Public Class GUI
Public Shared filepath As String = "C:\Users\Anton\Documents\Exjobb" '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\xperd\Documents"
' --- Start method (main) for GUI --- ' --- Start method (main) for GUI ---
Sub GUI_load() Handles MyBase.Load Sub GUI_load() Handles MyBase.Load

View File

@ -1,6 +1,7 @@
Imports SldWorks Imports SldWorks
Public Class Drawing Public Class Drawing
Private Shared sideCounter As Integer() Private Shared sideCounter As Integer()
Public Shared Sub CreateDrawing() Public Shared Sub CreateDrawing()
Dim pointTable As DataTable Dim pointTable As DataTable
pointTable = Data.gratingPoints 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) 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 Dim iPart As PartDoc
iPart = swApp.ActiveDoc iPart = swApp.ActiveDoc
Dim newName As String Dim newName As String
@ -120,6 +125,10 @@ Public Class Drawing
swSheet.SetTemplateName(GUI.filepath & "\X2021\Weland ritningsmallar\A3 Part.slddrt") swSheet.SetTemplateName(GUI.filepath & "\X2021\Weland ritningsmallar\A3 Part.slddrt")
swSheet.ReloadTemplate(True) swSheet.ReloadTemplate(True)
Dim layMgr As LayerMgr
layMgr = iDrawing.GetLayerManager()
Dim status As Boolean
status = layMgr.SetCurrentLayer("Svenska")
Dim myView As View Dim myView As View
myView = iDrawing.CreateDrawViewFromModelView3(GUI.filepath & "\Temp\TESTPART1.SLDPRT", "*Front", swSheetWidth / 2, swSheetHeight / 2, 0) 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) swExtensions.SelectByID2(point2Name, "PLANE", 0, 0, 0, True, 0, Nothing, 0)
measurement = iDrawing.AddVerticalDimension2(OutLine2(2) + 0.005, OutLine2(1), 0) measurement = iDrawing.AddVerticalDimension2(OutLine2(2) + 0.005, OutLine2(1), 0)
iDrawing.ClearSelection2(True) iDrawing.ClearSelection2(True)
measurement.SetUnits2(False, 0, 1, 0, True, 12) measurement.SetUnits2(False, 0, 1, 0, True, 12)
measurement.CenterText = True measurement.CenterText = True
measurement.SetPrecision3(0, 0, 0, 0) measurement.SetPrecision3(0, 0, 0, 0)
Dim longstatus As Integer Dim longstatus As Integer
Dim newName As String Dim newName As String
newName = GUI.filepath & "\Temp" & "\TESTDRAWING" & 1 & ".SLDDRW" 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) longstatus = iDrawing.SaveAs3(newName, 0, 0)
End Sub End Sub