프로젝트

일반

사용자정보

개정판 3b7a4470

ID3b7a4470a9fd0c23cfa0c4d4e585fb4ca8b5786f
상위 76f465d0
하위 7ed048c0, 73bfb231

Gyusu 이(가) 6년 이상 전에 추가함

Branch Rule 업데이트

차이점 보기:

DTI_PID/SPPIDConverter/Main.vb
1657 1657
                    For Each oSymbolNode As TreeNode In oNode.Nodes
1658 1658
                        Dim sUid As String = oSymbolNode.Name
1659 1659
                        'Dim oSelectRows() As DataRow = oDt.Select("[" & _XML_SYMBOL_UID & "] = '" & sUid &
1660
                        '                                       "' And [" & _XML_SYMBOL_DRAWING_TF & "] = 'False'")
1661
                        Dim oSelectRows() As DataRow = oDt.Select("[" & _XML_SYMBOL_UID & "] = '" & sUid & "'")
1662
                        If oSelectRows.Length = 1 Then
1663
                            oSelectRows(0)(_XML_SYMBOL_DRAWING_TF) = "FALSE"
1660
                        '                                      "' And [" & _XML_SYMBOL_DRAWING_TF & "] = 'False'")
1661
                        If oSymbolNode.Checked Then
1662
                            Dim oSelectRows() As DataRow = oDt.Select("[" & _XML_SYMBOL_UID & "] = '" & sUid & "'")
1663
                            If oSelectRows.Length = 1 Then
1664
                                oSelectRows(0)(_XML_SYMBOL_DRAWING_TF) = "FALSE"
1664 1665

  
1665
                            If oSymbolNode.Checked Then
1666
                                oSelectRows(0)(_XML_SYMBOL_Check) = "TRUE"
1667
                            Else
1668
                                oSelectRows(0)(_XML_SYMBOL_Check) = "FALSE"
1666
                                If oSymbolNode.Checked Then
1667

  
1668
                                    oSelectRows(0)(_XML_SYMBOL_Check) = "TRUE"
1669
                                Else
1670
                                    oSelectRows(0)(_XML_SYMBOL_Check) = "FALSE"
1671
                                End If
1669 1672
                            End If
1673

  
1670 1674
                        End If
1671 1675

  
1672 1676
                    Next
......
2536 2540

  
2537 2541
            Dim sConn1LineNo As String = ""
2538 2542
            Dim sConn2LineNo As String = ""
2543
            Dim oLMConnector As LMConnector = Nothing
2539 2544
            Dim oStartLMConnector As LMConnector = Nothing
2540 2545
            Dim oEndLMConnector As LMConnector = Nothing
2541 2546
            Dim oLMSymbol1 As LMSymbol = Nothing
......
2566 2571
            Dim dPreConnX As Double = 0
2567 2572
            Dim dPreConnY As Double = 0
2568 2573

  
2569
            CheckConnectionLine(oConn1Rows, dStart_Dwg_x, dStart_Dwg_y, oStartLMConnector, dPreConnX, dPreConnY)
2570
            If oStartLMConnector Is Nothing Then
2571
                oLMSymbol1 = CheckConnectionSymbolToLine(oConn1Rows, dStart_Dwg_x, dStart_Dwg_y, dCenterPos_x, dCenterPos_y, oStartLMConnector)
2572
                If oLMSymbol1 IsNot Nothing Then
2573
                    sConn1Type = "Symbol"
2574
                Else
2575
                    sConn1Type = ""
2576
                End If
2577
            Else
2578
                sConn1Type = "Line"
2579
                sPreConn1Direction = oConn1Rows(0)(_XML_LINE_Direction).ToString()
2580
                If sDirection = sPreConn1Direction Then
2581
                    If sDirection = "X" Then
2582
                        dStart_Dwg_y = oConn2Rows(0)(_XML_LINE_DWG_STARTPOINT_Y)
2583
                        dEnd_Dwg_y = oConn2Rows(0)(_XML_LINE_DWG_STARTPOINT_Y)
2574

  
2575
            Dim sTargetDirection As String = CheckBranchLine(oLine_Dt.Rows, dStart_Dwg_x, dStart_Dwg_y, dEnd_Dwg_x, dEnd_Dwg_y, oLMConnector)
