프로젝트

일반

사용자정보

개정판 73bfb231

ID73bfb231340385ed93dc288cf31efe81e0c8280a
상위 3b7a4470
하위 f3668e2d, 76f5e1a8

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

Branch Rule Update

차이점 보기:

DTI_PID/SPPIDConverter/Main.vb
2705 2705
                    'objInputs.AddConnectorTarget(oEndLMConnector, dEnd_Dwg_x, dOriginalEnd_y)
2706 2706
                End If
2707 2707
                If sConn1Type <> "" And sConn2Type <> "" Then
2708
                    sFirstUid = CheckExistModeling(oConn1Rows(0))
2709
                    sSecondUid = CheckExistModeling(oConn2Rows(0))
2708
                    If oConn1Rows.Count > 0 Then
2709
                        sFirstUid = CheckExistModeling(oConn1Rows(0))
2710
                    End If
2711
                    If oConn2Rows.Count > 0 Then
2712
                        sSecondUid = CheckExistModeling(oConn2Rows(0))
2713
                    End If
2714

  
2710 2715
                ElseIf sConn1Type <> "" And sConn2Type = "" Then
2711
                    sFirstUid = CheckExistModeling(oConn1Rows(0))
2716
                    If oConn1Rows.Count > 0 Then
2717
                        sFirstUid = CheckExistModeling(oConn1Rows(0))
2718
                    End If
2719

  
2712 2720
                ElseIf sConn1Type = "" And sConn2Type <> "" Then
2713
                    sSecondUid = CheckExistModeling(oConn2Rows(0))
2721
                    If oConn2Rows.Count > 0 Then
2722
                        sSecondUid = CheckExistModeling(oConn2Rows(0))
2723
                    End If
2724

  
2714 2725
                End If
2715 2726

  
2716 2727
                If sFirstUid <> "" And sSecondUid <> "" Then
......
2783 2794
                        sID_2 = oCurrentConnector.ModelItemID
2784 2795
                    End If
2785 2796
                    If sID_1 <> "" And sID_2 <> "" Then
2786
                        'Dim objSurvivorItem As LMAItem = Nothing
2787
                        'Dim oPipeRun1 As LMPipeRun = oPidDataSource.GetPipeRun(sID_1)
2788
                        'Dim oPipeRun2 As LMPipeRun = oPidDataSource.GetPipeRun(sID_2)
2789
                        '_Placement.PIDJoinRuns(oPipeRun1, oPipeRun2)
2797
                        Dim objSurvivorItem As LMAItem = Nothing
2798
                        Dim oPipeRun1 As LMPipeRun = oPidDataSource.GetPipeRun(sID_1)
2799
                        Dim oPipeRun2 As LMPipeRun = oPidDataSource.GetPipeRun(sID_2)
2800
                        _Placement.PIDJoinRuns(oPipeRun1, oPipeRun2)
2790 2801
                    End If
2791 2802
                Else
2792 2803
                    sReturnUid = ""
......
3582 3593
                Dim dModelStartY As Double
3583 3594
                Dim dModelEndX As Double
3584 3595
                Dim dModelEndY As Double
3585
                Dim dGap As Double = 0.0002
3596
                Dim dGap As Double = 0.002
3586 3597
                dModelStartX = oModelrow(_XML_LINE_DWG_STARTPOINT_X)
3587 3598
                dModelStartY = oModelrow(_XML_LINE_DWG_STARTPOINT_Y)
3588 3599
                dModelEndX = oModelrow(_XML_LINE_DWG_ENDPOINT_X)
......
3604 3615
                                    '위쪽으로 라인이 나와있을때
3605 3616
                                    '현재선 중 작은 Y좌표를 오차범위만큼 더했을때 기존라인의 Y축보다 큰지확인 
3606 3617
                                    'Y축보다 클경우 작은 Y좌표를 기존라인의 Y축에 맞추고 더한 길이만큼 큰 Y좌표에 더한다.
3607
                                    If dStartY + dGap >= dModelStartY Then
3618
                                    If Math.Abs(dStartY - dModelStartY) <= dGap Then
3608 3619
                                        Dim dAddPoint As Double = dModelStartY - dStartY
3609 3620
                                        dEndY = dEndY + dAddPoint
3610 3621
                                        dStartY = dModelStartY
3611 3622
                                        sBranchDirection = "START"
3623
                                        oLMConnector = oModelrow(_XML_LINE_LMCONNECTOR)
3624
                                        Exit For
3612 3625
                                    End If
3613 3626
                                Else
3614 3627
                                    '아래쪽으로 라인이 나와있을때
