콘텐츠로 이동

hfSectionVisualizer 원격 제어 Geometry

Geometry

hfSectionVisualizer --remote [--target <id>] draw-point <yp,zp>
hfSectionVisualizer --remote [--target <id>] draw-lines <yp,zp> <yp,zp> [<yp,zp> ...]
hfSectionVisualizer --remote [--target <id>] draw-bezier <yp,zp> <yp,zp> <yp,zp>
hfSectionVisualizer --remote [--target <id>] draw-spline <yp,zp> <yp,zp> <yp,zp> [<yp,zp> ...]
hfSectionVisualizer --remote [--target <id>] generate-circle <radius> <yp> <zp>
hfSectionVisualizer --remote [--target <id>] generate-circular-points <radius> <yp> <zp> <start-angle-deg> <count>
hfSectionVisualizer --remote [--target <id>] auto-seed --curve-ids <id,id,...>
hfSectionVisualizer --remote [--target <id>] make-face --material <name> --curve-ids <id,id,...>
hfSectionVisualizer --remote [--target <id>] make-rebar --material <name> --point-ids <id,id,...> --diameter <value> [--diameter-right <value>]
hfSectionVisualizer --remote [--target <id>] move-point <point-id> <yp,zp> [--merge <on|off>]
hfSectionVisualizer --remote [--target <id>] delete-point <id,id,...>
hfSectionVisualizer --remote [--target <id>] delete-curve <id,id,...>
hfSectionVisualizer --remote [--target <id>] delete-face <id,id,...>
hfSectionVisualizer --remote [--target <id>] delete-rebar <id,id,...>
hfSectionVisualizer --remote [--target <id>] select <point|curve|face|rebar> <id,id,...> [--mode <replace|add|remove|toggle>]
hfSectionVisualizer --remote [--target <id>] delete-selection
  • Geometry 작성 명령은 편집 가능한 geometry section이 있어야 합니다.
  • 이미 mesh가 있으면 먼저 make-mesh delete를 실행하기 전까지 geometry 작성 명령을 사용할 수 없습니다.
  • 좌표 인자는 yp,zp 형식을 사용합니다.
  • 필요하면 좌표 토큰을 따옴표로 감싸십시오. 특히 "-25,10"처럼 음수로 시작하는 경우를 권장합니다.
  • 좌표 기반 draw 명령은 start-section geometry를 기준으로 좌표를 해석합니다.
  • 요청 좌표와 일치하는 기존 point가 있으면, 해당 명령이 중복을 금지하는 경우를 제외하고 기존 point를 재사용합니다.
  • 새 point는 start/end 좌표를 동일하게 생성하므로, taper section에서도 초기 geometry는 양쪽이 같은 상태로 시작합니다.
  • move-point는 기존 point id 하나를 대상으로 하며, 연결된 모든 curve를 함께 갱신합니다.
  • 직접 삭제 명령은 실제로 삭제된 id를 기록하므로, GUI Delete 재생이 이전 선택 상태 복원에 의존하지 않습니다.
  • select는 geometry 자체를 바꾸지 않으므로 mesh 삭제 없이 사용할 수 있습니다.
  • delete-selection은 선택된 개체를 실제로 제거하므로 편집 가능한 geometry가 필요합니다.

Draw Point

구문:

hfSectionVisualizer --remote [--target <id>] draw-point <yp,zp>

인자와 동작:

  • <yp,zp>는 하나의 geometry point 좌표쌍입니다.
  • 이 명령은 정확히 한 개의 point만 생성합니다.
  • 같은 좌표에 다른 point가 이미 있으면 실패합니다.
  • 이 명령만으로 curve, face, rebar는 생성되지 않습니다.

예시:

hfSectionVisualizer --remote draw-point "0,0"

Draw Lines

구문:

hfSectionVisualizer --remote [--target <id>] draw-lines <yp,zp> <yp,zp> [<yp,zp> ...]

인자와 동작:

  • 좌표쌍을 최소 두 개 이상 전달해야 합니다.
  • 인접한 두 점마다 하나의 line segment가 생성됩니다.
  • 점 두 개면 line 1개, 점 세 개면 연결된 line 2개가 생성됩니다.
  • 연속한 두 점이 완전히 같으면 실패합니다.
  • 연속하지 않은 반복 좌표는 허용되므로, polyline이 이전 점으로 되돌아갈 수 있습니다.
  • 일치하는 기존 point는 재사용하고, 없는 point는 자동으로 생성합니다.

예시:

hfSectionVisualizer --remote draw-lines "0,0" "300,0" "300,120"

Draw Bezier

구문:

hfSectionVisualizer --remote [--target <id>] draw-bezier <yp,zp> <yp,zp> <yp,zp>

인자와 동작:

  • 제어점 세 개를 정확히 전달해야 합니다.
  • 세 점은 모두 서로 달라야 합니다.
  • 이 명령은 2차 bezier curve 1개를 생성합니다.
  • curve seed는 현재 section model의 기본 curve seed로 초기화됩니다.
  • 일치하는 기존 point는 재사용하고, 없는 point는 자동으로 생성합니다.

