API 프로그래밍 참조: 벽 결과 스크립트 예제

다음 항목에서는 wall_results.py 예제 스크립트를 살펴보면서 프로그래밍 참조에 대해 설명합니다. (이 스크립트는 API 프로그래밍 참조에 포함되어 있습니다.)

각 행(또는 행 블록)이 자세히 설명되어 있으며 프로그래밍 참조의 해당 섹션과 다시 연결되어 있습니다.

예제 스크립트

from CFD import Setup

from CFD import Results

from CFD import DSE

# 현재 시나리오 가져오기 및 결과 활성화

study = Setup.DesignStudy.Create()

scenario = study.getActiveScenario()

curr_results = scenario.results()

curr_results.activate()

# WallResults 객체 작성

wr = Results.WallResults(scenario)

# 관심 있는 표면의 ID 설정 및 계산 요청

wr.select(15)

wr.select(9)

wr.calculate()

# 결과 가져오기

area = wr.area(15)

pressure = wr.pressure(15)

temp = wr.temperature(15)

fx, fy, fz = 0.0, 0.0, 0.0 # 값이 3개이므로 힘이 다소 복잡함

err, fx, fy, fz = wr.force(fx, fy, fz)

print("Area = ", area)

print("*Press = *", pressure)

print("*Temp = *", temp)

print("*FX = *", fx)

print("*FY = *", fy)

print("*FZ = *", fz)

DSE.UI.ShowMessage( "Area = " + str(area) )

DSE.UI.ShowMessage( "Press = " + str(pressure) )

DSE.UI.ShowMessage( "Temp = " + str(temp) )

DSE.UI.ShowMessage( "FX = " + str(fx) )

DSE.UI.ShowMessage( "FY = " + str(fy) )

DSE.UI.ShowMessage( "FZ = " + str(fz) )

# 또는 모든 벽 결과를 파일에 쓸 수 있음

wr.writeToFile("C:/wr.csv")

print("벽 결과가 c:/wr.csv에 기록됨")

DSE.UI.ShowMessage( "벽 결과가 c:/wr.csv에 기록됨" )

스크립트 섹션 설명

from CFD import Setup

from CFD import Results

from CFD import DSE

> 헤더 섹션에서는 스크립트에서 참조할 각 모듈을 선언해야 합니다. 모두 CFD 프로젝트에서 가져옵니다. 모듈 리스트에 대한 프로그래밍 참조에서 모듈을 클릭합니다.

study = Setup.DesignStudy.Create()

이 행은 설정 모듈, DesignStudy 클래스 및 Create 메서드에서 정의된 대로 study라는 변수를 선언합니다. 설계 연구에서 핸들을 가져오는 방법이기도 합니다. Autodesk® CFD 세션 중에 설계 연구가 하나만 열려 있으므로 설계 연구 이름을 지정할 필요가 없습니다.

scenario = study.getActiveScenario()

> 이 행은 연구의 활성 시나리오를 가져옵니다. 언제든지 활성 시나리오는 하나만 있으므로 시나리오 이름을 지정할 필요가 없습니다. 열려 있지 않은 시나리오를 참조하려는 경우는 예외입니다.

curr_results = scenario.results()

> 시나리오의 결과를 가져옵니다.

curr_results.activate()

> 이 명령은 현재 결과를 활성화합니다.

wr = Results.WallResults(scenario)

> 벽 결과에 필요한 매개변수를 초기화합니다. 모듈 페이지에서 결과 패널을 클릭하여 WallResults 클래스에 액세스합니다. WallResults 명령은 WallResults 클래스 페이지에 있습니다.

wr.select(15)

wr.select(9)

wr.calculate()

> Select 함수를 사용하여 해당 ID 번호를 갖는 특정 표면을 선택합니다(이 경우 표면 15 및 9). Calculate 함수를 사용하여 계산을 시작합니다.

area = wr.area(15)

pressure = wr.pressure(15)

temp = wr.temperature(15)

fx, fy, fz = 0.0, 0.0, 0.0 # 값이 3개이므로 힘이 다소 복잡함

err, fx, fy, fz = wr.force(fx, fy, fz)

> 표면의 면적, 압력 및 온도를 계산합니다. force 함수를 사용하여 세 가지 힘 구성요소를 계산합니다.

print("Area = ", area)

print("*Press = *", pressure)

print("*Temp = *", temp)

print("*FX = *", fx)

print("*FY = *", fy)

print("*FZ = *", fz)

> print 명령을 사용하여 결과를 출력하기 위한 문자열을 작성합니다.

DSE.UI.ShowMessage( "Area = " + str(area) )

DSE.UI.ShowMessage( "Press = " + str(pressure) )

DSE.UI.ShowMessage( "Temp = " + str(temp) )

DSE.UI.ShowMessage( "FX = " + str(fx) )

DSE.UI.ShowMessage( "FY = " + str(fy) )

DSE.UI.ShowMessage( "FZ = " + str(fz) )

> 출력 막대에 문자열을 표시합니다. 이러한 명령은 DSE 모듈의 UI 클래스에 포함된 ShowMessage 함수를 사용합니다.

wr.writeToFile("C:/wr.csv")

print("벽 결과가 c:/wr.csv에 기록됨")

DSE.UI.ShowMessage( "벽 결과가 c:/wr.csv에 기록됨" )

> 이 명령은 파일에 결과를 씁니다. 함수 writeToFileWallResults 클래스에 있습니다. 마지막 행에는 결과가 출력 막대의 파일에 기록되었음을 확인하는 메시지가 표시됩니다.

관련 항목

API(응용프로그램 프로그래밍 인터페이스)

스크립트 편집기

API 구조 및 계층 개요