3615 3628
                                    '현재선 중 큰 Y좌표를 오차범위만큼 뺐을때 기존라인의 Y축보다 작은지확인 
3616 3629
                                    'Y축보다 작을경우 큰 Y좌표를 기존라인의 Y축에 맞추고 더한 길이만큼 작은 Y좌표에 뺀다.
3617
                                    If dEndY - dGap >= dModelStartY Then
3630
                                    If Math.Abs(dEndY - dModelStartY) <= dGap Then
3618 3631
                                        Dim dAddPoint As Double = dEndY - dModelStartY
3619 3632
                                        dStartY = dStartY - dAddPoint
3620 3633
                                        dEndY = dModelStartY
3621 3634
                                        sBranchDirection = "END"
3635
                                        oLMConnector = oModelrow(_XML_LINE_LMCONNECTOR)
3636
                                        Exit For
3622 3637
                                    End If
3623 3638
                                End If
3624 3639
                            Else
3625 3640
                                '현재선의 Y축방향이 기존라인의 X축방향에 못미치는지 확인
3626 3641
                                If dStartY > dModelStartY Then
3627 3642
                                    '기존라인보다 위쪽에 현재선이 있을때
3628
                                    If dStartY - dGap < dModelStartY Then
3643
                                    If Math.Abs(dStartY - dModelStartY) <= dGap Then
3629 3644
                                        '오차범위만큼 작은 y좌표를 뺐을때 기존라인보다 아래쪽에 있을경우 오차보정
3630 3645
                                        Dim dAddPoint As Double = dStartY - dModelStartY
3631 3646
                                        dEndY = dEndY - dAddPoint
3632 3647
                                        dStartY = dModelStartY
3633 3648
                                        sBranchDirection = "START"
3649
                                        oLMConnector = oModelrow(_XML_LINE_LMCONNECTOR)
3650
                                        Exit For
3634 3651
                                    End If
3635 3652
                                Else
3636 3653
                                    '기존라인보다 아래쪽에 현재선이 있을때
3637
                                    If dEndY + dGap > dModelStartY Then
3654
                                    If Math.Abs(dEndY - dModelStartY) <= dGap Then
3638 3655
                                        '오차범위만큼 큰 y좌표를 더했을때 기존라인보다 위쪽에 있을경우 오차보정
3639 3656
                                        Dim dAddPoint As Double = dModelStartY - dEndY
3640 3657
                                        dEndY = dModelStartY
3641 3658
                                        dStartY = dStartY + dAddPoint
3642 3659
                                        sBranchDirection = "END"
3660
                                        oLMConnector = oModelrow(_XML_LINE_LMCONNECTOR)
3661
                                        Exit For
3643 3662
                                    End If
3644 3663
                                End If
3645 3664
                            End If
......
3649 3668
                                    '위쪽으로 라인이 나와있을때
3650 3669
                                    '현재선 중 작은 Y좌표를 오차범위만큼 더했을때 기존라인의 Y축보다 큰지확인 
3651 3670
                                    'Y축보다 클경우 작은 Y좌표를 기존라인의 Y축에 맞추고 더한 길이만큼 큰 Y좌표에 더한다.
3652
                                    If dEndY + dGap >= dModelStartY Then
3671
                                    If Math.Abs(dEndY - dModelStartY) <= dGap Then
3653 3672
                                        Dim dAddPoint As Double = dModelStartY - dEndY
3654 3673
                                        dStartY = dStartY + dAddPoint
3655 3674
                                        dEndY = dModelStartY
3656 3675
                                        sBranchDirection = "END"
3676
                                        oLMConnector = oModelrow(_XML_LINE_LMCONNECTOR)
3677
                                        Exit For
3657 3678
                                    End If
3658 3679
                                Else
3659 3680
                                    '아래쪽으로 라인이 나와있을때
3660 3681
                                    '현재선 중 큰 Y좌표를 오차범위만큼 뺐을때 기존라인의 Y축보다 작은지확인 
3661 3682
                                    'Y축보다 작을경우 큰 Y좌표를 기존라인의 Y축에 맞추고 더한 길이만큼 작은 Y좌표에 뺀다.
3662
                                    If dStartY - dGap >= dModelStartY Then
3683
                                    If Math.Abs(dStartY - dModelStartY) <= dGap Then
3663 3684
                                        Dim dAddPoint As Double = dStartY - dModelStartY
3664 3685
                                        dEndY = dEndY - dAddPoint
3665 3686
                                        dStartY = dModelStartY
3666 3687
                                        sBranchDirection = "START"
3688
                                        oLMConnector = oModelrow(_XML_LINE_LMCONNECTOR)
3689
                                        Exit For