예시:

hfSectionVisualizer --remote draw-bezier "0,0" "150,80" "300,0"

Draw Spline

구문:

hfSectionVisualizer --remote [--target <id>] draw-spline <yp,zp> <yp,zp> <yp,zp> [<yp,zp> ...]

인자와 동작:

  • 제어점은 최소 세 개 이상 전달해야 합니다.
  • 이 명령은 전달한 점들을 지나는 spline curve 1개를 생성합니다.
  • 반복 좌표는 기본적으로 허용되지 않으며, 아래 한 가지 닫힘 경우만 예외입니다.
  • 마지막 점이 첫 번째 점과 같으면 closed spline으로 생성됩니다.
  • curve seed는 현재 section model의 기본 curve seed로 초기화됩니다.
  • 일치하는 기존 point는 재사용하고, 없는 point는 자동으로 생성합니다.

예시:

hfSectionVisualizer --remote draw-spline "0,0" "120,80" "240,40" "240,-40" "0,0"

Move Point

구문:

hfSectionVisualizer --remote [--target <id>] move-point <point-id> <yp,zp> [--merge <on|off>]

인자와 동작:

  • <point-id>는 기존 geometry point id 하나입니다.
  • <yp,zp>는 해당 point의 목적 좌표쌍입니다.
  • 이 명령은 point를 이동한 뒤, 연결된 모든 curve를 함께 갱신합니다.
  • --merge on이면 이동한 point id를 유지하면서 목적지의 중복 point를 그 id로 병합합니다.
  • --merge off이면 목적지에 다른 point가 이미 있어도 그 point는 건드리지 않고 좌표만 이동합니다.
  • 목적지 좌표가 현재 좌표와 같으면 no-op으로 성공합니다.

예시:

hfSectionVisualizer --remote move-point 12 "250,100" --merge off

Delete Point

구문:

hfSectionVisualizer --remote [--target <id>] delete-point <id,id,...>

인자와 동작:

  • <id,id,...>는 쉼표로 구분한 point id 목록입니다.
  • point는 남아 있는 curve 또는 rebar가 참조하지 않을 때만 삭제됩니다.
  • 안전하게 지울 수 있는 id는 삭제되고, 막힌 id는 JSON 결과의 blockedIds로 보고됩니다.

예시:

hfSectionVisualizer --remote delete-point "8,12"

Delete Curve

구문:

hfSectionVisualizer --remote [--target <id>] delete-curve <id,id,...>

인자와 동작:

  • <id,id,...>는 쉼표로 구분한 curve id 목록입니다.
  • curve는 남아 있는 face가 참조하지 않을 때만 삭제됩니다.
  • 안전하게 지울 수 있는 id는 삭제되고, 막힌 id는 JSON 결과의 blockedIds로 보고됩니다.

예시:

hfSectionVisualizer --remote delete-curve "3,7"

Delete Face

구문:

hfSectionVisualizer --remote [--target <id>] delete-face <id,id,...>

인자와 동작:

  • <id,id,...>는 쉼표로 구분한 face id 목록입니다.
  • 요청한 face id는 직접 삭제됩니다.

예시:

hfSectionVisualizer --remote delete-face "4,5"

Delete Rebar

구문:

hfSectionVisualizer --remote [--target <id>] delete-rebar <id,id,...>

인자와 동작:

  • <id,id,...>는 쉼표로 구분한 rebar id 목록입니다.
  • 요청한 rebar id는 직접 삭제됩니다.

예시:

hfSectionVisualizer --remote delete-rebar "2,9"

Select

구문:

hfSectionVisualizer --remote [--target <id>] select <point|curve|face|rebar> <id,id,...> [--mode <replace|add|remove|toggle>]

인자와 동작:

  • <point|curve|face|rebar>는 선택할 geometry 개체 종류입니다.
  • <id,id,...>는 양의 정수 id를 쉼표로 나열한 목록입니다.
  • --mode replace는 요청한 id 집합으로 선택을 다시 구성합니다.
  • --mode add, remove, toggle은 현재 선택 상태를 기준으로 갱신합니다.
  • 이 명령은 선택만 변경하며 geometry를 생성하거나 삭제하지 않습니다.

예시:

hfSectionVisualizer --remote select curve "3,7,9" --mode add

Delete Selection

구문:

hfSectionVisualizer --remote [--target <id>] delete-selection

인자와 동작:

  • 현재 활성 section에서 선택된 삭제 가능한 개체를 제거합니다.
  • 선택된 face와 rebar는 즉시 삭제됩니다.
  • face가 참조하는 curve는 삭제되지 않고 선택 상태로 남습니다.
  • curve 또는 rebar가 참조하는 point는 삭제되지 않고 선택 상태로 남습니다.
  • 삭제 가능한 선택이 없으면 no-op으로 성공합니다.

예시:

hfSectionVisualizer --remote select face "4"
hfSectionVisualizer --remote delete-selection