본문 바로가기
  • Welcome!
VBA For Creo

VBA Fundamentals #4 : IpfcSolid

by ToolBOX01 2022. 11. 22.
반응형

■ IpfcSolid

이 개체는 솔리드를 정의합니다.

Property : IsSkeleton as Boolean
 - 모델이 스켈레톤 모델이면 true이고 그렇지 않으면 false입니다.

Option Explicit
Sub SkeletonCheck()
     
        Dim asynconn As New pfcls.CCpfcAsyncConnection
        Dim conn As pfcls.IpfcAsyncConnection: Set conn = asynconn.CONNECT("", "", ".", 5)
        Dim oSession As pfcls.IpfcBaseSession: Set oSession = conn.session
        Dim oModel As IpfcModel: Set oModel = oSession.CurrentModel
        Dim oSolid As IpfcSolid: Set oSolid = oModel
        
        Dim oCheck As Boolean: oCheck = oSolid.IsSkeleton
        
            If oCheck = False Then
           
                MsgBox "현재 모델은 스켈레톤 아닙니다"
           
            Else
           
                MsgBox "현재 모델은 스켈레톤 입니다"
            
            End If
        
       conn.Disconnect (2)
    
    'Cleanup
    Set asynconn = Nothing
    Set conn = Nothing
    Set oSession = Nothing
    Set oModel = Nothing
                  
End Sub

프로그램 실행 화면

 

IpfcSolid.GeomOutlin모델 사이즈 계산

 

모델 사이즈 관련 함수 #1 : IpfcSolid.GeomOutlin

Creo는 측정 기능으로 가로 * 세로 * 높이 사이즈 알수 있는 방법은 없습니다. 대각선 길이로 측정을 합니다. 모델의 기본 좌표계 방향의 x * y * z를 이용하여 사이즈를 구하려면, 모델 체크를 기능

tool-2020.tistory.com

 


■ IpfcAssembly 개체

Property :  IsExploded as Boolean
If the assembly is exploded, this attribute is true; otherwise, it is false

코드] 

Option Explicit
Sub ExplodCheck()

    Dim asynconn As New pfcls.CCpfcAsyncConnection
    Dim conn As pfcls.IpfcAsyncConnection: Set conn = asynconn.CONNECT("", "", ".", 5)
    Dim oSession As IpfcBaseSession: Set oSession = conn.session
    Dim oModel As IpfcModel: Set oModel = oSession.CurrentModel
   
    Dim oAssembly As IpfcAssembly
    Set oAssembly = oModel
    Dim ExplodCheck As Boolean
    ExplodCheck = oAssembly.IsExploded
  
    MsgBox ExplodCheck
 
    'Disconnect with Creo
    conn.Disconnect (2)
    
End Sub

 

프로그램 실행 결과

Creo 화면 실행 결과