2576

  
2577
            If sTargetDirection = "" Then
2578
                CheckConnectionLine(oConn1Rows, dStart_Dwg_x, dStart_Dwg_y, oStartLMConnector, dPreConnX, dPreConnY)
2579

  
2580
                If oStartLMConnector Is Nothing Then
2581

  
2582
                    oLMSymbol1 = CheckConnectionSymbolToLine(oConn1Rows, dStart_Dwg_x, dStart_Dwg_y, dCenterPos_x, dCenterPos_y, oStartLMConnector)
2583
                    If oLMSymbol1 IsNot Nothing Then
2584
                        sConn1Type = "Symbol"
2584 2585
                    Else
2585
                        dStart_Dwg_x = oConn2Rows(0)(_XML_LINE_DWG_STARTPOINT_X)
2586
                        dEnd_Dwg_x = oConn2Rows(0)(_XML_LINE_DWG_STARTPOINT_X)
2586
                        sConn1Type = ""
2587
                    End If
2588
                Else
2589
                    sConn1Type = "Line"
2590
                    sPreConn1Direction = oConn1Rows(0)(_XML_LINE_Direction).ToString()
2591
                    If sDirection = sPreConn1Direction Then
2592
                        If sDirection = "X" Then
2593
                            dStart_Dwg_y = oConn2Rows(0)(_XML_LINE_DWG_STARTPOINT_Y)
2594
                            dEnd_Dwg_y = oConn2Rows(0)(_XML_LINE_DWG_STARTPOINT_Y)
2595
                        Else
2596
                            dStart_Dwg_x = oConn2Rows(0)(_XML_LINE_DWG_STARTPOINT_X)
2597
                            dEnd_Dwg_x = oConn2Rows(0)(_XML_LINE_DWG_STARTPOINT_X)
2598
                        End If
2587 2599
                    End If
2588
                End If
2589 2600

  
2590
            End If
2591
            CheckConnectionLine(oConn2Rows, dEnd_Dwg_x, dEnd_Dwg_y, oEndLMConnector, dPreConnX, dPreConnY)
2592
            If oEndLMConnector Is Nothing Then
2593
                oLMSymbol2 = CheckConnectionSymbolToLine(oConn2Rows, dEnd_Dwg_x, dEnd_Dwg_y, dCenterPos_x, dCenterPos_y, oEndLMConnector)
2594
                If oLMSymbol2 IsNot Nothing Then
2595
                    sConn2Type = "Symbol"
2596 2601
                End If
2597
            Else
2598
                sConn2Type = "Line"
2599
                sPreConn2Direction = oConn2Rows(0)(_XML_LINE_Direction).ToString()
2600
                If sDirection = sPreConn2Direction Then
2601
                    If sDirection = "X" Then
2602
                        dStart_Dwg_y = oConn2Rows(0)(_XML_LINE_DWG_STARTPOINT_Y)
2603
                        dEnd_Dwg_y = oConn2Rows(0)(_XML_LINE_DWG_STARTPOINT_Y)
2604
                    Else
2605
                        dStart_Dwg_x = oConn2Rows(0)(_XML_LINE_DWG_STARTPOINT_X)
2606
                        dEnd_Dwg_x = oConn2Rows(0)(_XML_LINE_DWG_STARTPOINT_X)
2602
                CheckConnectionLine(oConn2Rows, dEnd_Dwg_x, dEnd_Dwg_y, oEndLMConnector, dPreConnX, dPreConnY)
2603
                If oEndLMConnector Is Nothing Then
2604
                    oLMSymbol2 = CheckConnectionSymbolToLine(oConn2Rows, dEnd_Dwg_x, dEnd_Dwg_y, dCenterPos_x, dCenterPos_y, oEndLMConnector)
2605
                    If oLMSymbol2 IsNot Nothing Then
2606
                        sConn2Type = "Symbol"
2607
                    End If
2608
                Else
2609
                    sConn2Type = "Line"
2610
                    sPreConn2Direction = oConn2Rows(0)(_XML_LINE_Direction).ToString()
2611
                    If sDirection = sPreConn2Direction Then
2612
                        If sDirection = "X" Then
2613
                            dStart_Dwg_y = oConn2Rows(0)(_XML_LINE_DWG_STARTPOINT_Y)
