본문 바로가기
  • Welcome!
VBA, VB.NET For Creo

Creo.js ?

by ToolBOX01 2024. 12. 18.
반응형

□ Creo.js 소개

Creo.js는 PTC의 3D CAD 소프트웨어인 Creo(크레오)와 JavaScript를 결합하여 프로그래밍적으로 모델링 작업을 자동화하고 제어할 수 있도록 만든 라이브러리 또는 도구입니다. 

1. Sample 애플리케이션 : 이 섹션에는 Creo.JS와 함께 제공되는 Sample  애플리케이션이 나열되어 있습니다.

2. Sample   애플리케이션의 위치 :
Creo.JS 샘플 애플리케이션은 C:\PTC\Creo 9.0.6.0\Common Files\apps\creojs\creojsweb 내장된 브라우저나 로컬
디렉토리 또는 웹 서버에서 샘플을 엽니다.
웹 페이지 creo_js_tests.html에는 내장된 브라우저 창에서 열 수 있는 모든 샘플 애플리케이션이 나열되어 있습니다.


script_engine_testing.html 페이지는 Creo.JS 코드의 대화형 테스트를 가능하게 하는 웹 도구입니다.  이 도구에는 JavaScript 편집기와 출력 콘솔이 있습니다. 웹 도구는 실행 디렉토리에서 테스트 스크립트를 로드하고 저장하는 것을 지원합니다.

[script_engine_testing.html]

 

3.Creo.JS 테스트 웹 도구 (script_engine_testing.html)

현재 Creo 세션에서 Creo.JS 스크립트를 테스트하는 데 도움이 되도록 Creo.JS 설치와 함께 테스트 웹 도구가 제공됩니다. 이 도구는 Creo.JS API로 작업할 수 있는 대화형 사용자 인터페이스를 제공합니다. 웹 애플리케이션에서 사용하기 전에 API를 테스트할 수 있습니다. 이 페이지는 script_engine_testing.html이라고 하며 <creojs_loadpoint>의 creojsweb 폴더에서 사용할 수 있습니다. 사용을 시작하려면 페이지 위치를 즐겨찾기에 추가할 수도 있습니다.

이 페이지는 4개의 영역으로 구성되어 있습니다.

스크립트를 실행하려면 편집기(Creo.JS script edit area)에 스크립트를 입력하고 "Run"을 클릭합니다.
스크립트가 Creo.JS 엔진으로 전송되어 실행됩니다. 실행 후 스크립트에서 생성된 출력이 출력 영역(Creo.JS script output area)에 인쇄됩니다. 

{
  let session = pfcGetCurrentSession ();
  print (session.GetEnvironmentVariable ("PRO_DIRECTORY"));
}

스크립트가 중괄호( "{ }") 포함되어 있다는 점에 유의하세요. 이렇게 하면 스크립트 내의 변수 정의가 페이지 컨텍스트에 채워지지 않아 동일한 스크립트가 연속적으로 실행되는 것을 방지할 수 있습니다. 중괄호를 추가하지 않으면 스크립트를 한 번만 실행할 수 있습니다. 두 번째로 실행하려고 하면 오류 메시지가 표시됩니다.

프로그램 실행 결과

C:\Program Files\PTC\Creo 4.0\M080\Common Files

 

현재의 작업 공간을 가져오는 코드 입니다. 

{
  let session = pfcGetCurrentSession ();
  print (session.GetCurrentDirectory ());
}

결과 :  C:\PTC\WORK90\

 


▷ 현재 모델의 이름과 Dimension 이름, 값을 가져오는 코드 입니다

/*
 * Example shows how to access all item dimensions of a model.
 * Note: model should be open in Creo.
 */

function testDimensions () {
	const session = pfcGetCurrentSession ();
	const model = session.GetActiveModel ();
	print (`Model: ${model.FileName}`)
	if (model) {
		for (const dim of model.ListItems (pfcModelItemType.ITEM_DIMENSION)) {
			print (`<b>${dim.Symbol}</b> = ${JSON.stringify (dim.DimValue)}`)
		}
	}
	else {
		Browser.alert ('Error: missing active model. Please open or create a model and rerun the test.')
	}
}

testDimensions ()

결과

Model: prt0010.prt
d377 = 240.31
d378 = 240.30572720189355
d379 = 101.2435604768632
d380 = 321.8520969245036

 

const session = pfcGetCurrentSession ();
현재 세션을 가져옵니다. Creo와 Creo.JS를 연결 합니다

const model = session.GetActiveModel ();
활성화된 모델 가져오기

print (`Model: ${model.FileName}`)
모델 파일명 출력 합니다

by korealionkk@gmail.com