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 deleteis 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-pointtargets 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.
selectdoes not require mesh deletion because it does not change geometry.delete-selectionrequires 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 onkeeps the moved point id and merges any duplicate destination point into it.--merge offleaves 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 replacerebuilds the selection from the requested ids.--mode add,remove, andtoggleupdate 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