2614
                            dEnd_Dwg_y = oConn2Rows(0)(_XML_LINE_DWG_STARTPOINT_Y)
2615
                        Else
2616
                            dStart_Dwg_x = oConn2Rows(0)(_XML_LINE_DWG_STARTPOINT_X)
2617
                            dEnd_Dwg_x = oConn2Rows(0)(_XML_LINE_DWG_STARTPOINT_X)
2618
                        End If
2607 2619
                    End If
2608 2620
                End If
2621
            Else
2622
                If sTargetDirection = "START" Then
2623
                    oStartLMConnector = oLMConnector
2624
                    sConn1Type = "Line"
2625
                ElseIf sTargetDirection = "END" Then
2626
                    oEndLMConnector = oLMConnector
2627
                    sConn2Type = "Line"
2628
                End If
2609 2629
            End If
2630

  
2610 2631
            'If iModelingType = 1 Then
2611 2632
            '    If sConn1Type = "Line" Then
2612 2633
            '        CheckConnectionLine(oConn1Rows, dOriginalStart_x, dOriginalStart_y, oStartLMConnector)
......
2819 2840
                                    If oSymbolNode.Checked Then
2820 2841
                                        Try
2821 2842
                                            Dim sUid As String = oSymbolNode.Name
2843
                                            If sUid = "152b5931-e7ed-4fe9-bed8-6c01303567b7" Then
2844
                                                MessageBox.Show("")
2845
                                            End If
2822 2846
                                            Dim sLineNoUid As String = CLineNo.Uid
2823 2847
                                            Dim sReturnUid = sUid
2824 2848
                                            '  FinalModeling(sUid, oLine_Dt, oSymbol_Dt, oAttribute_Dt)
......
2926 2950
                                            Dim sLineNoUid As String = CLineNo.Uid
2927 2951
                                            Dim sReturnUid = sUid
2928 2952
                                            '  FinalModeling(sUid, oLine_Dt, oSymbol_Dt, oAttribute_Dt)
