처음 시작하기
Report를 작성하면서 계산을 연결할 때는 Report Workbench, 계산 Flow를 먼저 만들 때는 PXFLOW Studio 또는 Python SDK에서 시작합니다. 두 경로는 Flow가 Report와 다른 화면에 공개한 input과 result에서 연결됩니다.
시작 전에 준비하기
- 로그인한 뒤 My projects에서 작업할 Project를 엽니다.
- Project가 없다면 New project로 만들거나, 조직에서 제공한 예제 Project를 엽니다.
- 다른 사람이 만든 Project라면 Report 편집과 Flow 실행 권한이 있는지 확인합니다.
- 예제에서 사용할 Function이나 Component가 보이지 않으면 Project dependencies에서 설치 상태를 확인합니다.
시작 방법 선택
Report에서 시작
- My projects에서 Project를 고르고 Report를 선택합니다.
- 새 Report를 만들고 본문, 계산 입력값 또는 표를 작성합니다.
- 새 table input은 빈 문단에 글자 입력 위치(caret)를 두고 @ Insert → PXFLOW → Use report input으로 connected table을 만듭니다. 기존 text나 number는 선택한 뒤 같은 메뉴로 연결할 수 있습니다. 기존 ordinary 표 범위를 직접 승격하는 경로는 아직 계획 단계입니다.
- 결과를 표시할 위치에서 @ Insert → PXFLOW → Show result를 선택합니다.
- Report를 Save하고 연결한 Flow에서 Run을 선택합니다.
- Report의 결과 위치와 Project Activity에서 Result를 확인합니다.
Flow 화면에서 시작
시작 화면의 My projects가 Project Home입니다. 첫 예제에 필요한 공유 Function과 Scalar Component는 이미 준비되어 있으므로 코드 작성이나 추가 설치 없이 화면 순서를 따라갈 수 있습니다.
- Function은 여러 Flow에서 다시 쓰는 계산 기능입니다. Flow에 놓으면 그 Function을 가리키는 Function Reference Node가 됩니다.
- Component는 아래 Components dock에서 고르는 준비된 기능 카드입니다. Canvas에 놓으면 현재 Flow의 Node가 됩니다.
- Flow key는 Project 안에서 이 Flow만 가리키는 고유한 이름입니다. 나중에 Report 연결과 코드·CLI·AI 자동화가 이 이름으로 이 Flow를 찾습니다. 이름에
Girder utilization을 입력하면girder_utilization_flow로 자동으로 채워지므로 첫 예제에서는 그대로 둡니다.
- My projects에서 작업할 Project를 고르고 PXFLOW를 선택합니다.
- 새 Flow의 이름과 설명을 입력하고, 자동으로 채워진 Flow key는 그대로 둡니다.
- 준비된 Function과 Scalar Component를 Node로 놓고 입력과 결과를 연결합니다.
- Validate → Save → Run 순서와 Run·Result 영역의 위치를 확인합니다.
- Result를 Report에 표시하려면 Report 연결 안내로 이동합니다.
Python에서 시작
화면 대신 코드로 반복 작성하거나 자동화할 때는 Python SDK에서 시작합니다. Flow만 만들 수도 있고, 필요하면 같은 SDK에서 Report를 작성해 Flow와 연결할 수 있습니다.
SDK 코드는 항상 from pipelinexlab import px로 시작합니다. px.는 SDK가 제공하는 객체와 데이터 계약을 찾는 이름이고, 만든 문서 안의 작업은 그 문서를 담은 변수 이름으로 이어집니다.
| 먼저 쓰는 코드 | 만들어지는 객체 | 이어서 쓰는 코드 |
|---|---|---|
flow = px.Flow(...) | Flow 객체 flow | flow.node(...), flow.connect(...) |
report = px.Report(...) | Report 객체 report | report.section(...), report.save() |
basis = report.section(...) | Section handle basis | basis.text(...), basis.value(...) |
connection = report.connect_flow(...) | Connected Flow handle connection | connection.bind(...), connection.show(...) |
client = px.Client(...) | Client 객체 client | client.run(...), client.run_many(...) |
이 표기 덕분에 같은 Python 파일에 public Flow 하나와 public Report 하나를 함께 작성해도 어느 문서를 바꾸는 코드인지 변수 이름에서 바로 확인할 수 있습니다. 추가 Flow는 Flow별 module로 나누고 Report module에서 필요한 Flow를 import합니다.
아래는 pip install pipelinexlab 뒤에 그대로 실행할 수 있는 가장 작은 Flow입니다. 계산 하나를 Node로 놓고 input 두 개를 연결한 뒤 result 하나를 공개하고 실행합니다.
from pipelinexlab import px
class CheckResults(px.Results):
utilization: float
@px.function(
key="check_resistance",
version="1.0.0",
description="Checks girder demand against resistance.",
)
def check_resistance(span: float, demand: float) -> CheckResults:
resistance = span * 100.0
return CheckResults(utilization=demand / resistance)
flow = px.Flow(
"girder_check",
label="Girder check",
description="Checks girder demand against resistance.",
)
span = flow.input("span", float, unit="m", description="Clear span.")
demand = flow.input("demand", float, unit="kN.m", description="Design demand.")
check = flow.node("resistance_check", check_resistance)
flow.connect(span, check.inputs.span)
flow.connect(demand, check.inputs.demand)
flow.result("utilization", check.results.utilization)
if __name__ == "__main__":
client = px.Client(workspace="engineering", project="bridge_project")
run = client.run(flow, span=12.0, demand=860.0)각 문장이 PXFLOW 화면에서 무엇이 되는지는 이렇게 대응합니다.
| 코드 | 화면에서 보이는 것 |
|---|---|
px.Flow(...) | PXFLOW의 Flow 하나 |
flow.input(...) | Canvas에 공개된 input port |
flow.node(...) | Canvas의 Node 상자 |
flow.connect(...) | Node 사이의 연결선 |
flow.result(...) | Canvas에 공개된 result port |
client.run(...) | Run·Result 영역의 실행 기록 |
workspace와 project는 Project settings에서 확인한 값으로 바꿉니다. Report까지 같은 파일에서 작성해 report.connect_flow(...)로 연결하는 전체 예제는 아래 문서에 있습니다.
어느 경로에서 시작해도 다음 단계는 같습니다
Flow는 PXFLOW Studio 또는 Python SDK 중 편한 방식으로 구성합니다. Report도 Report Workbench 또는 Python SDK 중 편한 방식으로 작성합니다. 저장된 .pxflow와 .pxreport는 어느 작성 방식을 사용했는지와 관계없이 같은 Project에서 열립니다.
- Flow를 실행하기 전에는 Validate → Save로 계산 구조를 확인합니다.
- Report에 Flow를 연결했다면 Report를 Save한 뒤 해당 connection을 Run합니다.
- Report가 필요 없는 Flow는 PXFLOW Studio의 Run 또는 SDK의
client.run(flow, ...)으로 바로 실행합니다. - 완료된 계산은 Project Activity와 Result 영역에서 확인합니다.
선택: Component 추가
문서, 해석 API 같은 업무 기능이 필요하면 현재 Components에서 built-in 기능을 검색합니다. third-party Component의 Available → Add to project, Project-scoped 검색과 Canvas 배치는 V2 계약 구현 뒤 production 절차로 제공합니다.
작업하면서 확인할 핵심 이름
| 이름 | 쉬운 뜻 | 화면에서 보이는 곳 |
|---|---|---|
| Project | Report, Flow, Component dependency와 Result를 함께 찾는 작업 공간 | Project Home |
| Report | 작성값·표와 Flow Result를 문서 위치에 정리하는 보고서 | Report Workbench |
| PXFLOW | Flow를 만들고 살펴보는 제품 화면 | Project Home의 PXFLOW |
| Flow | input을 받아 연결된 Node로 계산하고 result를 만드는 실행 단위 | PXFLOW 화면 |
| Flow key | Project 안에서 이 Flow만 가리키는 고유한 이름. Report 연결과 코드·CLI·AI 자동화가 이 이름으로 Flow를 찾습니다 (girder_utilization_flow) | New Flow의 자동 제안값 |
| Function | 여러 Flow에서 다시 쓰는 계산 기능 | Definitions → Functions |
| Component | Flow에 배치하는 기능 카드. 현재는 built-in을 배치하고, 설치 package가 제공하는 Component는 계획입니다 | Components dock |
| Component package | 필요한 Component를 Project에 한 번에 설치하는 묶음. 현재 저장된 exact target은 unsupported이며 V2 구현 뒤 Canvas 배치를 제공합니다 | Project → Dependencies |
| Node | Flow에 놓인 한 단계 | PXFLOW의 상자 |
| Run | 저장된 Flow를 입력값으로 한 번 계산한 실행 기록 | Run·Result 영역 |
| Result | Run이 저장한 계산값과 사용한 Flow·입력값의 근거 | Result 영역 |
더 많은 용어는 처음 보는 용어에서 확인하세요.
Run과 Result 화면 보기
첫 Flow에서는 기본 Manual 실행 방식을 사용합니다. Run을 눌러 계산을 시작하고, 진행 표시가 Succeeded로 바뀌면 Result의 값과 생성 정보를 확인하세요.
화면 표시와 이용 권한
버튼이나 항목이 화면에 보이는 것과 실제로 사용할 수 있는 것은 다를 수 있습니다. 로그인, Project 접근 권한, 설치된 기능과 입력 상태에 따라 사용할 수 있는 동작이 달라집니다. 화면에 안내가 나오면 해당 Project와 입력을 먼저 확인하세요.
Save와 Run은 언제 누르나
Save는 만들어 둔 구성을 남기는 버튼이고, Run은 계산을 시작하는 버튼입니다. Save만 하면 계산값은 생기지 않습니다.
| 하려는 일 | 누를 것 | 그 결과 |
|---|---|---|
| Node·연결·입력을 지금 상태로 남기기 | Save | Flow revision이 하나 저장됩니다. 계산은 아직 하지 않습니다 |
| 계산값 얻기 | Run | 저장된 revision과 입력값으로 계산이 시작되고, 끝나면 Result가 생깁니다 |
| 구성을 바꾼 뒤 새 값 얻기 | Save → Run | 바꾼 구성이 저장된 뒤 그 상태로 계산합니다 |
Result는 Run이 끝나면 남는 계산값입니다. 값과 함께 어떤 Flow revision과 입력값으로 나온 값인지가 같이 저장되므로, 결과를 사용하기 전에 Run 상태와 그 revision을 확인합니다. Component Node가 만드는 artifact도 Result에서 확인합니다.
작업 전에 확인할 표시
| 표시 | 뜻 | 사용자가 할 일 |
|---|---|---|
| Valid | 입력과 연결을 확인한 화면 상태 | 빠진 입력이나 경고가 없는지 확인 |
| Draft | 아직 적용하지 않은 편집 내용이 있음 | Apply 또는 Cancel 선택 |
| Stale | 입력이나 Flow가 결과 표시 뒤 바뀜 | Flow를 저장하고 새 Run 시작 |
| Running | Run이 진행 중임을 나타내는 표시 | 진행 상태 확인 또는 필요할 때 Cancel |
| Partial | 여러 계산 중 일부만 끝났음을 나타내는 표시 | 실패 항목과 안내 확인 |
| Blocked | 입력이나 권한 때문에 진행할 수 없음 | 화면에 제시된 조치 확인 |
다음: PXFLOW에서 첫 Flow 만들기
준비된 Function과 Component로 첫 Flow 따라 만들기 →
그다음 참고할 문서
개발자용 SDK 경로
Python으로 Flow나 Report를 작성·자동화하거나 재사용 Function과 Component를 개발하려면 SDK 경로를 사용하세요. 화면에서 작성하는 작업은 Report Workbench와 PXFLOW Studio에서 시작합니다.