3667 3690
                                    End If
3668 3691
                                End If
3669 3692
                            Else
3670 3693
                                If dEndY > dModelStartY Then
3671 3694
                                    '기존라인보다 우측에 현재선이 있을때
3672
                                    If dEndY - dGap < dModelStartY Then
3695
                                    If Math.Abs(dEndY - dModelStartY) <= dGap Then
3673 3696
                                        '오차범위만큼 작은 x좌표를 뺐을때 기존라인보다 좌측에 있을경우 오차보정
3674 3697
                                        Dim dAddPoint As Double = dEndY - dModelStartY
3675 3698
                                        dStartY = dStartY - dAddPoint
3676 3699
                                        dEndY = dModelStartY
3677 3700
                                        sBranchDirection = "END"
3701
                                        oLMConnector = oModelrow(_XML_LINE_LMCONNECTOR)
3702
                                        Exit For
3678 3703
                                    End If
3679 3704
                                Else
3680 3705
                                    '기존라인보다 좌측에 현재선이 있을때
3681
                                    If dStartY + dGap > dModelStartY Then
3706
                                    If Math.Abs(dStartY - dModelStartY) <= dGap Then
3682 3707
                                        '오차범위만큼 큰 x좌표를 더했을때 기존라인보다 우측에 있을경우 오차보정
3683 3708
                                        Dim dAddPoint As Double = dModelStartY - dStartY
3684 3709
                                        dStartY = dModelStartY
3685 3710
                                        dEndY = dEndY + dAddPoint
3686 3711
                                        sBranchDirection = "START"
3712
                                        oLMConnector = oModelrow(_XML_LINE_LMCONNECTOR)
3713
                                        Exit For
3687 3714
                                    End If
3688 3715
                                End If
3689 3716
                            End If
......
3705 3732
                                    '우측으로 라인이 나와있을때
3706 3733
                                    '현재선 중 작은 X좌표를 오차범위만큼 더했을때 기존라인의 X축보다 큰지확인 
3707 3734
                                    'X축보다 클경우 작은 X좌표를 기존라인의 X축에 맞추고 더한 길이만큼 큰 X좌표에 더한다.
3708
                                    If dStartX + dGap >= dModelStartX Then
3735
                                    If Math.Abs(dStartX - dModelStartX) <= dGap Then
3709 3736
                                        Dim dAddPoint As Double = dModelStartX - dStartX
3710 3737
                                        dEndX = dEndX + dAddPoint
3711 3738
                                        dStartX = dModelStartX
3712 3739
                                        sBranchDirection = "START"
3740
                                        oLMConnector = oModelrow(_XML_LINE_LMCONNECTOR)
3741
                                        Exit For
3713 3742
                                    End If
3714 3743
                                Else
3715 3744
                                    '좌측으로 라인이 나와있을때
3716 3745
                                    '현재선 중 큰 X좌표를 오차범위만큼 뺐을때 기존라인의 X축보다 작은지확인 
3717 3746
                                    'X축보다 작을경우 큰 X좌표를 기존라인의 X축에 맞추고 뺀 길이만큼 작은 X좌표에 뺀다.
3718
                                    If dEndX - dGap >= dModelStartX Then
3747
                                    If Math.Abs(dEndX - dModelStartX) <= dGap Then
3719 3748
                                        Dim dAddPoint As Double = dEndX - dModelStartX
3720 3749
                                        dStartX = dStartX - dAddPoint
3721 3750
                                        dEndX = dModelStartX
3722 3751
                                        sBranchDirection = "END"
3752
                                        oLMConnector = oModelrow(_XML_LINE_LMCONNECTOR)
3753
                                        Exit For
3723 3754
                                    End If
3724 3755
                                End If
3725 3756
                            Else
3726 3757
                                '현재선의 X축방향이 기존라인의 Y축방향에 못미치는지 확인
3727 3758
                                If dStartX > dModelStartX Then
3728 3759
                                    '기존라인보다 우측에 현재선이 있을때
3729
                                    If dStartX - dGap < dModelStartX Then
3760
                                    If Math.Abs(dStartX - dModelStartX) <= dGap Then
3730 3761
                                        '오차범위만큼 작은 x좌표를 뺐을때 기존라인보다 좌측에 있을경우 오차보정
3731 3762
                                        Dim dAddPoint As Double = dStartX - dModelStartX
3732 3763
                                        dEndX = dEndX - dAddPoint
3733 3764
                                        dStartX = dModelStartX
3734 3765
                                        sBranchDirection = "START"
3766
                                        oLMConnector = oModelrow(_XML_LINE_LMCONNECTOR)
3767
                                        Exit For
