본문으로 건너뛰기
  1. Posts/

윈칠 Windchill 의 VR 과 OR 다루기

·2 초· 0 · 0 ·
seanbryu
solution windchill oid

이 글은 Windchill 의 OID 를 구성하는 VR 과 OR 접두어에 대한 의미를 소스코드를 이용하여 설명합니다.

VR - Version Reference #

VR 의 의미 #

VRVersion Reference의 약자입니다. Version Reference는 주어진 버전의 최신 Iteration을 참조합니다.

VR 를 Query 하는 방법 #

Windchill 에서 하나의 버전을 Branch 라 표현하고, 모든 Iteration 은 자신이 속한 버전의 Branch ID 를 가지고 있습니다. VR 를 나타내는 문자열은 VR:<전체클래스명>:<브랜치ID번호> 로 표현합니다.

다음과 같은 방법으로 VR이 참조하는 객체를 검색할 수 있습니다.

select * from WTPart where BranchIdIterationInfo=<vid> and LatestIterationInfo=1;

OR - Object Reference #

OR 의 의미 #

ORObject Reference 의 약자입니다. OR 은 고유한 객체 하나만을 참조합니다.

VR 은 데이터가 수정됨에 따라 참조하는 객체가 달라질 수 있지만, OR 은 변하지 않습니다.

OR 을 Query 하는 방법 #

OR 은 특정 객체를 참조하며, 문자열 형태의 표기방법은 OR:<클래스명>:<객체ID번호> 로 표현합니다. 다음과 같은 방법으로 OR이 참조하는 객체를 검색할 수 있다.

select * from WTPart where ida2a2=<oid_number>

Reference Factory 다루기 #

OID를 이용한 객체의 Access를 시도할 경우에는 ReferenceFactory 클래스를 이용할 것이 편리합니다.

문자열 참조로 객체 얻기 #

문자열 형태의 Reference 를 이용하여 객체를 가져올 경우, 다음과 같이 사용할 수 있습니다.

String oid = "VR:wt.doc.WTDocument:1111";

ReferenceFactory rf = new ReferenceFactory();
WTDocument doc = (WTDocument)rf.getReference(oid).getObject();

객체로 부터 문자열 참조 얻기 #

객체로 부터 문자열형태의 Reference 를 얻고자 할 경우, 다음과 같이 사용할 수 있습니다.

WTDocument doc = ....

ReferenceFactory rf = new ReferenceFactory();
String oid = rf.getReferenceString(doc);