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

Windchill & VBA 05) Create WTPart #1 - 작업중

by ToolBOX01 2024. 8. 5.
반응형

□ Windchill에서 부품을 생성하기

Windchill에서 부품을 생성하기 위한 요청 본문(Request Body)은 JSON 형식으로 작성됩니다. 
엑셀의 Sheet를 Json으로 변경 하는 코드 입니다

 

 

엑셀 데이터를 JSON형식으로 변환

참고: 지식인 질문글 화면 및 주요 코드: ​ 실행 결과: 질문자가 원하는 결과 문자열이 JSON 문자열과 거의 흡사하기 때문에 VBAJSON 라이브러리를 활용하였습니다. ​ 엑셀 데이터의 첫번째 행은

konahn.tistory.com

 

예시) WRS의 JSON

{
  "MATERIAL": "",
  "View": "",
  "DefaultUnit": {
    "Value": "ea"
  },
  "MODELFINISH": "",
  "GatheringPart": false,
  "Number": "",
  "DESIGNER": "",
  "PhantomManufacturingPart": false,
  "DefaultTraceCode": {
    "Value": "0"
  },
  "PARTNO": "",
  "COLOR": "",
  "EndItem": false,
  "Source": {
    "Value": ""
  },
  "AssemblyMode": {
    "Value": "separable"
  },
  "CHECKER": "",
  "ConfigurableModule": {
    "Value": "false"
  },
  "DESCRIOTION": "",
  "APPROVER": "",
  "MODELWEIGHT": 0,
  "Name": "korea-10-10001",
  "PROJECTNAME": "",
  "MODELSIZE": "",
  "PARTNAME": "",
  "@odata.type": "#com.ptc.windchill.enterprise.part.WTPart",
  "Uses@odata.bind": [
    ""
  ],
  "DescribedBy@odata.bind": [
    ""
  ],
  "References@odata.bind": [
    ""
  ],
  "PartDocAssociations@odata.bind": [
    ""
  ],
  "Context@odata.bind": "",
  "SmallThumbnails@odata.bind": [
    ""
  ],
  "Thumbnails@odata.bind": [
    ""
  ],
  "AXLEntries@odata.bind": [
    ""
  ],
  "Folder@odata.bind": "",
  "Attachments@odata.bind": [
    ""
  ],
  "Organization@odata.bind": ""
}

 

Windchill의 컨텍스트란 무엇인가요?
Windchill은 사용자가 작업하는 환경을 효율적으로 관리하기 위해 컨텍스트라는 개념을 사용합니다. 컨텍스트는 프로젝트, 프로그램, 제품, 라이브러리 등과 같은 특정한 작업 영역을 의미합니다.

▷컨텍스트의 구조

  • 사이트 컨텍스트: Windchill 시스템 전체를 나타내는 최상위 컨텍스트입니다.
  • 조직 컨텍스트: 가장 상위의 컨텍스트로, 회사나 대학 같은 조직을 나타냅니다. 사용자는 특정 조직에 속하게 됩니다
  • 애플리케이션 컨텍스트: 조직 내에서 실제 작업이 이루어지는 컨텍스트로, 프로젝트, 프로그램, 제품 등을 관리합니다.

▷ 컨텍스트의 역할

컨텍스트는 사용자의 작업을 구조화하고 관리하는 역할을 합니다. 각 컨텍스트는 다음과 같은 요소를 포함할 수 있습니다:

  • 컨텍스트 구조: 폴더, 도메인 등의 기본 구조를 설정합니다.
  • 기본 포럼, 참조 노트북, 사용자 노트북: 문서 공유 및 관리를 위한 공간을 제공합니다.
  • 컨텍스트 참여자: 프로젝트, 라이브러리 등에 참여하는 역할, 팀, 그룹을 정의합니다.
  • 접근 권한: 데이터에 대한 접근 권한을 설정합니다.
  • 데이터 타입, 템플릿, 규칙: 데이터의 형식과 처리 방법을 정의합니다.
  • 라이프 사이클 및 워크플로우 템플릿: 제품이나 문서의 생명주기와 업무 프로세스를 정의합니다.

 

컨텍스트 관리