3735 3768
                                    End If
3736 3769
                                Else
3737 3770
                                    '기존라인보다 좌측에 현재선이 있을때
3738
                                    If dEndX + dGap > dModelStartX Then
3771
                                    If Math.Abs(dEndX - dModelStartX) <= dGap Then
3739 3772
                                        '오차범위만큼 큰 x좌표를 더했을때 기존라인보다 우측에 있을경우 오차보정
3740 3773
                                        Dim dAddPoint As Double = dModelStartX - dEndX
3741 3774
                                        dEndX = dModelStartX
3742 3775
                                        dStartX = dStartX + dAddPoint
3743 3776
                                        sBranchDirection = "END"
3777
                                        oLMConnector = oModelrow(_XML_LINE_LMCONNECTOR)
3778
                                        Exit For
3744 3779
                                    End If
3745 3780
                                End If
3746 3781
                            End If
......
3750 3785
                                    '우측으로 라인이 나와있을때
3751 3786
                                    '현재선 중 작은 X좌표를 오차범위만큼 더했을때 기존라인의 X축보다 큰지확인 
3752 3787
                                    'X축보다 클경우 작은 X좌표를 기존라인의 X축에 맞추고 더한 길이만큼 큰 X좌에 더한다.
3753
                                    If dEndX + dGap >= dModelStartX Then
3788
                                    If Math.Abs(dModelStartX - dEndX) <= dGap Then
3754 3789
                                        Dim dAddPoint As Double = dModelStartX - dEndX
3755 3790
                                        dStartX = dStartX + dAddPoint
3756 3791
                                        dEndX = dModelStartX
3757 3792
                                        sBranchDirection = "END"
3793
                                        oLMConnector = oModelrow(_XML_LINE_LMCONNECTOR)
3794
                                        Exit For
3758 3795
                                    End If
3759 3796
                                Else
3760 3797
                                    '좌측으로 라인이 나와있을때
3761 3798
                                    '현재선 중 큰 X좌표를 오차범위만큼 뺐을때 기존라인의 X축보다 작은지확인 
3762 3799
                                    'X축보다 작을경우 큰 X좌표를 기존라인의 X축에 맞추고 뺀 길이만큼 작은 X좌표에 뺀다.
3763
                                    If dStartX - dGap >= dModelStartX Then
3800
                                    If Math.Abs(dStartX - dModelStartX) <= dGap Then
3764 3801
                                        Dim dAddPoint As Double = dStartX - dModelStartX
3765 3802
                                        dEndX = dEndX - dAddPoint
3766 3803
                                        dStartX = dModelStartX
3767 3804
                                        sBranchDirection = "START"
3805
                                        oLMConnector = oModelrow(_XML_LINE_LMCONNECTOR)
3806
                                        Exit For
3768 3807
                                    End If
3769 3808

  
3770 3809
                                End If
3771 3810
                            Else
3772 3811
                                If dEndX > dModelStartX Then
3773 3812
                                    '기존라인보다 우측에 현재선이 있을때
3774
                                    If dEndX - dGap < dModelStartX Then
3813
                                    If Math.Abs(dEndX - dModelStartX) <= dGap Then
3775 3814
                                        '오차범위만큼 작은 x좌표를 뺐을때 기존라인보다 좌측에 있을경우 오차보정
3776 3815
                                        Dim dAddPoint As Double = dEndX - dModelStartX
3777 3816
                                        dStartX = dStartX - dAddPoint
3778 3817
                                        dEndX = dModelStartX
3779 3818
                                        sBranchDirection = "END"
3819
                                        oLMConnector = oModelrow(_XML_LINE_LMCONNECTOR)
3820
                                        Exit For
3780 3821
                                    End If
3781 3822
                                Else
3782 3823
                                    '기존라인보다 좌측에 현재선이 있을때
3783
                                    If dStartX + dGap > dModelStartX Then
3824
                                    If Math.Abs(dStartX - dModelStartX) <= dGap Then
3784 3825
                                        '오차범위만큼 큰 x좌표를 더했을때 기존라인보다 우측에 있을경우 오차보정
3785 3826
                                        Dim dAddPoint As Double = dModelStartX - dStartX
3786 3827
                                        dStartX = dModelStartX
3787 3828
                                        dEndX = dEndX + dAddPoint
3788 3829
                                        sBranchDirection = "START"
3830
                                        oLMConnector = oModelrow(_XML_LINE_LMCONNECTOR)
3831
                                        Exit For
3789 3832
                                    End If
3790 3833
                                End If
3791 3834
                            End If

내보내기 Unified diff

클립보드 이미지 추가 (최대 크기: 500 MB)