위임 편집(CATIA V5)
기본 제공 위임
Windchill에서는 CAD 문서와 관련된 추가 정보를 사용자 정의 시스템 매개변수로서 전달하는 기본 제공 메커니즘을 제공합니다.
매개변수를 사용자 정의하려면 사이트 수준에서 서버측 기본 설정인 > 을 설정합니다.
• 값은 CAD 도구에서 매개변수 또는 등록 정보로서 표시되는 CAD 문서와 관련된 객체의 추가 속성 목록입니다.
• 값은 쉼표로 구분된 다음 형식의 CAD 등록 정보 및 Windchill 속성 쌍의 목록입니다.
<name_of_CAD_property>:<relatedObjectCode>.<WindchillAttributeName>
설명:
값
|
설명
|
가능한 값
|
name_of_CAD_property
|
CAD 도구의 매개변수 또는 등록 정보 이름입니다.
|
PART_REVISION
|
relatedObjectCode
|
관련 객체를 식별하는 데 사용되는 문자열입니다.
|
• docMaster
• associatedPart
• relatedECN
• promote
|
WindchillAttributeName
|
관련 객체에 대한 Windchill 속성의 논리적 이름 또는 내부 이름입니다.
|
• CAD 문서 마스터에 대한 소프트 유형 속성
• 부품 속성
◦ 부울, 날짜, 정수, 실수, 단위 또는 문자열이 있는 실수 유형의 관련 부품에 대한 소프트 유형 속성
◦ lifeCycleState
◦ lifecycleTemplate.name
◦ name
◦ number
◦ orgid
◦ view.identity
◦ partType
• For related ECN
◦ number
◦ orgid
◦ resolutionDate
• For promote
◦ number
◦ promotionDate
◦ orgid
◦ approvers
◦ approveDates
◦ reviewers
◦ reviewDates
|
|
소프트 유형 속성의 경우 CAD 도구로 전송되는 값은 객체의 정보 페이지에 나타나는 표시 값입니다. 표시 값은 속성 처리 기본 설정과 유형 및 속성 관리 설정을 사용하지만 렌더링용 데이터 유틸리티를 사용한 복잡한 디스플레이 사용자 정의는 지원하지 않습니다.
|
이 기능은 매개변수 삽입에 사용할 수 있는 사용자 정의 서버측 위임 CustomModeledAttributesDelegate가 없는 경우에만 사용할 수 있습니다(사용자 정의 위임은 아래의 다음 섹션 참조).
연관된 부품의 경우:
• 이 기능은 소유자, 사용자 정의 이미지, 이미지 및 사용자 정의 콘텐츠가 있는 CAD 문서와 관련된 부품을 지원합니다.
• 선택한 부품 버전은 CAD 문서 정보 페이지 관련 부품 테이블과 유사합니다.
• 동일한 부품의 둘 이상의 개정이 CAD 문서와 관련된 경우 각 부품의 최신 개정이 반환됩니다.
• 시스템이 다중 빌드 연관을 허용하도록 구성된 경우 서버측 기본 설정인 > > 이 예로 설정되어 있으면 두 개 이상의 부품이 반환될 수 있습니다. 이 경우 각 관련 부품에 대한 정보는 구분 형식으로 반환됩니다. 사용되는 구분 기호는 서버측 기본 설정 > 로 정의됩니다.
관련 ECN의 경우:
• CAD 문서 개정이 변경 공지에 결과 객체로 참여하면 ECN에 대한 속성이 CAD 매개변수로 전송됩니다.
• CAD 문서 개정이 둘 이상의 변경 공지에 참여하는 경우 사용되는 구분 기호는 서버측 기본 설정 > 로 정의됩니다.
• 거부된 ECN은 나열되지 않습니다.
수준 올리기 요청의 경우:
• CAD 문서 버전이 수준 올리기 요청에 참여하면 수준 올리기 요청에 대한 속성이 CAD 매개변수로 전송됩니다.
• CAD 문서 버전이 둘 이상의 수준 올리기 요청에 참여하는 경우 사용되는 구분 기호는 서버측 기본 설정 > 로 정의됩니다.
• 거부된 수준 올리기 요청은 나열되지 않습니다.
사용자 정의 위임
Windchill에서는 다운로드 시 저작 응용 프로그램 부품으로 매개변수를 삽입하는 데 사용할 수 있는 서버 측 위임을 제공합니다. 이 메커니즘은 정보를 다른 저작 응용 프로그램 매개변수와 같이 사용할 수 있을 경우(예: 정보를 드로잉 양식에 추가할 때) 서버에서 저작 응용 프로그램으로 정보를 전달하는 데 사용할 수 있습니다. PTC 또는 PROI로 시작하는 매개변수는 예약된 시스템 매개변수로 간주되며 사용자 정의로 전파할 수 없습니다. 이러한 매개변수를 사용자 정의로 추가한 경우 이 매개변수는 다운로드 서비스에 의해 무시됩니다.
|
• 사용자 정의 위임을 사용하도록 시스템을 구성하는 경우 서버 측 기본 설정인 > 에 정의된 속성은 사용되지 않습니다. PTC 위임에서만 해당 기본 설정을 확인합니다.
• 사용자 정의 매개변수는 다운로드 시 클라이언트에 제공되고 체크 인과 같은 Windchill 작업 후에는 CAD 응용 프로그램 세션에서 업데이트되지 않습니다.
예를 들어, 사용자 정의 매개변수에 CAD 문서 번호 값을 지정할 경우 그 값은 다운로드 시 클라이언트에게 제공됩니다. 나중에 CAD 문서 번호가 다시 지정되는 경우 저작 응용 프로그램 세션 또는 로컬 캐시의 값은 자동으로 업데이트되지 않습니다. Windchill 서비스 위임 메커니즘을 사용하여 사용자 정의를 할 수 있습니다.
|
다음 단계는 사용자 정의 프로세스에 대한 설명입니다.
1. PTC 클래스와는 별도로 고객별 위치에 인터페이스 ModeledAttributesDelegate를 구현하는 Java 클래스를 작성합니다(예: <WT_HOME>\com\acme). 인터페이스 정의는 다음과 같습니다.
package com.acme.download;
import static org.junit.Assert.assertTrue;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import com.ptc.windchill.uwgm.proesrv.c11n.DefaultModeledAttributesDelegate;
import java.util.Iterator;
import wt.epm.EPMDocument;
import wt.fc.collections.WTCollection;
import wt.fc.collections.WTHashSet;
import wt.preference.PreferenceHelper;
import wt.util.WTException;
/**
* When CustomizedModeledAttributesDelegate is configured following modeled attributes would be added to the CAD
* Document, which would be combination of custom CURRENT_DATE parameter along with Parameters configured in mentioned
* preference "Mapping Custom System Attributes and File Properties". For eg.When preference "Mapping Custom System
* Attributes and File Properties" set with value as
* -CREO_PART_REVISION:associatedPart.revision,CREO_PART_VIEW:associatedPart.view.identity,ECN_NUMBER:relatedECN.number
* Modeled attributes on CAD Document would be- CREO_PART_REVISION=A, ECN_NUMBER=00192, CREO_PART_VIEW=Design,
* CURRENT_DATE=2023/10/11 05:07
*/
public class CustomizedModeledAttributesDelegate extends DefaultModeledAttributesDelegate {
private static final String CUSTOM_SYSTEM_PARAMS_PREF = "system.attribute.mapping.custom";
private static final String PROE = "PROE";
private static final String CURRENT_DATE = "CURRENT_DATE";
// getAvailableAttributes() returns
// HashMap<String, Object> which contains
// HashMap<Attribute name, Attribute type> @Override
public HashMap getAvailableAttributes() {
System.out.println(
"Invoked CustomizedModeledAttributesDelegate extends DefaultModeledAttributesDelegate :: getModeledAttributes() :Returning an empty list of modeled Attributes.");
return new HashMap();
}
/**
* Returns a map of modeled attributes for the EPMDocument objects in the provided collection. This method retrieves
* the modeled attributes from the PTC default implementation.
*
* @param collection a collection of EPMDocument objects for which to retrieve the modeled attributes
* @return a map of modeled attributes for the provided EPMDocument objects
* @throws WTException if an exception occurs while retrieving the modeled attributes
*/
@Override
public HashMap getModeledAttributes(
final Collection collection)
throws WTException {
System.out.println(
"Invoked CustomizedModeledAttributesDelegate extends DefaultModeledAttributesDelegate :: getModeledAttributes() ");
String prefValue = (String) PreferenceHelper.service.getValue(CUSTOM_SYSTEM_PARAMS_PREF,
PROE);
System.out.println("CustomizedModeledAttributesDelegate prefValue " + prefValue);
HashMap objVsAttrNameVsValue = new HashMap();
// Fetching only EPMDocuments from input collection.
WTCollection inEPMDocs = new WTHashSet(collection).subCollection(EPMDocument.class);
Iterator persistableIterator = inEPMDocs.persistableIterator();
if (prefValue != null && (!prefValue.isBlank())) {
while (persistableIterator.hasNext()) {
EPMDocument anEPMDoc = (EPMDocument) persistableIterator.next();
objVsAttrNameVsValue = super.getModeledAttributes(collection);
Map<String, String> attrNameVsValueMap = (Map<String, String>)objVsAttrNameVsValue.get(anEPMDoc);
assertTrue(attrNameVsValueMap != null);
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm");
LocalDateTime now = LocalDateTime.now();
attrNameVsValueMap.put(CURRENT_DATE, dtf.format(now).toString());
System.out.println("CustomizedModeledAttributesDelegate attrNameVsValueMap " + attrNameVsValueMap);
return objVsAttrNameVsValue;
}
}
System.out
.println("Could not find CustomizedModeledAttributesDelegate extends DefaultModeledAttributesDelegate");
return objVsAttrNameVsValue;
}
} // end class
2. PTC에서 제공하는 사용자 정의 시스템 속성은 기본적으로 DefaultModeledAttributesDelegate에서 사용할 수 있습니다. 그러나 site.xconf 파일(<Windchill>에 있음)은 서버의 사용자 정의 서비스를 가리키도록 변경할 수 있습니다.
◦ serviceClass 값 대신 해당 클래스의 경로를 사용합니다(즉, com.ptc.windchill.uwgm.proesrv.c11n.DefaultModeledAttributesDelegate를 해당 클래스의 경로로 대체함). 예를 들면 다음과 같습니다.
<Service context="default"
name="com.ptc.windchill.uwgm.proesrv.c11n.ModeledAttributesDele
gate" targetFile=codebase/service.properties">
<Option cardinality="singleton"
requestor="java.lang.Object"
serviceClass="com.acme.download.CustomizedModeledAttributesDelegate"/>
</Service>
◦ xconfmanager 도구를 사용하여 변경 사항을 service.properties 파일에 적용합니다(xconfmanager -p 실행).
3. 메소드 서버를 다시 시작합니다.