hytos / DTI_PID / SPPIDConverter / Main.vb @ 3926c898
이력 | 보기 | 이력해설 | 다운로드 (39.6 KB)
1 | 4f359afa | Gyusu | Imports System.IO |
---|---|---|---|
2 | Imports System.Data.SqlClient |
||
3 | Imports System.Data.SQLite |
||
4 | Imports Plaice |
||
5 | Imports Llama |
||
6 | Imports PidA |
||
7 | 962b2464 | Gyusu | |
8 | 4f359afa | Gyusu | Public Class Main |
9 | |||
10 | Dim _DB As DataTable = New DataTable() |
||
11 | Dim _Placement As New Placement |
||
12 | Dim _DWG_X = 0.84 '0.695 '1 ' |
||
13 | Dim _DWG_Y = 0.594 '0.585 '0.8 ' |
||
14 | |||
15 | Dim _IMG_X = 0 |
||
16 | Dim _IMG_Y = 0 |
||
17 | |||
18 | 31d47a80 | Gyusu | 'Drawing 전역변수 |
19 | Dim _objPIDADrawing As Object |
||
20 | |||
21 | 4f359afa | Gyusu | Private Sub Main_Load(sender As Object, e As EventArgs) Handles MyBase.Load |
22 | Dim sDBPath As String = "C:\Users\kyusu\Desktop\Auto SPPID 변환 프로젝트\PID.db" |
||
23 | LoadDB(sDBPath) |
||
24 | 962b2464 | Gyusu | SetUpListViewColumns() |
25 | LoadTree() |
||
26 | 31d47a80 | Gyusu | ' TestOpen() |
27 | 962b2464 | Gyusu | |
28 | End Sub |
||
29 | Private Sub LoadTree() |
||
30 | |||
31 | Dim i As Integer |
||
32 | Dim j() As String |
||
33 | j = Directory.GetLogicalDrives |
||
34 | For i = 0 To UBound(j) |
||
35 | |||
36 | Dim cdrive As System.IO.DriveInfo |
||
37 | cdrive = My.Computer.FileSystem.GetDriveInfo(j(i).ToString) |
||
38 | |||
39 | Select Case cdrive.DriveType |
||
40 | Case DriveType.Fixed |
||
41 | Tree_XMLFiles.Nodes.Add(j(i), j(i).ToString, 3) |
||
42 | Case DriveType.CDRom |
||
43 | Tree_XMLFiles.Nodes.Add(j(i), j(i).ToString, 11) |
||
44 | Case DriveType.Network |
||
45 | Tree_XMLFiles.Nodes.Add(j(i), j(i).ToString, 5) |
||
46 | Case DriveType.Removable |
||
47 | Tree_XMLFiles.Nodes.Add(j(i), j(i).ToString, 12) |
||
48 | End Select |
||
49 | |||
50 | Next |
||
51 | End Sub |
||
52 | |||
53 | Private Sub SetUpListViewColumns() |
||
54 | ' TODO: Add code to set up listview columns |
||
55 | ListView_File.Columns.Add(" Name ") |
||
56 | ' ListView_File.Columns.Add(" Size ") |
||
57 | ' ListView_File.Columns.Add(" Extension ") |
||
58 | ListView_File.Columns.Add(" Date Modified ") |
||
59 | SetView(View.Details) |
||
60 | 4f359afa | Gyusu | End Sub |
61 | |||
62 | 962b2464 | Gyusu | |
63 | Private Sub SetView(ByVal View As System.Windows.Forms.View) |
||
64 | 'Figure out which menu item should be checked |
||
65 | 'Dim MenuItemToCheck As ToolStripMenuItem = Nothing |
||
66 | 'Select Case View |
||
67 | ' Case View.Details |
||
68 | ' MenuItemToCheck = DetailsToolStripMenuItem |
||
69 | ' Case View.LargeIcon |
||
70 | ' MenuItemToCheck = LargeIconsToolStripMenuItem |
||
71 | ' Case View.List |
||
72 | ' MenuItemToCheck = ListToolStripMenuItem |
||
73 | ' Case View.SmallIcon |
||
74 | ' MenuItemToCheck = SmallIconsToolStripMenuItem |
||
75 | ' Case View.Tile |
||
76 | ' MenuItemToCheck = TileToolStripMenuItem |
||
77 | ' Case Else |
||
78 | ' Debug.Fail("Unexpected View") |
||
79 | ' View = View.Details |
||
80 | ' MenuItemToCheck = DetailsToolStripMenuItem |
||
81 | 'End Select |
||
82 | |||
83 | ''Check the appropriate menu item and deselect all others under the Views menu |
||
84 | 'For Each MenuItem As ToolStripMenuItem In ListViewToolStripButton.DropDownItems |
||
85 | ' If MenuItem Is MenuItemToCheck Then |
||
86 | ' MenuItem.Checked = True |
||
87 | ' Else |
||
88 | ' MenuItem.Checked = False |
||
89 | ' End If |
||
90 | 'Next |
||
91 | |||
92 | 'Finally, set the view requested |
||
93 | ListView_File.View = View.Details |
||
94 | End Sub |
||
95 | |||
96 | Private Sub Btn_FolderPath_Click(sender As Object, e As EventArgs) |
||
97 | 4f359afa | Gyusu | Dim oOpenFolderDlg = New FolderBrowserDialog() |
98 | Dim result As DialogResult = oOpenFolderDlg.ShowDialog() |
||
99 | Dim sFolderName As String = "" |
||
100 | |||
101 | If (result = DialogResult.OK) Then |
||
102 | sFolderName = oOpenFolderDlg.SelectedPath |
||
103 | 962b2464 | Gyusu | ' Txt_FolderPath.Text = sFolderName |
104 | 4f359afa | Gyusu | InitXMLTree(sFolderName) |
105 | End If |
||
106 | |||
107 | End Sub |
||
108 | |||
109 | Private Sub InitXMLTree(ByVal sFolderPath As String) |
||
110 | Tree_XMLFiles.Nodes.Clear() |
||
111 | Dim oRootNode As TreeNode = Tree_XMLFiles.Nodes.Add("XML") |
||
112 | '.XML 만 로드 |
||
113 | Dim sfileEntries As String() = Directory.GetFiles(sFolderPath, "*.xml") |
||
114 | ' Process the list of files found in the directory. |
||
115 | Dim sfileName As String |
||
116 | For Each sfileName In sfileEntries |
||
117 | oRootNode.Nodes.Add(sfileName) |
||
118 | Next sfileName |
||
119 | oRootNode.ExpandAll() |
||
120 | End Sub |
||
121 | |||
122 | 1229ad76 | Gyusu | |
123 | |||
124 | |||
125 | |||
126 | 31d47a80 | Gyusu | |
127 | 1229ad76 | Gyusu | |
128 | |||
129 | Private Function CreateDwg(ByVal oDwgName As String) As Boolean |
||
130 | Dim objPIDADrawing As Object = Nothing |
||
131 | Dim objPIDAutoApp As Object = Nothing |
||
132 | Dim datasource As LMADataSource = Nothing |
||
133 | 4f359afa | Gyusu | Try |
134 | Dim DrawingNumber As String |
||
135 | Dim DrawingName As String |
||
136 | 1229ad76 | Gyusu | Dim sPlantGroupName As String = "Test" |
137 | Dim sTemplateName As String = "\\desktop-9vlq0dp\Test02Site\P188943_SPPID_Plant\P&ID Reference Data\Template Files\Gazprom Project.pid" |
||
138 | Dim objDrawing As LMDrawing |
||
139 | Dim objDrawings As LMDrawings |
||
140 | objDrawings = New LMDrawings |
||
141 | datasource = New LMADataSource |
||
142 | Debug.Print(datasource.ProjectNumber) |
||
143 | Debug.Print(datasource.SiteNode) |
||
144 | Debug.Print(datasource.IsSatellite) |
||
145 | Debug.Print(datasource.GetSystemEditingToolbarSetting) |
||
146 | objDrawings.Collect(datasource) |
||
147 | Dim sPath As String = "\\desktop-9vlq0dp\Test02Site\P188943_SPPID_Plant\Plant_Hierarchy\8121\8121-1\188943-8121-PR-DW-011001.pid" |
||
148 | objPIDAutoApp = CreateObject("PIDAutomation.Application") |
||
149 | For Each objDrawing In objDrawings |
||
150 | If objDrawing.Attributes("ItemStatus").Index = 1 Then '1 stands for Active |
||
151 | objPIDADrawing = objPIDAutoApp.Drawings.OpenDrawing(sPath) |
||
152 | If Not objPIDADrawing Is Nothing Then |
||
153 | |||
154 | objPIDADrawing.CloseDrawing |
||
155 | End If |
||
156 | End If |
||
157 | Next |
||
158 | 4f359afa | Gyusu | |
159 | Dim extension As String = Path.GetExtension(oDwgName) |
||
160 | oDwgName = oDwgName.Replace(extension, "") |
||
161 | 1229ad76 | Gyusu | |
162 | 4f359afa | Gyusu | objPIDAutoApp = CreateObject("PIDAutomation.Application") |
163 | 1229ad76 | Gyusu | |
164 | 'For Each objDrawing In objPIDAutoApp.Drawings |
||
165 | ' objDrawing.CloseDrawing(True) |
||
166 | 'Next |
||
167 | |||
168 | objPIDAutoApp.Drawings.OpenDrawing(oDwgName + ".pid") |
||
169 | |||
170 | objPIDAutoApp.ActiveWindow.Fit() |
||
171 | |||
172 | |||
173 | |||
174 | |||
175 | |||
176 | |||
177 | 'objPIDAutoApp.WindowState = 2 'pidWindowStateMaximized |
||
178 | |||
179 | |||
180 | 'Dim oItems As Object 'LMAItems |
||
181 | 'Dim objItem As Object 'LMAItem |
||
182 | 'Dim objItems As Object 'LMAItems |
||
183 | ''Collec items |
||
184 | 'objItems = CreateObject("Llama.LMAItems", "") |
||
185 | 'oItems = CreateObject("Llama.LMAItems", "") |
||
186 | |||
187 | 'For i = 0 To itemList.Count - 1 |
||
188 | ' itemData = itemList.Item(i) |
||
189 | ' itemType = itemData.itemType |
||
190 | ' spid = itemData.spid |
||
191 | |||
192 | ' oItems = GetLMAItemsForDrawing(itemType, spid, drawingInfo.mSpID) |
||
193 | |||
194 | ' If Not oItems Is Nothing Then |
||
195 | ' objItems.AddCollection(oItems) |
||
196 | ' End If |
||
197 | 'Next |
||
198 | 'Dim objSPPIDApp As Object 'SmartPlantPID.Application |
||
199 | 'Dim radApp As Object |
||
200 | 'Dim objReturnGraphics As Collection |
||
201 | |||
202 | 'objSPPIDApp = GetObject(, "SmartPlantPID.Application") |
||
203 | 'radApp = objSPPIDApp.RADApplication |
||
204 | |||
205 | 'If objItems.Count > 0 Then |
||
206 | ' '--------------------------------------------------------- |
||
207 | ' 'Start dealing with graphic |
||
208 | ' '--------------------------------------------------------- |
||
209 | ' 'translate LMAItem to Graphic object |
||
210 | ' 'if LMAItem is a piperun, connector graphic object will be returned |
||
211 | ' objReturnGraphics = New Collection |
||
212 | |||
213 | 31d47a80 | Gyusu | ' ' IncrementProgressBar objProgressBar, "Translate need To be highlighted LMAItems To graphic Object..." |
214 | 1229ad76 | Gyusu | ' 'For Each objItem In objItems |
215 | ' ' objReturnGraphics = GetGraphicsFromLMAItem(objItem, radApp.ActiveDocument.ActiveSheet, drawingInfo.mDrawingName) |
||
216 | ' ' For Each objGraphic In objReturnGraphics |
||
217 | ' ' blnGraphic = True |
||
218 | ' ' 'add graphic object to Rad2d.ActiveSelectSet |
||
219 | ' ' radApp.ActiveSelectSet.Add(objGraphic) |
||
220 | ' ' 'If Err.Number <> 0 Then |
||
221 | ' ' ' If Err.Number = CONST_ErrNumber457 Then |
||
222 | ' ' ' Err.Clear() |
||
223 | ' ' ' Else |
||
224 | ' ' ' GoTo errorHandler |
||
225 | ' ' ' End If |
||
226 | ' ' 'End If |
||
227 | |||
228 | ' ' Next |
||
229 | ' 'Next |
||
230 | ' 'If Not blnGraphic Then |
||
231 | 31d47a80 | Gyusu | ' ' Debug.WriteLine("Items are In drawing stockpile, use EDE to view.") |
232 | 1229ad76 | Gyusu | ' 'Else |
233 | 31d47a80 | Gyusu | ' ' Debug.WriteLine("Complete! " & objItems.Count & " items are highled in drawing: " & spid) |
234 | 1229ad76 | Gyusu | ' 'End If |
235 | |||
236 | 'Else |
||
237 | |||
238 | |||
239 | 'End If |
||
240 | '' radApp.ActiveWindow.Repaint |
||
241 | |||
242 | 'objpidauto.ActiveWindow.Fit() |
||
243 | |||
244 | |||
245 | 'sPlantGroupName = "8121-7" |
||
246 | ''PlantGroupName = "8121-1" |
||
247 | ''PlantGroupName = "Unit01" |
||
248 | ''considering accessing T_OptinSetting to read the template files path, which will be more flexible |
||
249 | 'DrawingNumber = "Test" |
||
250 | 'DrawingName = "Test" |
||
251 | 'objPIDADrawing = objPIDAutoApp.Drawings.Add(sPlantGroupName, sTemplateName, DrawingNumber, DrawingName) |
||
252 | 'If Not objPIDADrawing Is Nothing Then |
||
253 | ' '이미 오픈 |
||
254 | ' objPIDADrawing.CloseDrawing |
||
255 | 'End If |
||
256 | |||
257 | Return True |
||
258 | Catch ex As Exception |
||
259 | If objPIDADrawing IsNot Nothing Then |
||
260 | 4f359afa | Gyusu | objPIDADrawing.CloseDrawing |
261 | End If |
||
262 | 1229ad76 | Gyusu | If objPIDAutoApp IsNot Nothing Then |
263 | objPIDAutoApp.Quit |
||
264 | End If |
||
265 | datasource = Nothing |
||
266 | 4f359afa | Gyusu | objPIDAutoApp = Nothing |
267 | objPIDADrawing = Nothing |
||
268 | Return False |
||
269 | End Try |
||
270 | 1229ad76 | Gyusu | If objPIDADrawing IsNot Nothing Then |
271 | objPIDADrawing.CloseDrawing |
||
272 | End If |
||
273 | 4f359afa | Gyusu | |
274 | End Function |
||
275 | |||
276 | 1229ad76 | Gyusu | |
277 | ' Public Function GetGraphicsFromLMAItem(ByVal objItem As Llama.LMAItem, ByVal objSheet As Object, ByVal strDrawingName As String) As Collection |
||
278 | ' On Error GoTo errorHandler |
||
279 | ' Dim strError As String |
||
280 | ' Dim objGraphic As Object |
||
281 | ' Dim strGraphicOID As String |
||
282 | ' Dim strGraphicName As String |
||
283 | ' Dim objRep As Object 'LMRepresentation |
||
284 | ' Dim strName As String |
||
285 | |||
286 | ' GetGraphicsFromLMAItem = New Collection |
||
287 | ' 'label is special, because label is a representation, different from other items |
||
288 | ' If objItem.ItemType = CONST_LabelPersist Then |
||
289 | ' If Not mDataSource.GetLabelPersist(objItem.Id).AsLMRepresentation Is Nothing Then |
||
290 | ' If mDataSource.GetLabelPersist(objItem.Id).AsLMRepresentation.ItemStatus = CONST_Active And Not mDataSource.GetLabelPersist(objItem.Id).AsLMRepresentation.DrawingObject Is Nothing Then |
||
291 | ' If mDataSource.GetLabelPersist(objItem.Id).AsLMRepresentation.DrawingObject.Attributes("Name").Value = strDrawingName Then |
||
292 | ' If mDataSource.GetLabelPersist(objItem.Id).AsLMRepresentation.GraphicOID Is Nothing Then |
||
293 | ' 'RaiseError 2000, "Label GraphicOID is NULL" |
||
294 | ' 'ignore it |
||
295 | ' Else |
||
296 | ' strGraphicOID = mDataSource.GetLabelPersist(objItem.Id).AsLMRepresentation.GraphicOID |
||
297 | ' strGraphicName = "xxx " & strGraphicOID |
||
298 | ' objGraphic = objSheet.DrawingObjects(strGraphicName) |
||
299 | ' If Not objGraphic Is Nothing Then |
||
300 | ' 'to ensure not get a graphic is in other drawings |
||
301 | ' 'sometime, if the graphic object is in other drawing, |
||
302 | ' 'set objgraphic=objsheet.drawingobjects(strgraphicname) |
||
303 | ' 'is not returning nothing, but when you try to add it, |
||
304 | ' 'you will get an error |
||
305 | ' On Error Resume Next |
||
306 | ' strName = objGraphic.Name |
||
307 | ' If Err.Number = 0 Then |
||
308 | ' GetGraphicsFromLMAItem.Add(objGraphic) |
||
309 | ' End If |
||
310 | ' On Error GoTo errorHandler |
||
311 | ' End If |
||
312 | ' End If |
||
313 | ' End If |
||
314 | ' End If |
||
315 | ' End If |
||
316 | ' Else |
||
317 | ' 'else, any items other than label |
||
318 | ' 'Piperun is special, we want to break down piperun to connector as drawing graphic |
||
319 | ' If mDataSource.GetModelItem(objItem.Id).ItemTypeName = "PipeRun" Then |
||
320 | ' For Each objRep In mDataSource.GetModelItem(objItem.Id).Representations |
||
321 | ' If objRep.ItemStatus = CONST_Active And Not objRep.DrawingObject Is Nothing Then |
||
322 | ' If objRep.DrawingObject.Attributes("Name").Value = strDrawingName Then |
||
323 | ' If objRep.RepresentationType = "Connector" Then |
||
324 | ' If objRep.GraphicOID Is Nothing Then |
||
325 | ' 'RaiseError 2000, "Connector GraphicOID is NULL" |
||
326 | ' Else |
||
327 | ' strGraphicOID = objRep.GraphicOID |
||
328 | ' strGraphicName = "xxx " & strGraphicOID |
||
329 | ' objGraphic = objSheet.DrawingObjects(strGraphicName) |
||
330 | ' If Not objGraphic Is Nothing Then |
||
331 | ' 'to ensure not get a graphic is in other drawings |
||
332 | ' On Error Resume Next |
||
333 | ' strName = objGraphic.Name |
||
334 | ' If Err.Number = 0 Then |
||
335 | ' GetGraphicsFromLMAItem.Add(objGraphic) |
||
336 | ' End If |
||
337 | ' On Error GoTo errorHandler |
||
338 | ' End If |
||
339 | ' End If |
||
340 | ' End If |
||
341 | ' End If |
||
342 | ' End If |
||
343 | ' Next |
||
344 | ' Else |
||
345 | ' If Not mDataSource.GetModelItem(objItem.Id) Is Nothing Then |
||
346 | ' For Each objRep In mDataSource.GetModelItem(objItem.Id).Representations |
||
347 | ' 'if it is a multiple representation, only check active representation's GraphicOID |
||
348 | ' If objRep.ItemStatus = CONST_Active And Not objRep.DrawingObject Is Nothing Then |
||
349 | ' If objRep.DrawingObject.Attributes("Name").Value = strDrawingName Then |
||
350 | ' If objRep.GraphicOID Is Nothing Then |
||
351 | ' 'RaiseError 2000, "GraphicOID is NULL" |
||
352 | ' Else |
||
353 | ' strGraphicOID = objRep.GraphicOID |
||
354 | ' strGraphicName = "xxx " & strGraphicOID |
||
355 | ' objGraphic = objSheet.DrawingObjects(strGraphicName) |
||
356 | ' If Not objGraphic Is Nothing Then |
||
357 | ' 'to ensure not get a graphic is in other drawings |
||
358 | ' On Error Resume Next |
||
359 | ' strName = objGraphic.Name |
||
360 | ' If Err.Number = 0 Then |
||
361 | ' GetGraphicsFromLMAItem.Add(objGraphic) |
||
362 | ' End If |
||
363 | ' On Error GoTo errorHandler |
||
364 | ' End If |
||
365 | ' End If |
||
366 | ' End If |
||
367 | ' End If |
||
368 | ' Next |
||
369 | ' End If |
||
370 | ' End If |
||
371 | ' End If |
||
372 | ' Exit Function |
||
373 | |||
374 | 'errorHandler: |
||
375 | ' strError = " - error happened when " & strError & " @ Function cLMAItemGraphicTranslate::GetGraphicsFromLMAItem" |
||
376 | ' Debug.WriteLine(strError) |
||
377 | ' End Function |
||
378 | |||
379 | |||
380 | |||
381 | 4f359afa | Gyusu | #Region "Load Pipe" |
382 | Private Function LoadPipe_DT() As DataTable |
||
383 | Dim oDt As New DataTable |
||
384 | oDt.Columns.Add("start_x") |
||
385 | oDt.Columns.Add("start_y") |
||
386 | oDt.Columns.Add("end_x") |
||
387 | oDt.Columns.Add("end_y") |
||
388 | oDt.Columns.Add("Symbol") |
||
389 | Return oDt |
||
390 | |||
391 | End Function |
||
392 | |||
393 | #End Region |
||
394 | |||
395 | #Region "Load Symbol" |
||
396 | Private Function LoadSymbol_DT() As DataTable |
||
397 | Dim oDt As New DataTable |
||
398 | oDt.Columns.Add("Name") |
||
399 | oDt.Columns.Add("x") |
||
400 | oDt.Columns.Add("y") |
||
401 | oDt.Columns.Add("Angle") |
||
402 | oDt.Columns.Add("Symbol") |
||
403 | oDt.Columns.Add("Text") |
||
404 | Return oDt |
||
405 | End Function |
||
406 | |||
407 | #End Region |
||
408 | |||
409 | Private Function GetSymbolMapping(ByVal oSymbolName As String) As String |
||
410 | Dim oSystemPath As String = "" |
||
411 | Dim oSelectRow() As DataRow = _DB.Select("[pid_symbolname] = '" + oSymbolName + "'") |
||
412 | If oSelectRow.Length = 1 Then |
||
413 | oSystemPath = oSelectRow(0).Item("sppid_systempath").ToString() |
||
414 | End If |
||
415 | Return oSystemPath |
||
416 | End Function |
||
417 | |||
418 | Private Function LoadSymbolInXml(ByVal sXmlPath As String) As DataTable |
||
419 | Dim oDt As DataTable = LoadSymbol_DT() |
||
420 | Dim oElement As XElement = XElement.Load(sXmlPath) |
||
421 | If oElement IsNot Nothing Then |
||
422 | For Each symbols As Object In oElement.Elements("SYMBOLS") |
||
423 | For Each page As Object In symbols.Elements("SYMBOL") |
||
424 | Dim oAddrow As DataRow = oDt.NewRow() |
||
425 | Dim oObj As XElement = page.Element("NAME") |
||
426 | Dim oSymbol = oObj.Value |
||
427 | |||
428 | oObj = page.Element("TEXT") |
||
429 | 962b2464 | Gyusu | Dim oText = oObj.Value |
430 | oObj = page.Element("CLASS") |
||
431 | Dim oClass = oObj.Value |
||
432 | oObj = page.Element("TYPE") |
||
433 | Dim oType = oObj.Value |
||
434 | oObj = page.Element("ITEM") |
||
435 | Dim oItem = oObj.Value |
||
436 | |||
437 | ' Dim oSymbolPath As String = "\" + oSymbol + "\" + oClass + "\" + oType + "\" + oItem + ".sym" |
||
438 | Dim oSymbolPath As String = GetSymbolMapping(oItem) |
||
439 | |||
440 | oObj = page.Element("ORIGINALPOINT") |
||
441 | Dim sOriginPoint = oObj.Value |
||
442 | |||
443 | oObj = page.Element("ANGLE") |
||
444 | Dim oAngle = oObj.Value |
||
445 | |||
446 | Dim oSplitPos As String() = sOriginPoint.Split(",") |
||
447 | Dim oX As Double = 0.0 |
||
448 | Dim oY As Double = 0.0 |
||
449 | If IsNumeric(oSplitPos(0)) Then |
||
450 | oX = Double.Parse(oSplitPos(0)) |
||
451 | End If |
||
452 | If IsNumeric(oSplitPos(1)) Then |
||
453 | oY = Double.Parse(oSplitPos(1)) |
||
454 | End If |
||
455 | 4f359afa | Gyusu | |
456 | ConvertPoint(oX, oY, _DWG_X, _DWG_Y) |
||
457 | oAddrow("X") = oX '+ 0.05 |
||
458 | 962b2464 | Gyusu | oAddrow("Y") = oY |
459 | oAddrow("Angle") = oAngle |
||
460 | oAddrow("Symbol") = oSymbolPath |
||
461 | oAddrow("Text") = oText |
||
462 | oAddrow("Name") = oSymbol |
||
463 | 4f359afa | Gyusu | |
464 | oDt.Rows.Add(oAddrow) |
||
465 | |||
466 | Next |
||
467 | Next |
||
468 | |||
469 | End If |
||
470 | End Function |
||
471 | |||
472 | |||
473 | |||
474 | Private Function LoadPipeInXml(ByVal sXmlPath As String) As DataTable |
||
475 | Try |
||
476 | Dim oDt As DataTable = LoadPipe_DT() |
||
477 | Dim oElement As XElement = XElement.Load(sXmlPath) |
||
478 | If oElement IsNot Nothing Then |
||
479 | Dim DWGElement As XElement = oElement.Element("DWGNAME") |
||
480 | Dim DWGNAME = DWGElement.Value |
||
481 | Dim sXY As XElement = oElement.Element("SIZE") |
||
482 | Dim sSize = sXY.Value |
||
483 | Dim oSplitDWGPos As String() = sSize.Split(",") |
||
484 | |||
485 | If IsNumeric(oSplitDWGPos(0)) Then |
||
486 | _IMG_X = Double.Parse(oSplitDWGPos(0)) |
||
487 | End If |
||
488 | If IsNumeric(oSplitDWGPos(1)) Then |
||
489 | _IMG_Y = Double.Parse(oSplitDWGPos(1)) |
||
490 | End If |
||
491 | |||
492 | For Each pipes As Object In oElement.Elements("IMGLINES") |
||
493 | For Each pipe As Object In pipes.Elements("IMGLINE") |
||
494 | Dim oAddrow As DataRow = oDt.NewRow() |
||
495 | Dim oObj As XElement = pipe.Element("ITEM") |
||
496 | Dim oItem = oObj.Value |
||
497 | ' Dim oSymbolPath As String = "\" + oSymbol + "\" + oClass + "\" + oType + "\" + oItem + ".sym" |
||
498 | Dim oSymbolPath As String = GetSymbolMapping(oItem) |
||
499 | oObj = pipe.Element("START") |
||
500 | Dim oStartPoint = oObj.Value |
||
501 | Dim oSplitPos As String() = oStartPoint.Split(",") |
||
502 | Dim oStartpos_X As Double = 0.0 |
||
503 | Dim oStartpos_Y As Double = 0.0 |
||
504 | If IsNumeric(oSplitPos(0)) Then |
||
505 | oStartpos_X = Double.Parse(oSplitPos(0)) |
||
506 | End If |
||
507 | If IsNumeric(oSplitPos(1)) Then |
||
508 | oStartpos_Y = Double.Parse(oSplitPos(1)) |
||
509 | End If |
||
510 | |||
511 | ConvertPoint(oStartpos_X, oStartpos_Y, _DWG_X, _DWG_Y) |
||
512 | oObj = pipe.Element("END") |
||
513 | Dim oEndPoint = oObj.Value |
||
514 | oSplitPos = oEndPoint.Split(",") |
||
515 | Dim oEndpos_X As Double = 0.0 |
||
516 | Dim oEndpos_Y As Double = 0.0 |
||
517 | If IsNumeric(oSplitPos(0)) Then |
||
518 | oEndpos_X = Double.Parse(oSplitPos(0)) |
||
519 | End If |
||
520 | If IsNumeric(oSplitPos(1)) Then |
||
521 | oEndpos_Y = Double.Parse(oSplitPos(1)) |
||
522 | End If |
||
523 | ConvertPoint(oEndpos_X, oEndpos_Y, _DWG_X, _DWG_Y) |
||
524 | |||
525 | oAddrow("start_x") = oStartpos_X '+ 0.05 |
||
526 | oAddrow("start_y") = oStartpos_Y |
||
527 | oAddrow("end_x") = oEndpos_X |
||
528 | oAddrow("end_y") = oEndpos_Y |
||
529 | oAddrow("Symbol") = oSymbolPath |
||
530 | oDt.Rows.Add(oAddrow) |
||
531 | |||
532 | |||
533 | Next |
||
534 | Next |
||
535 | |||
536 | End If |
||
537 | |||
538 | |||
539 | Return oDt |
||
540 | Catch ex As Exception |
||
541 | Return Nothing |
||
542 | End Try |
||
543 | End Function |
||
544 | |||
545 | |||
546 | Private Sub ConvertPoint(ByRef dX As Double, ByRef dY As Double, ByVal dDwgX As Double, ByVal dDwgY As Double) |
||
547 | |||
548 | Dim calcx As Double = 0 |
||
549 | Dim calcy As Double = 0 |
||
550 | calcx = (dX * _DWG_X) / dDwgX 'Math.Round((dX * _DWG_X) / dDwgX, 2) |
||
551 | calcy = _DWG_Y - (dY * _DWG_Y) / dDwgY '_DWG_Y - Math.Round((dY * _DWG_Y) / dDwgY, 2) |
||
552 | dX = calcx |
||
553 | dY = calcy |
||
554 | End Sub |
||
555 | |||
556 | |||
557 | |||
558 | |||
559 | Private Function AutoConverting(ByVal oPipe_Dt As DataTable, ByVal oSymbol_Dt As DataTable) As Boolean |
||
560 | Dim iSymbolcount = 0 |
||
561 | Dim datasource As LMADataSource |
||
562 | datasource = _Placement.PIDDataSource |
||
563 | Dim iPipecnt As Integer = 0 |
||
564 | |||
565 | For Each oRow As DataRow In oPipe_Dt.Rows |
||
566 | Dim oposition As String = oRow("position").ToString() |
||
567 | Dim oSymbol As String = oRow("Symbol").ToString() |
||
568 | Dim oSplitStr As String() = Split(oposition, " ") |
||
569 | Dim objConnector As LMConnector |
||
570 | Dim objInputs As PlaceRunInputs |
||
571 | objInputs = New PlaceRunInputs |
||
572 | Dim oDwg_x As Double = 9933 |
||
573 | Dim oDwg_y As Double = 7016 |
||
574 | For Each sposition As String In oSplitStr |
||
575 | Dim opointstr As String() = Split(sposition, ",") |
||
576 | |||
577 | If (opointstr.Length > 1) Then |
||
578 | If IsNumeric(opointstr(0)) And IsNumeric(opointstr(1)) Then |
||
579 | Dim ox As Double = opointstr(0) |
||
580 | Dim oy As Double = opointstr(1) |
||
581 | ConvertPoint(ox, oy, oDwg_x, oDwg_y) |
||
582 | objInputs.AddPoint(ox, oy) |
||
583 | End If |
||
584 | End If |
||
585 | Next |
||
586 | Dim objItem As LMAItem |
||
587 | objItem = _Placement.PIDCreateItem(oSymbol) |
||
588 | objConnector = _Placement.PIDPlaceRun(objItem, objInputs) |
||
589 | |||
590 | 'Dim objPipeRun As LMPipeRun = datasource.GetPipeRun(objConnector.ModelItemID) |
||
591 | 'objPipeRun.Attributes("OperFluidCode").Value = "AFS" |
||
592 | 'objPipeRun.Commit() |
||
593 | iPipecnt = iPipecnt + 1 |
||
594 | |||
595 | Next |
||
596 | |||
597 | |||
598 | For Each oRow As DataRow In oSymbol_Dt.Rows |
||
599 | |||
600 | Dim oSymbol As String = oRow("Symbol").ToString() |
||
601 | Dim oType As String = oRow("Name").ToString() |
||
602 | Dim oText As String = oRow("Text").ToString() |
||
603 | Dim oX As Double = 0.0 |
||
604 | Dim oY As Double = 0.0 |
||
605 | If IsNumeric(oRow("x").ToString()) Then |
||
606 | oX = Double.Parse(oRow("x").ToString()) |
||
607 | End If |
||
608 | If IsNumeric(oRow("y").ToString()) Then |
||
609 | oY = Double.Parse(oRow("y").ToString()) |
||
610 | End If |
||
611 | Dim oAngle As Double = 0.0 |
||
612 | If IsNumeric(oRow("Angle").ToString()) Then |
||
613 | oAngle = Double.Parse(oRow("Angle").ToString()) |
||
614 | End If |
||
615 | ' oSymbol = "\INSTRUMENTation\SYSTEM FUNCTIONS\D C S\DCS FUNC ACCESS IN PRIME LOC.sym" |
||
616 | If oSymbol <> "" Then |
||
617 | If oType = "INSTRUMENT" Then |
||
618 | Dim sTagsuffix As String = "" |
||
619 | Dim sTagSequenceNo As String = "" |
||
620 | Dim sMeasuredVariableCode As String = "" |
||
621 | Dim sInstrumentTypeModifier As String = "" |
||
622 | If oText <> "" Then |
||
623 | If oText.Contains(",") Then |
||
624 | Dim splitstr() As String = oText.Split(",") |
||
625 | For i = 0 To splitstr.Count - 1 |
||
626 | If i = 0 Then |
||
627 | sMeasuredVariableCode = Mid(splitstr(i), 1, 1) |
||
628 | sTagSequenceNo = Mid(splitstr(i), 2, Len(splitstr(i))) |
||
629 | Else |
||
630 | If Len(splitstr(i)) = 1 Then |
||
631 | sInstrumentTypeModifier = splitstr(i) |
||
632 | ElseIf Len(splitstr(i)) = 0 Then |
||
633 | |||
634 | ElseIf Len(splitstr(i)) > 1 Then |
||
635 | sInstrumentTypeModifier = Mid(splitstr(i), 1, 1) |
||
636 | sTagsuffix = Mid(splitstr(i), 2, Len(splitstr(i))) |
||
637 | End If |
||
638 | End If |
||
639 | Next |
||
640 | Else |
||
641 | sMeasuredVariableCode = Mid(oText, 1, 1) |
||
642 | sTagSequenceNo = Mid(oText, 2, Len(oText)) |
||
643 | End If |
||
644 | |||
645 | End If |
||
646 | |||
647 | Dim objInstrSym As LMSymbol |
||
648 | objInstrSym = _Placement.PIDPlaceSymbol(oSymbol, oX, oY, , oAngle) |
||
649 | Dim objInstr As LMInstrument |
||
650 | objInstr = datasource.GetInstrument(objInstrSym.ModelItemID) |
||
651 | |||
652 | Dim objItem As LMAItem |
||
653 | objItem = _Placement.PIDCreateItem(oSymbol) |
||
654 | |||
655 | 'Dim objInstrClass As LMInstrument |
||
656 | 'objInstrClass = datasource.GetInstrument(objItem.Id) |
||
657 | objInstr.Attributes("MeasuredVariableCode").Value = sMeasuredVariableCode |
||
658 | objInstr.Attributes("InstrumentTypeModifier").Value = sInstrumentTypeModifier |
||
659 | objInstr.Attributes("TagSuffix").Value = sTagsuffix |
||
660 | objInstr.Attributes("TagSequenceNo").Value = sTagSequenceNo |
||
661 | objInstr.Commit() |
||
662 | |||
663 | |||
664 | 'objItem = objPlacement.PIDCreateItem(oSymbol) |
||
665 | 'Dim objInstrLoop As LMInstrLoop |
||
666 | 'objInstrLoop = datasource.GetInstrLoop(objItem.Id) |
||
667 | |||
668 | 'objInstrLoop.Commit() |
||
669 | |||
670 | ElseIf oType = "GATE VALVE WITH PLUG" Then |
||
671 | |||
672 | ElseIf oType = "MEDIUM 1D 1TO1" Then |
||
673 | |||
674 | 1: |
||
675 | Else |
||
676 | _Placement.PIDPlaceSymbol(oSymbol, oX, oY, , oAngle) |
||
677 | |||
678 | End If |
||
679 | iSymbolcount = iSymbolcount + 1 |
||
680 | Else |
||
681 | End If |
||
682 | |||
683 | Next |
||
684 | 'For Each oRow As DataRow In oPipe_Dt.Rows |
||
685 | ' Dim oSymbol As String = oRow("Symbol").ToString() |
||
686 | ' Dim oStartPos_x As Double = 0.0 |
||
687 | ' Dim oStartPos_y As Double = 0.0 |
||
688 | ' Dim oEndPos_x As Double = 0.0 |
||
689 | ' Dim oEndPos_y As Double = 0.0 |
||
690 | ' If IsNumeric(oRow("start_x").ToString()) Then |
||
691 | ' oStartPos_x = Double.Parse(oRow("start_x").ToString()) |
||
692 | ' End If |
||
693 | ' If IsNumeric(oRow("start_y").ToString()) Then |
||
694 | ' oStartPos_y = Double.Parse(oRow("start_y").ToString()) |
||
695 | ' End If |
||
696 | |||
697 | ' If IsNumeric(oRow("end_x").ToString()) Then |
||
698 | ' oEndPos_x = Double.Parse(oRow("end_x").ToString()) |
||
699 | ' End If |
||
700 | ' If IsNumeric(oRow("end_y").ToString()) Then |
||
701 | ' oEndPos_y = Double.Parse(oRow("end_y").ToString()) |
||
702 | ' End If |
||
703 | ' Dim objConnector As LMConnector |
||
704 | ' Dim objInputs As PlaceRunInputs |
||
705 | ' objInputs = New PlaceRunInputs |
||
706 | ' objInputs.AddPoint(oStartPos_x, oStartPos_y) |
||
707 | ' objInputs.AddPoint(oEndPos_x, oEndPos_y) |
||
708 | ' Dim objItem As LMAItem |
||
709 | ' objItem = objPlacement.PIDCreateItem(oSymbol) |
||
710 | ' objConnector = objPlacement.PIDPlaceRun(objItem, objInputs) |
||
711 | ' 'Dim objPipeRun As LMPipeRun = datasource.GetPipeRun(objConnector.ModelItemID) |
||
712 | ' 'objPipeRun.Attributes("OperFluidCode").Value = "AFS" |
||
713 | ' 'objPipeRun.Commit() |
||
714 | ' pipecnt = pipecnt + 1 |
||
715 | |||
716 | 'Next |
||
717 | |||
718 | |||
719 | |||
720 | |||
721 | MsgBox("symbol: " & iSymbolcount & "개, pipe : " & iPipecnt & "개 변환완료") |
||
722 | End Function |
||
723 | |||
724 | |||
725 | Private Sub Tree_XMLFiles_AfterCheck(sender As Object, e As TreeViewEventArgs) Handles Tree_XMLFiles.AfterCheck |
||
726 | If e.Node.Checked = True Then |
||
727 | For Each oNode As TreeNode In e.Node.Nodes |
||
728 | oNode.Checked = True |
||
729 | Next |
||
730 | Else |
||
731 | For Each oNode As TreeNode In e.Node.Nodes |
||
732 | oNode.Checked = False |
||
733 | Next |
||
734 | End If |
||
735 | End Sub |
||
736 | |||
737 | Private Sub LoadDB(ByVal sDBPath As String) |
||
738 | |||
739 | Try |
||
740 | Dim sConnectionstring As String = "Data Source=" & sDBPath & ";Version=3;Synchronous=Off;UTF8Encoding=True;" |
||
741 | Dim conn As SQLiteConnection = New SQLiteConnection(sConnectionstring) |
||
742 | conn.Open() |
||
743 | Dim sQuery As String = "Select * from Mapping" |
||
744 | Dim cmd As SQLiteCommand = conn.CreateCommand() |
||
745 | Dim adapter As SQLiteDataAdapter = New SQLiteDataAdapter(sQuery, conn) |
||
746 | Dim oDataSet As DataSet = New DataSet() |
||
747 | adapter.Fill(oDataSet) |
||
748 | _DB = oDataSet.Tables(0) |
||
749 | Catch ex As Exception |
||
750 | |||
751 | End Try |
||
752 | |||
753 | |||
754 | End Sub |
||
755 | |||
756 | 962b2464 | Gyusu | Dim first_start As Boolean = False |
757 | Dim folders_path As String |
||
758 | |||
759 | Private Sub Tree_XMLFiles_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles Tree_XMLFiles.AfterSelect |
||
760 | If first_start = False Then Exit Sub |
||
761 | Dim pa = e.Node.FullPath.ToString |
||
762 | |||
763 | printfilesfolders_here(pa, e.Node) |
||
764 | |||
765 | displayfiles(pa) |
||
766 | |||
767 | ''be careful ! displayfils comes BEFORE you change // to / in pa !!! |
||
768 | Dim coco As String = "" |
||
769 | coco = pa.ToString |
||
770 | coco = coco.Replace("\\", "\") |
||
771 | Me.Text = coco |
||
772 | folders_path = coco |
||
773 | End Sub |
||
774 | |||
775 | Sub printfilesfolders_here(ByVal path As String, ByRef itree As TreeNode) |
||
776 | |||
777 | Dim foldername As String |
||
778 | Dim filename As String |
||
779 | itree.Nodes.Clear() |
||
780 | On Error GoTo eee |
||
781 | For Each foldername In Directory.GetDirectories(path) |
||
782 | On Error GoTo eee |
||
783 | Dim jj = foldername.LastIndexOf("\") |
||
784 | Dim jj1 = foldername.Length - jj |
||
785 | Dim foldr = foldername.Substring((jj + 1), (jj1 - 1)) |
||
786 | itree.Nodes.Add(foldr, foldr) |
||
787 | Next ' if you put this next at the end of procedure recursive will be done on first folder only |
||
788 | Exit Sub |
||
789 | eee: |
||
790 | End Sub |
||
791 | |||
792 | Sub displayfiles(ByVal path As String) |
||
793 | |||
794 | Dim lvItem As ListViewItem |
||
795 | ListView_File.Items.Clear() |
||
796 | Me.ToolStripProgressBar1.Visible = True |
||
797 | ' lvItem = ListView.Items.Add("ListViewItem1") |
||
798 | ' lvItem.SubItems.AddRange(New String() {"Size", "extention", "date modified"}) |
||
799 | |||
800 | Dim filename As String |
||
801 | On Error GoTo wwq |
||
802 | ' Directory.GetFiles(path).Length. |
||
803 | Me.ToolStripProgressBar1.Maximum = Directory.GetFiles(path).Length + 1 |
||
804 | Me.ToolStripProgressBar1.Value = 0 |
||
805 | For Each filename In Directory.GetFiles(path) |
||
806 | On Error GoTo wwq |
||
807 | Dim jj_ = filename.LastIndexOf("\") |
||
808 | Dim jj1_ = filename.Length - jj_ |
||
809 | Dim fil = filename.Substring((jj_ + 1), (jj1_ - 1)) |
||
810 | If fil.Contains(".xml") Then |
||
811 | Me.ToolStripProgressBar1.Value = Me.ToolStripProgressBar1.Value + 1 |
||
812 | ' ListView.Items.Add(fil, 13) ''old 13 28 |
||
813 | lvItem = ListView_File.Items.Add(fil, 13) '2 5 7 work, 0 alos |
||
814 | Dim infoReader As System.IO.FileInfo |
||
815 | infoReader = My.Computer.FileSystem.GetFileInfo(filename) |
||
816 | ' lvItem.SubItems.AddRange(New String() {infoReader.Length.ToString + " Byte", infoReader.Extension.ToString, infoReader.LastWriteTime}) |
||
817 | lvItem.SubItems.AddRange(New String() {infoReader.LastWriteTime}) |
||
818 | ListView_File.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent) |
||
819 | End If |
||
820 | |||
821 | |||
822 | Next |
||
823 | Me.ToolStripProgressBar1.Visible = False |
||
824 | Exit Sub |
||
825 | wwq: |
||
826 | Me.ToolStripProgressBar1.Visible = False |
||
827 | MsgBox(Err.Description) |
||
828 | End Sub |
||
829 | |||
830 | Private Sub Tree_XMLFiles_MouseMove(sender As Object, e As MouseEventArgs) Handles Tree_XMLFiles.MouseMove |
||
831 | first_start = True |
||
832 | End Sub |
||
833 | |||
834 | Private Sub ListView_File_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListView_File.SelectedIndexChanged |
||
835 | Dim indexes As ListView.SelectedIndexCollection = |
||
836 | Me.ListView_File.SelectedIndices |
||
837 | Dim index As Integer |
||
838 | |||
839 | For Each index In indexes |
||
840 | 'On Error Resume Next |
||
841 | If folders_path.EndsWith("\") = True Then |
||
842 | Me.Status_Main.Items(0).Text = folders_path + (Me.ListView_File.Items(index).Text) |
||
843 | 'On Error Resume Next |
||
844 | Else |
||
845 | Me.Status_Main.Items(0).Text = folders_path + "\" + (Me.ListView_File.Items(index).Text) |
||
846 | End If |
||
847 | |||
848 | Dim infoReader As System.IO.FileInfo |
||
849 | infoReader = My.Computer.FileSystem.GetFileInfo(Me.Status_Main.Items(0).Text) |
||
850 | Me.Status_Main.Items(1).Text = " Created : " + infoReader.CreationTime.ToString + " " + infoReader.Attributes.ToString |
||
851 | Next |
||
852 | End Sub |
||
853 | |||
854 | Private Sub Procees() |
||
855 | Dim indexes As ListView.SelectedIndexCollection = |
||
856 | Me.ListView_File.SelectedIndices |
||
857 | Dim index As Integer |
||
858 | |||
859 | For Each index In indexes |
||
860 | 'On Error Resume Next |
||
861 | If folders_path.EndsWith("\") = True Then |
||
862 | On Error GoTo out |
||
863 | Me.Status_Main.Items(0).Text = folders_path + (Me.ListView_File.Items(index).Text) |
||
864 | On Error GoTo out |
||
865 | 'On Error Resume Next |
||
866 | Else |
||
867 | Me.Status_Main.Items(0).Text = folders_path + "\" + (Me.ListView_File.Items(index).Text) |
||
868 | On Error GoTo out |
||
869 | End If |
||
870 | |||
871 | Dim infoReader As System.IO.FileInfo |
||
872 | infoReader = My.Computer.FileSystem.GetFileInfo(Me.Status_Main.Items(0).Text) |
||
873 | Me.Status_Main.Items(1).Text = " Created : " + infoReader.CreationTime.ToString + " " + infoReader.Attributes.ToString |
||
874 | On Error GoTo out |
||
875 | MsgBox(Me.Status_Main.Items(0).Text + " is processed") |
||
876 | On Error GoTo out |
||
877 | Next |
||
878 | Exit Sub |
||
879 | out: |
||
880 | MsgBox(Err.Description) |
||
881 | End Sub |
||
882 | |||
883 | 31d47a80 | Gyusu | Private Function LoadAllDrawing() As DataTable |
884 | Dim oDt As DataTable = Drawing_Dt() |
||
885 | _objPIDADrawing = CreateObject("PIDAutomation.Application") |
||
886 | For Each objDrawing In _objPIDADrawing.Drawings |
||
887 | Dim sName As String = objDrawing.Attributes("Name").Value |
||
888 | Dim sPath As String = objDrawing.Attributes("Path").Value |
||
889 | Dim oAddRow As DataRow = oDt.NewRow() |
||
890 | oAddRow("Name") = sName |
||
891 | oAddRow("Path") = sPath |
||
892 | oDt.Rows.Add(oAddRow) |
||
893 | Next |
||
894 | Return oDt |
||
895 | End Function |
||
896 | |||
897 | Private Sub TestOpen() |
||
898 | Dim datasource As LMADataSource |
||
899 | Dim objPIDAutoApp As Object |
||
900 | Dim objPIDADrawing As Object |
||
901 | Dim objDrawing As Object 'Drawing |
||
902 | 'Dim objDrawing As LMDrawing |
||
903 | 'Dim objDrawings As LMDrawings |
||
904 | |||
905 | datasource = New LMADataSource |
||
906 | |||
907 | ' objDrawings = New LMDrawings |
||
908 | 'objDrawings.Collect(datasource) |
||
909 | objPIDAutoApp = CreateObject("PIDAutomation.Application") |
||
910 | |||
911 | For Each objDrawing In objPIDAutoApp.Drawings |
||
912 | objDrawing.CloseDrawing(True) |
||
913 | Next |
||
914 | Try |
||
915 | objPIDADrawing = objPIDAutoApp.Drawings.OpenDrawing("UY1-K-2000_P1_300dpi_0321_TEST_1") |
||
916 | Catch ex As Exception |
||
917 | Process.Start("\\desktop-9vlq0dp\Test02Site\P188943_SPPID_Plant\Plant_Hierarchy\8121\8121-1\UY1-K-2000_P1_300dpi_0321_TEST_1.pid") |
||
918 | End Try |
||
919 | |||
920 | |||
921 | |||
922 | Dim sType As Type = objPIDAutoApp.GetType() |
||
923 | Dim iCount As Integer = 0 |
||
924 | ' Dim sPath As String = "\\desktop-9vlq0dp\Test02Site\P188943_SPPID_Plant\Plant_Hierarchy\8121\8121-1\188943-8121-PR-DW-011001.pid" |
||
925 | |||
926 | objPIDADrawing = objPIDAutoApp.Drawings.OpenDrawing("1") |
||
927 | |||
928 | For Each objDrawing In objPIDAutoApp.Drawings |
||
929 | If objDrawing.Attributes("ItemStatus").Index = 1 Then '1 stands for Active |
||
930 | Try |
||
931 | |||
932 | Dim sName As String = objDrawing.Attributes("Name").Value |
||
933 | |||
934 | iCount = iCount + 1 |
||
935 | If sName = "UY1-K-2000_P1_300dpi_0321_TEST_1" Then |
||
936 | objPIDADrawing = objPIDAutoApp.Drawings.OpenDrawing(objDrawing.Attributes("Name")) |
||
937 | objPIDADrawing = objPIDAutoApp.Drawings.OpenDrawing("\8121\8121-1\UY1-K-2000_P1_300dpi_0321_TEST_1.pid") |
||
938 | If Not objPIDADrawing Is Nothing Then |
||
939 | objPIDADrawing.CloseDrawing() |
||
940 | End If |
||
941 | End If |
||
942 | |||
943 | |||
944 | Catch ex As Exception |
||
945 | |||
946 | End Try |
||
947 | |||
948 | End If |
||
949 | Next |
||
950 | objPIDAutoApp.Quit |
||
951 | objPIDAutoApp = Nothing |
||
952 | objPIDADrawing = Nothing |
||
953 | objDrawing = Nothing |
||
954 | ' objDrawings = Nothing |
||
955 | End Sub |
||
956 | 962b2464 | Gyusu | Private Sub Btn_Convert_Click(sender As Object, e As EventArgs) Handles Btn_Convert.Click |
957 | 31d47a80 | Gyusu | |
958 | 962b2464 | Gyusu | If ListView_File.Items.Count > 0 Then |
959 | 31d47a80 | Gyusu | Dim oDwg_Dt As DataTable = LoadAllDrawing() |
960 | |||
961 | 962b2464 | Gyusu | For Each oItem As ListViewItem In ListView_File.Items |
962 | If oItem.Checked Then |
||
963 | Dim sDwgName As String = oItem.Text |
||
964 | Dim sDwgNo As String = oItem.Text |
||
965 | Dim oDwgPath As String = "" |
||
966 | oDwgPath = Tree_XMLFiles.SelectedNode.FullPath + "\" + sDwgName |
||
967 | 1229ad76 | Gyusu | |
968 | Dim oPipe_Dt As DataTable = Nothing 'LoadPipeInXml(oDwgPath) |
||
969 | 962b2464 | Gyusu | Dim oSymbol_Dt As DataTable = LoadSymbolInXml(oDwgPath) |
970 | '도면 생성 |
||
971 | 1229ad76 | Gyusu | If CreateDwg(sDwgName) Then |
972 | 962b2464 | Gyusu | 'AutoConverting |
973 | AutoConverting(oPipe_Dt, oSymbol_Dt) |
||
974 | End If |
||
975 | End If |
||
976 | 4f359afa | Gyusu | |
977 | 962b2464 | Gyusu | Next |
978 | End If |
||
979 | End Sub |
||
980 | 4f359afa | Gyusu | End Class |