2929
                                            Dim oSymbolRows As DataRow() = oSymbol_Dt.Select("[" & _XML_SYMBOL_UID & "]= '" & sReturnUid & "' And [" & _XML_SYMBOL_DRAWING_TF & "] = 'False' And [" &
2953
                                            Dim oSymbolRows As DataRow() = oSymbol_Dt.Select("[" & _XML_SYMBOL_UID & "]= '" & sReturnUid & "' And [" & _XML_SYMBOL_DRAWING_TF & "] = 'FALSE' And [" &
2930 2954
                                                                                               _XML_SYMBOL_Check & "] = 'TRUE'")
2955

  
2931 2956
                                            If oSymbolRows.Count > 0 Then
2932 2957
                                                sReturnUid = FinalSymbolModeling(oSymbolRows(0), oLine_Dt, oSymbol_Dt, oAttribute_Dt)
2933 2958
                                            Else
......
3537 3562
        Return oLMSymbol
3538 3563
    End Function
3539 3564

  
3565
    ''' <summary>
3566
    ''' 라인과 라인이 만나는점이 브런치점인지 확인, 오차범위내 라인보정
3567
    ''' </summary>
3568
    ''' <param name="oModelingLineRows"></param>
3569
    ''' <param name="dStartX"></param>
3570
    ''' <param name="dStartY"></param>
3571
    ''' <param name="dEndX"></param>
3572
    ''' <param name="dEndY"></param>
3573
    ''' <param name="oLMConnector"></param>
3574
    ''' <returns></returns>
3575
    Private Function CheckBranchLine(ByVal oModelingLineRows As DataRowCollection, ByRef dStartX As Double, ByRef dStartY As Double,
3576
                                     ByRef dEndX As Double, ByRef dEndY As Double, ByRef oLMConnector As LMConnector) As String
3577
        Dim bConnectionFlag As Boolean = False
3578
        Dim sBranchDirection As String = ""
3579
        Try
3580
            For Each oModelrow In oModelingLineRows
3581
                Dim dModelStartX As Double
3582
                Dim dModelStartY As Double
3583
                Dim dModelEndX As Double
3584
                Dim dModelEndY As Double
3585
                Dim dGap As Double = 0.0002
3586
                dModelStartX = oModelrow(_XML_LINE_DWG_STARTPOINT_X)
3587
                dModelStartY = oModelrow(_XML_LINE_DWG_STARTPOINT_Y)
3588
                dModelEndX = oModelrow(_XML_LINE_DWG_ENDPOINT_X)
3589
                dModelEndY = oModelrow(_XML_LINE_DWG_ENDPOINT_Y)
3590

  
3591
                '기존라인이 X축방향이라면 현재선은 Y축방향이 되어야됨
3592
                If Math.Abs(dModelStartX - dModelEndX) > Math.Abs(dModelStartY - dModelEndY) And
3593
                    Math.Abs(dStartX - dEndX) < Math.Abs(dStartY - dEndY) Then
3594

  
3595
                    '기본라인의 X축영역안에 현재선이 있어야됨
3596
                    '      If dModelEndY > dModelStartY Then
3597
                    If (dStartX < dModelEndX And dStartX > dModelStartX) Or
3598
                            (dStartX > dModelEndX And dStartX < dModelStartX) Then
3599
                        '[오차범위 수정]
3600
                        '현재선의 Y축방향이 기존라인의 X축방향을 통과하는지 확인
3601
                        If dStartY < dEndY Then
3602
                            If dEndY > dModelStartY And dModelStartY > dStartY Then
3603
                                If dEndY - dModelStartY > dModelStartY - dStartY Then
3604
                                    '위쪽으로 라인이 나와있을때
3605
                                    '현재선 중 작은 Y좌표를 오차범위만큼 더했을때 기존라인의 Y축보다 큰지확인 
3606
                                    'Y축보다 클경우 작은 Y좌표를 기존라인의 Y축에 맞추고 더한 길이만큼 큰 Y좌표에 더한다.
3607
                                    If dStartY + dGap >= dModelStartY Then
3608
                                        Dim dAddPoint As Double = dModelStartY - dStartY
3609
                                        dEndY = dEndY + dAddPoint
3610
                                        dStartY = dModelStartY
3611
                                        sBranchDirection = "START"
3612
                                    End If
3613
                                Else
3614
                                    '아래쪽으로 라인이 나와있을때
3615
                                    '현재선 중 큰 Y좌표를 오차범위만큼 뺐을때 기존라인의 Y축보다 작은지확인 
3616
                                    'Y축보다 작을경우 큰 Y좌표를 기존라인의 Y축에 맞추고 더한 길이만큼 작은 Y좌표에 뺀다.
3617
                                    If dEndY - dGap >= dModelStartY Then
3618
                                        Dim dAddPoint As Double = dEndY - dModelStartY
3619
                                        dStartY = dStartY - dAddPoint
3620
                                        dEndY = dModelStartY
3621
                                        sBranchDirection = "END"
3622
                                    End If
3623
                                End If
3624
                            Else
3625
                                '현재선의 Y축방향이 기존라인의 X축방향에 못미치는지 확인
3626
                                If dStartY > dModelStartY Then
3627
                                    '기존라인보다 위쪽에 현재선이 있을때
3628
                                    If dStartY - dGap < dModelStartY Then
3629
                                        '오차범위만큼 작은 y좌표를 뺐을때 기존라인보다 아래쪽에 있을경우 오차보정
3630
                                        Dim dAddPoint As Double = dStartY - dModelStartY
3631
                                        dEndY = dEndY - dAddPoint
3632
                                        dStartY = dModelStartY
3633
                                        sBranchDirection = "START"
3634
                                    End If
3635
                                Else
3636
                                    '기존라인보다 아래쪽에 현재선이 있을때
3637
                                    If dEndY + dGap > dModelStartY Then
3638
                                        '오차범위만큼 큰 y좌표를 더했을때 기존라인보다 위쪽에 있을경우 오차보정
3639
                                        Dim dAddPoint As Double = dModelStartY - dEndY
3640
                                        dEndY = dModelStartY
3641
                                        dStartY = dStartY + dAddPoint
3642
                                        sBranchDirection = "END"
3643
                                    End If
3644
                                End If
3645
                            End If
3646
                        Else
3647
                            If dEndY < dModelStartY And dModelStartY < dStartY Then
3648
                                If dModelStartY - dEndY < dStartY - dModelStartY Then
3649
                                    '위쪽으로 라인이 나와있을때
3650
                                    '현재선 중 작은 Y좌표를 오차범위만큼 더했을때 기존라인의 Y축보다 큰지확인 
3651
                                    'Y축보다 클경우 작은 Y좌표를 기존라인의 Y축에 맞추고 더한 길이만큼 큰 Y좌표에 더한다.
3652
                                    If dEndY + dGap >= dModelStartY Then
3653
                                        Dim dAddPoint As Double = dModelStartY - dEndY
3654
                                        dStartY = dStartY + dAddPoint
3655
                                        dEndY = dModelStartY
3656
                                        sBranchDirection = "END"
3657
                                    End If
3658
                                Else
3659
                                    '아래쪽으로 라인이 나와있을때
3660
                                    '현재선 중 큰 Y좌표를 오차범위만큼 뺐을때 기존라인의 Y축보다 작은지확인 
3661
                                    'Y축보다 작을경우 큰 Y좌표를 기존라인의 Y축에 맞추고 더한 길이만큼 작은 Y좌표에 뺀다.
3662
                                    If dStartY - dGap >= dModelStartY Then
3663
                                        Dim dAddPoint As Double = dStartY - dModelStartY
3664
                                        dEndY = dEndY - dAddPoint
3665
                                        dStartY = dModelStartY
3666
                                        sBranchDirection = "START"
3667
                                    End If
3668
                                End If
3669
                            Else
3670
                                If dEndY > dModelStartY Then
3671
                                    '기존라인보다 우측에 현재선이 있을때
3672
                                    If dEndY - dGap < dModelStartY Then
3673
                                        '오차범위만큼 작은 x좌표를 뺐을때 기존라인보다 좌측에 있을경우 오차보정
3674
                                        Dim dAddPoint As Double = dEndY - dModelStartY
3675
                                        dStartY = dStartY - dAddPoint
3676
                                        dEndY = dModelStartY
3677
                                        sBranchDirection = "END"
3678
                                    End If
3679
                                Else
3680
                                    '기존라인보다 좌측에 현재선이 있을때
3681
                                    If dStartY + dGap > dModelStartY Then
3682
                                        '오차범위만큼 큰 x좌표를 더했을때 기존라인보다 우측에 있을경우 오차보정
3683
                                        Dim dAddPoint As Double = dModelStartY - dStartY
3684
                                        dStartY = dModelStartY
3685
                                        dEndY = dEndY + dAddPoint
3686
                                        sBranchDirection = "START"
3687
                                    End If
3688
                                End If
3689
                            End If
3690
                        End If
3691
                    End If
3692
                    '기존라인이 Y축방향이라면 현재선은 X축방향이 되어야됨
3693
                ElseIf Math.Abs(dModelStartX - dModelEndX) < Math.Abs(dModelStartY - dModelEndY) And
3694
                Math.Abs(dStartX - dEndX) > Math.Abs(dStartY - dEndY) Then
3695

  
3696
                    '기본라인의 Y축영역안에 현재선이 있어야됨
3697
                    '      If dModelEndY > dModelStartY Then
3698
                    If (dStartY < dModelEndY And dStartY > dModelStartY) Or
3699
                            (dStartY > dModelEndY And dStartY < dModelStartY) Then
3700
                        '[오차범위 수정]
3701
                        '현재선의 X축방향이 기존라인의 Y축방향을 통과하는지 확인
3702
                        If dStartX < dEndX Then
3703
                            If dEndX > dModelStartX And dModelStartX > dStartX Then
3704
                                If dEndX - dModelStartX > dModelStartX - dStartX Then
3705
                                    '우측으로 라인이 나와있을때
3706
                                    '현재선 중 작은 X좌표를 오차범위만큼 더했을때 기존라인의 X축보다 큰지확인 
3707
                                    'X축보다 클경우 작은 X좌표를 기존라인의 X축에 맞추고 더한 길이만큼 큰 X좌표에 더한다.
3708
                                    If dStartX + dGap >= dModelStartX Then
3709
                                        Dim dAddPoint As Double = dModelStartX - dStartX
3710
                                        dEndX = dEndX + dAddPoint
3711
                                        dStartX = dModelStartX
3712
                                        sBranchDirection = "START"
3713
                                    End If
3714
                                Else
3715
                                    '좌측으로 라인이 나와있을때
3716
                                    '현재선 중 큰 X좌표를 오차범위만큼 뺐을때 기존라인의 X축보다 작은지확인 
3717
                                    'X축보다 작을경우 큰 X좌표를 기존라인의 X축에 맞추고 뺀 길이만큼 작은 X좌표에 뺀다.
3718
                                    If dEndX - dGap >= dModelStartX Then
3719
                                        Dim dAddPoint As Double = dEndX - dModelStartX
3720
                                        dStartX = dStartX - dAddPoint
3721
                                        dEndX = dModelStartX
3722
                                        sBranchDirection = "END"
3723
                                    End If
3724
                                End If
3725
                            Else
3726
                                '현재선의 X축방향이 기존라인의 Y축방향에 못미치는지 확인
3727
                                If dStartX > dModelStartX Then
3728
                                    '기존라인보다 우측에 현재선이 있을때
3729
                                    If dStartX - dGap < dModelStartX Then
3730
                                        '오차범위만큼 작은 x좌표를 뺐을때 기존라인보다 좌측에 있을경우 오차보정
3731
                                        Dim dAddPoint As Double = dStartX - dModelStartX
3732
                                        dEndX = dEndX - dAddPoint
3733
                                        dStartX = dModelStartX
3734
                                        sBranchDirection = "START"
3735
                                    End If
3736
                                Else
3737
                                    '기존라인보다 좌측에 현재선이 있을때
3738
                                    If dEndX + dGap > dModelStartX Then
3739
                                        '오차범위만큼 큰 x좌표를 더했을때 기존라인보다 우측에 있을경우 오차보정
3740
                                        Dim dAddPoint As Double = dModelStartX - dEndX
3741
                                        dEndX = dModelStartX
3742
                                        dStartX = dStartX + dAddPoint
3743
                                        sBranchDirection = "END"
3744
                                    End If
3745
                                End If
3746
                            End If
3747
                        Else
3748
                            If dEndX < dModelStartX And dModelStartX < dStartX Then
3749
                                If dModelStartX - dEndX < dStartX - dModelStartX Then
3750
                                    '우측으로 라인이 나와있을때
3751
                                    '현재선 중 작은 X좌표를 오차범위만큼 더했을때 기존라인의 X축보다 큰지확인 
3752
                                    'X축보다 클경우 작은 X좌표를 기존라인의 X축에 맞추고 더한 길이만큼 큰 X좌에 더한다.
3753
                                    If dEndX + dGap >= dModelStartX Then
3754
                                        Dim dAddPoint As Double = dModelStartX - dEndX
3755
                                        dStartX = dStartX + dAddPoint
3756
                                        dEndX = dModelStartX
3757
                                        sBranchDirection = "END"
3758
                                    End If
3759
                                Else
3760
                                    '좌측으로 라인이 나와있을때
3761
                                    '현재선 중 큰 X좌표를 오차범위만큼 뺐을때 기존라인의 X축보다 작은지확인 
3762
                                    'X축보다 작을경우 큰 X좌표를 기존라인의 X축에 맞추고 뺀 길이만큼 작은 X좌표에 뺀다.
3763
                                    If dStartX - dGap >= dModelStartX Then
3764
                                        Dim dAddPoint As Double = dStartX - dModelStartX
3765
                                        dEndX = dEndX - dAddPoint
3766
                                        dStartX = dModelStartX
3767
                                        sBranchDirection = "START"
3768
                                    End If
3769

  
3770
                                End If
3771
                            Else
3772
                                If dEndX > dModelStartX Then
3773
                                    '기존라인보다 우측에 현재선이 있을때
3774
                                    If dEndX - dGap < dModelStartX Then
3775
                                        '오차범위만큼 작은 x좌표를 뺐을때 기존라인보다 좌측에 있을경우 오차보정
3776
                                        Dim dAddPoint As Double = dEndX - dModelStartX
3777
                                        dStartX = dStartX - dAddPoint
3778
                                        dEndX = dModelStartX
3779
                                        sBranchDirection = "END"
3780
                                    End If
3781
                                Else
3782
                                    '기존라인보다 좌측에 현재선이 있을때
3783
                                    If dStartX + dGap > dModelStartX Then
3784
                                        '오차범위만큼 큰 x좌표를 더했을때 기존라인보다 우측에 있을경우 오차보정
3785
                                        Dim dAddPoint As Double = dModelStartX - dStartX
3786
                                        dStartX = dModelStartX
3787
                                        dEndX = dEndX + dAddPoint
3788
                                        sBranchDirection = "START"
3789
                                    End If
3790
                                End If
3791
                            End If
3792
                        End If
3793
                    End If
3794
                End If
3795
            Next
3796
        Catch ex As Exception
3797
            bConnectionFlag = False
3798
            oLMConnector = Nothing
3799
        End Try
3800
        Return sBranchDirection
3801

  
3802
    End Function
3803

  
3804
    ''' <summary>
3805
    ''' 라인과 특정 포인트에 커넥션을 확인하는 메서드
3806
    ''' </summary>
3807
    ''' <param name="oModelingLineRows"></param>
3808
    ''' <param name="dX"></param>
3809
    ''' <param name="dY"></param>
3810
    ''' <param name="oLMConnector"></param>
3811
    ''' <param name="dPreConnX"></param>
3812
    ''' <param name="dPreConnY"></param>
3813
    ''' <returns></returns>
3814

  
3815

  
3540 3816
    Private Function CheckConnectionLine(ByVal oModelingLineRows() As DataRow, ByVal dX As Double, ByVal dY As Double,
3541 3817
                                  ByRef oLMConnector As LMConnector, ByRef dPreConnX As Double, ByRef dPreConnY As Double) As Boolean
3542 3818
        Dim bConnectionFlag As Boolean = False
......
3548 3824
                Dim dGap As Double = 0.0002
3549 3825
                Dim oRun As LMPipeRun = Nothing
3550 3826
                'Dim sStartPoint As String = oModelrow(_XML_LINE_STARTPOINT)
3551
                '    Dim sEndPoint As String = oModelrow(_XML_LINE_ENDPOINT)
3827
                'Dim sEndPoint As String = oModelrow(_XML_LINE_ENDPOINT)
3552 3828
                Dim dModelStartX As Double
3553 3829
                Dim dModelStartY As Double
3554 3830
                Dim dModelEndX As Double
3555 3831
                Dim dModelEndY As Double
3556
                '    ConvertPointBystring(sStartPoint, dModelStartX, dModelStartY)
3557
                '    ConvertPointBystring(sEndPoint, dModelEndX, dModelEndY)
3558
                '    ConvertPointByImage(dModelStartX, dModelStartY, _IMG_X, _IMG_Y)
3832
                'ConvertPointBystring(sStartPoint, dModelStartX, dModelStartY)
3833
                'ConvertPointBystring(sEndPoint, dModelEndX, dModelEndY)
3834
                'ConvertPointByImage(dModelStartX, dModelStartY, _IMG_X, _IMG_Y)
3559 3835
                'ConvertPointByImage(dModelEndX, dModelEndY, _IMG_X, _IMG_Y)
3560

  
3561 3836
                dModelStartX = oModelrow(_XML_LINE_DWG_STARTPOINT_X)
3562 3837
                dModelStartY = oModelrow(_XML_LINE_DWG_STARTPOINT_Y)
3563 3838
                dModelEndX = oModelrow(_XML_LINE_DWG_ENDPOINT_X)
......
3569 3844
                    oRun = _Placement.PIDDataSource.GetPipeRun(oLMConnector.ModelItemID)
3570 3845
                Catch ex As Exception
3571 3846
                End Try
3572

  
3573

  
3574 3847
                Try
3575 3848
                    If oRun IsNot Nothing Then
3576 3849
                        Dim dResultCalc As Double = -1
......
3590 3863
                            End If
3591 3864
                        Next
3592 3865
                    End If
3593

  
3594 3866
                Catch ex As Exception
3595 3867
                End Try
3596 3868
            Next
3597

  
3598 3869
        Catch ex As Exception
3599 3870
            bConnectionFlag = False
3600 3871
            oLMConnector = Nothing
......
5177 5448
    End Function
5178 5449

  
5179 5450
    Private Sub LoadXmlToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles LoadXmlToolStripMenuItem.Click
5451

  
5180 5452
        If (FolderBrowserDialog1.ShowDialog() = DialogResult.OK) Then
5181 5453
            LoadDB()
5182 5454
            LoadXmlItem(FolderBrowserDialog1.SelectedPath)

내보내기 Unified diff