Artifact result가 표시될 위치 만들기
용도
section.artifact_slot(...)는 Flow가 반환한 px.Artifact를 Report에서 열거나 내려받을 위치를 만듭니다. 값은 ResultSnapshot이 소유하고 Report는 exact result reference를 표시합니다.
문법
section.artifact_slot(slot_key, *, label, accepts)예제
figure_slot = summary.artifact_slot(
"analysis_figure",
label="Analysis figure",
accepts=["image/png"],
)
analysis.show(
"analysis_figure_result",
flow.results.image,
at=figure_slot,
)규칙
slot_key는 Report 전체에서 유일한 stable key입니다.accepts는application/pdf,image/png,image/jpeg,image/svg+xml,text/csv,application/json,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet중 하나 이상을 중복 없이 고르는 목록입니다.- Artifact bytes를
.pxreportmapping에 복제하지 않습니다. - 한 slot에는 active result mapping 하나만 연결합니다.
- 실제 결과의 MIME이
accepts에 없으면 Report 반영을 거절합니다. Run의 계산 성공과run.projection.state의 반영 결과는 별개입니다.
현재 실제 Worker 생성부터 Report 저장·재조회·export/import까지 검증한 이미지 경로는 PNG입니다. 위 accepts 목록은 슬롯 선언의 허용 목록이며, 모든 형식의 생성기나 화면 뷰어가 구현됐다는 뜻은 아닙니다. 반영된 슬롯은 snapshot/value reference와 검증된 파일 descriptor를 함께 저장합니다. client.export_documents(...)는 이 슬롯의 원본 파일도 포함하므로 다른 Project에 가져온 뒤 원래 Run을 다시 실행하지 않고 내보낼 수 있습니다. 이전 리비전의 그림은 이후 실행으로 덮어쓰지 않습니다.
실제 라이브러리 예제 section_properties_analysis.py는 sectionproperties의 형상·메시·도심 PNG를 각각 슬롯에 연결합니다. 준비된 Linux Python 실행 환경에서 Worker가 생성한 파일과 Report의 저장·내보내기 파일을 대조했습니다. Flow의 저장된 뷰어와 Report 실행 패널도 공용 reader로 같은 Run을 조회합니다. 별도 라이브러리 실행 환경과 Project의 조회·실행 host가 필요하며, 특정 공개 주소의 서비스 제공 상태는 별도로 확인해야 합니다. 같은 Run을 확인하는 순서를 참고하세요.
Report 읽기·편집 서비스가 연결된 화면에서는 반영된 PNG 슬롯을 본문 이미지로 표시합니다. 이미지는 그 Report 리비전의 파일 조회를 거쳐 읽으며, 표시·로딩만으로 저장본이나 Undo 이력을 바꾸지 않습니다. 원본을 읽을 수 없으면 이미지를 사용할 수 없다는 안내를 표시합니다. PNG 이외 형식의 본문 뷰어는 이 지원 범위에 포함하지 않습니다.