본문 바로가기
  • 환영 합니다 ! Welcome!
VBA For Creo

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

by ToolBOX01 2022. 11. 15.
반응형

Creo는 측정 기능으로  가로 * 세로 * 높이 사이즈  알수 있는 방법은 없습니다. 대각선 길이로 측정을 합니다.

[ CREO MODEL 사이즈 ]

모델의 기본 좌표계 방향의 x * y * z를 이용하여 사이즈를 구하려면, 모델 체크를 기능을 사용 해야 합니다.
하지만 데이텀 커브, 서피스, 데이텀 평면등이 포함된 사이즈를 포함 합니다. 

[ 모델 체크 ]

서피스를 사각 BOX 형태의 랩 형식으로 감싸서 서피스의 가로 * 세로 * 높이를 구할수 있습니다.  그러나 수백, 수천개의 FILE의 사이즈를 빠르고 쉽게 표시 할수 있는 방법은 CREO 자체는 없습니다.  또한 일정한 엑셀 양식으로 만들수 있는 방법도 없습니다.

ToolBOX Web 프로그램은 자동으로 모델의 사이즈를 계산 하여 줍니다.


IpfcSolid 
Property : GeomOutlin       as IpfcOutline3D
 - 기본 좌표계 방향에 대한 솔리드의 아웃라인을 표시 합니다.

프로그램 코드

Sub modelsize()
     
        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 oModelSizeBox As IpfcOutline3D
        Set oModelSizeBox = oSolid.GeomOutLine
        
        Dim oPointA As IpfcPoint3D
        Dim oPointB As IpfcPoint3D
        Set oPointA = oModelSizeBox.Item(0)
        Set oPointB = oModelSizeBox.Item(1)
        
        
        Cells(1, "A") = oPointA.Item(0)
        Cells(1, "B") = oPointA.Item(1)
        Cells(1, "C") = oPointA.Item(2)
        
        Cells(3, "A") = oPointB.Item(0)
        Cells(3, "B") = oPointB.Item(1)
        Cells(3, "C") = oPointB.Item(2)
   
       conn.Disconnect (2)
    
    'Cleanup
    Set asynconn = Nothing
    Set conn = Nothing
    Set oSession = Nothing
    Set oModel = Nothing
                  
End Sub

 

 

프로그램 실행

Creo Model 엑셀 - 실행 결과

 

Creo Model 엑셀 - 실행 결과

 

프로그램 실행 결과 데이텀 커브. 서피스. 포인트, 축, 좌표계 등. . . 공간에 배치되면 솔리드 사이즈가 엉뚱하게 표시 됩니다.  IpfcSolid.GeomOutlin 값은 정확하지 않습니다.

 

 

가로*세로*높이 사이즈 알아보기

3D 형상을 BOX 형태의 사이즈를 알아보는 프로그램 입니다. CREO에서는 대각선 사이즈는 3D point를 제공 합니다. CREO의 사이즈 계산 기능 문제점은 데이텀 커브, 데이텀 평면, 서피스를 사이즈 계산

tool-2020.tistory.com