다음 항목에서는 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에 기록됨" )
> 이 명령은 파일에 결과를 씁니다. 함수 writeToFile은 WallResults 클래스에 있습니다. 마지막 행에는 결과가 출력 막대의 파일에 기록되었음을 확인하는 메시지가 표시됩니다.
관련 항목