2017-02-15 1 views
0

body가 변경되어 catpart에서 변경된 사항이 있는지 확인하려고하지만 업데이트가 수동으로 설정되어 있기 때문에 변경 작업을 수행하지 않았습니다.catvca catpart를 업데이트해야하는지 확인하는 방법

이 나는 ​​시도했다 :

if part.product.update = true then 
    'do something 
else 
    'do something else 
endif 

것은 그러나 이것은 단지 업데이 트를 강제로 하나가 필요한 경우 말해 나던.

답변

0

확인 CATIA 설정 ​​

Set mySettControlers = CATIA.SettingControllers 
Set myPartInfraSetting = mySettControlers.Item("CATMmuPartInfrastructureSettingCtrl") 

catManualUpdate 또는 catAutomaticUpdate

+0

(assum ing catiav5forum.de에서와 같은 ferdo입니다, 안녕하세요 당신이 잘하고 희망) .. 그게 나에게 말할 것이 확실하지 않은 경우. thats는 업데이트 모드가 설정된 것입니다. 나는 누군가가 그곳에 수동으로 설정된 업데이트 모드를 가지고 있다면 스케치에 변화를 주지만 시체를 업데이트하지는 않는다. 시체가 uptodate하지 않으면 어떻게 감지합니다. – tink

+0

안녕하세요, 네, 여기 같은 녀석, :-), 고마워요, 당신 말이 맞아요, 이제 당신의 관심사가 무엇인지 이해했습니다. 어쨌든, 먼저 설정이 어떻게 설정되어 있는지 확인해야 CATIA는 알리지 않고 자동으로 업데이트하지 않습니다 (종결시 경보가 발생하더라도). 그래서 실제로 문제는 해결되지 않았지만 솔직하게 말하면 나는 문서에서 아무것도 보지 못했습니다. 사용자가 Q-Checker 또는 이와 유사한 것을 사용하고 있습니까? – ferdo

+0

아니, 솔직히 말해서 나는 너무 많은 쓰레기, 갱신되지 않은 시체, 끊어진 링크, 고스트 링크, 이름 지정 및 번호 매기기 표준을 준수하지 않습니다 (Part1.CATPart라는 파일이 제 동료와 고객으로부터 상당히 많이 보입니다). 도구는 문제를 신속하게 검사합니다. – tink

1

내가 ' (아래 참조) 솔루션을 일했다면 myPartInfraSetting.UpdateMode를 설정하고 참조하는 방법을 확인 @@@@@@@ @@@@@@@@@@@@@@

Function func_CheckNoModsSinceLastSaved() As Boolean 

func_CheckNoModsSinceLastSaved = False 

Dim flg_NoModsSinceLastSaved As Boolean 

flg_NoModsSinceLastSaved = False 

If Right(CATIA.ActiveDocument.FullName, 11) = ".CATProduct" Then 
    Dim productDocument1 As ProductDocument 
    Set productDocument1 = CATIA.ActiveDocument 

    Dim product1 As Product 
    Set product1 = productDocument1.Product 

    flg_NoModsSinceLastSaved = productDocument1.Saved 
    If flg_NoModsSinceLastSaved Then 
     func_CheckNoModsSinceLastSaved = True 
    Else 
     func_CheckNoModsSinceLastSaved = False 
     MsgBox "Modified Since Last Saved" 
    End If 

    product1.Update 

    flg_NoModsSinceLastSaved = productDocument1.Saved 
    If flg_NoModsSinceLastSaved Then 
     func_CheckNoModsSinceLastSaved = True 
    Else 
     func_CheckNoModsSinceLastSaved = False 
     MsgBox "Modified Since Last Saved" 
    End If 

    Set productDocument1 = Nothing 


ElseIf Right(CATIA.ActiveDocument.FullName, 8) = ".CATPart" Then 
    Dim partDocument1 As PartDocument 
    Set partDocument1 = CATIA.ActiveDocument 


    flg_NoModsSinceLastSaved = partDocument1.Saved 
    If flg_NoModsSinceLastSaved Then 
     func_CheckNoModsSinceLastSaved = True 
    Else 
     func_CheckNoModsSinceLastSaved = False 
     MsgBox "Modified Since Last Saved" 
    End If 

    partDocument1.Part.Update 

    flg_NoModsSinceLastSaved = partDocument1.Saved 
    If flg_NoModsSinceLastSaved Then 
     func_CheckNoModsSinceLastSaved = True 
    Else 
     func_CheckNoModsSinceLastSaved = False 
     MsgBox "Modified Since Last Saved" 
    End If 
    Set partDocument1 = Nothing 


ElseIf Right(CATIA.ActiveDocument.FullName, 11) = ".CATDrawing" Then 
    Dim drawingDocument1 As DrawingDocument 
    Set drawingDocument1 = CATIA.ActiveDocument 

    flg_NoModsSinceLastSaved = drawingDocument1.Saved 
    If flg_NoModsSinceLastSaved Then 
     func_CheckNoModsSinceLastSaved = True 
    Else 
     func_CheckNoModsSinceLastSaved = False 
     MsgBox "Modified Since Last Saved" 
    End If 

    drawingDocument1.Update 

    flg_NoModsSinceLastSaved = drawingDocument1.Saved 
    If flg_NoModsSinceLastSaved Then 
     func_CheckNoModsSinceLastSaved = True 
    Else 
     func_CheckNoModsSinceLastSaved = False 
     MsgBox "Modified Since Last Saved" 
    End If 
    Set drawingDocument1 = Nothing 

Else 
    MsgBox "ERROR: Unidentified File Type!", vbCritical + vbOKOnly, "" 
End If 
End Function 

'@@@@@@@@@@@@@@@@@@@@@

관련 문제