Skip to content

hfSectionVisualizer Remote Control 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 authoring commands require an editable geometry section.
  • If a mesh already exists, geometry authoring must not proceed until make-mesh delete is run.
  • Coordinate arguments use yp,zp.
  • Quote coordinate tokens when needed, especially for negative values such as "-25,10".
  • Coordinate-based draw commands resolve against the start-section geometry.
  • When a requested coordinate matches an existing point, the existing point is reused unless the command explicitly rejects duplicates.
  • New points are created with matching start/end coordinates, so taper sections start from the same geometry on both sides.
  • move-point targets one existing point id and updates every connected curve consistently.
  • Direct delete commands record the actual removed ids, so GUI Delete replay does not depend on prior selection reconstruction.
  • select does not require mesh deletion because it does not change geometry.
  • delete-selection requires editable geometry because it removes selected entities.

Draw Point

Syntax:

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

Arguments and behavior:

  • <yp,zp> is one geometry-point coordinate pair.
  • The command creates exactly one point.
  • The command fails if another point already exists at the same coordinates.
  • No curve, face, or rebar is created by this command.

Example:

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

Draw Lines

Syntax:

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

Arguments and behavior:

  • Provide at least two coordinate pairs.
  • Each adjacent pair becomes one line segment.
  • Two points create one line segment, three points create two connected line segments, and so on.
  • Identical consecutive points are rejected.
  • Repeated non-consecutive points are allowed, so a polyline can return to a previous point.
  • Existing matching points are reused; missing points are created automatically.

Example:

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

Draw Bezier

Syntax:

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

Arguments and behavior:

  • Provide exactly three control points.
  • All three points must be distinct.
  • The command creates one quadratic bezier curve.
  • The curve seed is initialized from the current section-model default curve seed.
  • Existing matching points are reused; missing points are created automatically.

Example:

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

Draw Spline

Syntax:

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

Arguments and behavior:

  • Provide at least three control points.
  • The command creates one spline curve through the requested points.
  • Repeated coordinates are rejected except for one closing case:
  • if the last point matches the first point, the spline is created as a closed spline
  • The curve seed is initialized from the current section-model default curve seed.
  • Existing matching points are reused; missing points are created automatically.

Example:

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

Move Point

Syntax:

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

Arguments and behavior:

  • <point-id> is one existing geometry point id.
  • <yp,zp> is the destination coordinate pair for that point.
  • The command updates every connected curve after the point move.
  • --merge on keeps the moved point id and merges any duplicate destination point into it.
  • --merge off leaves other points untouched, even if another point already exists at the destination.
  • The command succeeds as a no-op when the destination already matches the current point coordinates.

Example:

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

Delete Point

Syntax:

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

Arguments and behavior:

  • <id,id,...> is a comma-separated point-id list.
  • Points are deleted only when they are not referenced by any remaining curve or rebar.
  • Safe ids are deleted; blocked ids are reported in the JSON result.

Example:

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

Delete Curve

Syntax:

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

Arguments and behavior:

  • <id,id,...> is a comma-separated curve-id list.
  • Curves are deleted only when they are not referenced by any remaining face.
  • Safe ids are deleted; blocked ids are reported in the JSON result.

Example:

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

Delete Face

Syntax:

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

Arguments and behavior:

  • <id,id,...> is a comma-separated face-id list.
  • Every requested face id is deleted directly.

Example:

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

Delete Rebar

Syntax:

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

Arguments and behavior:

  • <id,id,...> is a comma-separated rebar-id list.
  • Every requested rebar id is deleted directly.

Example:

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

Select

Syntax:

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

Arguments and behavior:

  • <point|curve|face|rebar> chooses one geometry entity type.
  • <id,id,...> is a comma-separated positive-id list.
  • --mode replace rebuilds the selection from the requested ids.
  • --mode add, remove, and toggle update the current selection state in place.
  • The command changes selection only; it does not create or delete geometry.

Example:

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

Delete Selection

Syntax:

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

Arguments and behavior:

  • The command deletes the currently selected removable entities in the active section.
  • Faces and rebars in the selection are deleted immediately.
  • Curves referenced by faces are kept and remain selected.
  • Points referenced by curves or rebars are kept and remain selected.
  • If nothing removable is selected, the command succeeds as a no-op.

Example:

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