조직 내에서 컨텍스트를 관리하는 역할은 조직 관리자에게 있습니다. 조직 관리자는 조직의 컨텍스트 구조를 설정하고, 애플리케이션 컨텍스트를 생성하며, 팀을 구성하는 등의 작업을 수행합니다.

예를 들어, 자전거를 디자인하는 회사에서 Windchill을 사용한다고 가정해 보겠습니다. 이 경우, 회사는 하나의 조직 컨텍스트를 가지고, 그 안에 "자전거 디자인"이라는 애플리케이션 컨텍스트를 만들 수 있습니다. 이 컨텍스트 내에서 자전거 관련 문서, 설계 데이터, 프로젝트 정보 등을 관리하게 됩니다.

요약하면, Windchill의 컨텍스트는 사용자의 작업 환경을 효율적으로 조직하고 관리하기 위한 중요한 개념입니다. 조직과 프로젝트 등의 구분을 통해 데이터를 체계적으로 관리하고, 접근 권한을 설정하며, 협업을 지원하는 역할을 합니다.

 

컨텍스트(Context)와 컨테이너는 Windchill에서 밀접하게 관련된 개념이지만, 동일하지는 않습니다. 

컨텍스트(Context): 컨텍스트는 Windchill 환경에서 사용자가 작업하는 특정 환경 또는 작업 영역을 나타냅니다. 
컨텍스트는 관리 영역(도메인), 규칙, 데이터 등을 포함하며, 사용자가 접근하는 데이터와 규칙이 어떤 구조나 
환경에 속해 있는지를 정의합니다. 컨텍스트는 특정 데이터가 어디에 위치하며, 어떤 규칙에 따라 작동하는지를 
나타내는 논리적인 개념입니다.

컨테이너(Container): 컨테이너는 이러한 컨텍스트를 실제로 물리적으로 저장하는 단위입니다. Windchill에서 
데이터와 규칙이 저장되는 실질적인 공간이나 구조를 의미합니다. 컨테이너는 계층적으로 구성되어 있으며, 
상위 컨테이너(예: 사이트 컨테이너) 안에 하위 컨테이너(예: 조직, 제품, 라이브러리 컨테이너)가 포함될 수 있습니다. 
각 컨테이너는 특정한 데이터와 객체를 담고 있습니다.

컨텍스트는 사용자가 작업하는 논리적 환경을 의미하고, 
컨테이너는 그 환경을 물리적으로 구현하는 실질적인 구조라고 할 수 있습니다. 
Windchill에서 컨텍스트를 구현하기 위해 컨테이너를 사용하는 것이죠.

Context 설명

 

Context란?

□ 컨텍스트 개요컨텍스트는 회사 내에서 특정 기능적 조직과 일치하도록 데이터베이스를 구성하는 구조입니다. 컨텍스트는 데이터베이스의 논리적 구조로 간주될 수 있습니다. 이는 데

tool-2020.tistory.com

 


 

Windchill에서 WTPart 만들기 명령어

 

엑셀 표) WRS 테스트 표

JSON 입력 항목 비고
DefaultUnit ea 입력 필수
GatheringPart false 입력 필수
PhantomManufacturingPart false 입력 필수
DefaultTraceCode 0  
EndItem false 입력 필수
Source make  
AssemblyMode separable  
ConfigurableModule false  
Name korea-10-10001 입력 필수
@odata.type #com.ptc.windchill.enterprise.part.WTPart  
Context@odata.bind PTC.DataAdmin.Containers ('OR:wt.pdmlink.PDMLinkProduct:131308') 입력 필수
Folder@odata.bind Forders('OR:wt.folder.Cabinet:131359')  
Organization@odata.bind IDT  

 

 

 

PTC Windchill WRS API Can't add attributes to WTParts on creation

How can I add data to our custom attributes via the WRS API? We have an attribute for WTParts called "CAT_CODE" and I want to add data to it via the CreatePart command (http://##.###.#.##...

stackoverflow.com

 

 

 

CS375783 - OData object creation fails with "The binding link 'Containers('OR:wt.pdmlink.PDMLinkProduct:23')' is malformed"}}

Article - CS375783 OData object creation fails with "The binding link 'Containers('OR:wt.pdmlink.PDMLinkProduct:23')' is malformed"}} Modified: 01-Sep-2022    Applies To Description OData object creation fails for Context@bind with The binding link 'Cont

www.ptc.com