Host API functions
Every function the host hands a plugin in Yu3dHostApi — 289 in 12 groups, ABI version 2u. Generated from sdk/include/yu3d_plugin.h.
Registration
Called once from yu3d_plugin_register to declare the node types and commands the plugin contributes.
| Function | Returns | Purpose |
|---|---|---|
register_command | void | registration (call during yu3d_plugin_register) |
register_node_type | void | ---- registration (call during yu3d_plugin_register) ---- |
Module manifest
Declares the plugin as a module the host can list, enable and disable.
| Function | Returns | Purpose |
|---|---|---|
align_set_bond | int | Bond an existing alignment to its parent(s) — turns a plain alignment into a LIVE derived one (offset / curb return / connected). kind_code as in align_kind;… |
align_set_geometry_ex | int | Superset of align_set_geometry that also builds SPIRALS. Each record is 8 doubles {type, x, y, bearing_deg, p0, p1, p2, p3}: type 0 = tangent (p0 = length; p… |
corridor_add_baseline | int | Add an extra baseline to a multi-baseline corridor, following alignment_uuid (its design profile; flat 0 if none) with one region bound to assembly_uuid … |
Commands
Rich command registration and the parameter values a generated form hands back.
| Function | Returns | Purpose |
|---|---|---|
args_get | double | Read a resolved form value by param name inside a run_args callback. Returns fallback if the name is absent. Bool = 0/1; Choice = index. |
register_command_ex | void | ---- rich command registration (see Yu3dCommandDesc) ---- |
Properties
Editable fields and read-only summaries a node type publishes to the Properties dock.
| Function | Returns | Purpose |
|---|---|---|
plan_set_pick_id | void | ---- sub-entity tagging for picking. Call before emitting a part's pickable segments in a plan_render callback; a click then resolves to (node, sub_id) and t… |
register_property | void | ---- register a node type's editable properties (call during yu3d_plugin_register, after register_node_type). props points to an array of n_props descrip… |
Document query
Read the document tree during a command. Node handles live only for the duration of the callback.
| Function | Returns | Purpose |
|---|---|---|
doc_current_selection | int | ---- current selection: writes the selected node's uuid into out (NUL-terminated, truncated to out_len). Returns 1 if something is selected, 0 otherwise (o… |
doc_find_node | Yu3dNode* | document QUERY. Node handles are valid ONLY for the duration of the command callback; never store them. The const char* returned by node_type/name/uuid point… |
doc_root | Yu3dNode* | ---- document QUERY. Node handles are valid ONLY for the duration of the command callback; never store them. The const char* returned by node_type/name/uuid … |
node_child | Yu3dNode* | document QUERY. Node handles are valid ONLY for the duration of the command callback; never store them. The const char* returned by node_type/name/uuid point… |
node_child_count | uint32_t | document QUERY. Node handles are valid ONLY for the duration of the command callback; never store them. The const char* returned by node_type/name/uuid point… |
node_get_property | int | Read a node's current property value (resolves the registered provider). sub_id < 0 = a node-level property; >= 0 = a sub-entity property. Returns 1 on succe… |
node_name | const char* | type id |
node_parent | Yu3dNode* | document QUERY. Node handles are valid ONLY for the duration of the command callback; never store them. The const char* returned by node_type/name/uuid point… |
node_payload | void* | The opaque payload for ANY plugin-backed node (an ExternNode), null for a core node type. NOTE: the host has no caller identity, so this returns the payload … |
node_type | const char* | null at the root |
node_uuid | const char* | document QUERY. Node handles are valid ONLY for the duration of the command callback; never store them. The const char* returned by node_type/name/uuid point… |
Document mutation
Change the document. Every mutation is one undoable edit — the host owns undo, the plugin never does.
| Function | Returns | Purpose |
|---|---|---|
advertise_module | void | ---- module manifest / activation ("sell module combinations") ---- A plugin advertises itself, marks itself active once it has registered its seams, and can… |
align_bond | int | The DERIVED-alignment bond. Returns 1 and fills the outs when kind != Centerline (a bonded offset / curb-return / connected), else 0. Parent uuids go into th… |
align_category | const char* | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
align_create | int | Alignment authoring. category: "Road" (default), "Rail", "Tunnel", "Bridge", "Misc". align_set_geometry replaces the horizontal with a chained segment list… |
align_create_offset | int | A true Offset Alignment: per-element parallel of parent_uuid at the signed offset, bonded to it (kind = Offset) so the host can recompute it when the paren… |
align_elevation_at | int | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
align_evaluate | int | Sample an alignment (node uuid) at station station_m (metres). Writes any non-null out (position, bearing degrees, curvature 1/R). Returns 1 on success, 0 … |
align_h_element | int | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
align_h_element_count | uint32_t | Horizontal geometry as a chained element list. align_h_element writes 9 doubles into out9 (which must hold 9): {type, length, start_x, start_y, start_beari… |
align_kind | const char* | Alignment ROLE + world, as the .yu3dx "kind"/"category" codes ("Centerline"/"Offset"/"Curb Return"/"Connected"/"Misc" and "Road"/"Rail"/"Tunnel"/"Bridge"/"Mi… |
align_set_geometry | int | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
align_set_profile | int | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
align_station_range | int | The alignment's [start, end] station in metres. Returns 1 on success. |
align_v_pvi | int | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
align_v_pvi_count | uint32_t | Design-profile VPIs. align_v_pvi writes 3 doubles: {station_m, elev_m, curve_len_m}. align_elevation_at gives the design elevation at a station (0 if there i… |
assembly_create_preset | int | Project assembly from a program flow preset label (the Assemblies library names, e.g. "Two-Lane Road", "Rail - Ballasted Single Track"). |
corridor_baseline_count | uint32_t | Corridor structure. baseline 0 = the primary; 1..N = bundled extras (e.g. an intersection's curb-return baselines). |
corridor_bind_assembly | int | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
corridor_create | int | Corridor on an alignment (uses its design profile; a road with no profile gets a flat one at 0). Bind a project assembly per region (region_idx 0-based; a fr… |
corridor_region_assembly | int | The assembly bound to (baseline, region); writes its uuid, "" if unbound. |
corridor_region_count | uint32_t | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
doc_add_node | void | ---- document mutation (use from a command). Wraps payload in a node of type_id and adds it under the document root as one undoable edit. The host takes … |
doc_add_node_under | void | ---- document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical string… |
doc_crs_definition | const char* | Project CRS as a PROJ string ("EPSG:5254"); "" if not georeferenced. |
doc_design_speed_kmh | double | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
doc_design_standard | const char* | Road design rule set code ("AASHTO"/"RAL"/"VSS"/"KGM") + design speed. |
doc_ensure_group | void | Find a direct Group child of parent_uuid named group_name, creating it if absent (NOT a duplicate undo each call — created once). parent null/empty => un… |
doc_ground_elevation | int | Ground elevation sampled from the document's surfaces at (x,y). Returns 1 and writes *out_z, or 0 if no surface covers the point. |
doc_is_metric | int | Document display units: 1 = metric, 0 = imperial. (The model is always SI metres; this is only how the UI formats — useful for a module's own labels.) |
doc_load_exchange | int | Merge a .yu3dx exchange file INTO the document: its alignments and surfaces are added under root-level "Alignments" / "Surfaces" groups. The existing content… |
doc_remove_node | void | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
doc_rename_node | void | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
doc_save | int | Save the document as a normal .yu3d file. |
doc_save_exchange | int | Write the document's civil content (alignments + surfaces) as a .yu3dx JSON exchange file — the format the Civil 3D bridge plugin reads and writes. |
doc_set_property | void | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
is_module_active | int | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
plan_add_triangle | void | Plan render: a filled triangle (world coords) with RGBA; alpha < 1 blends overlaps so clashes show. Tessellate footprints (pipe bands, discs, pavement) into … |
plan_real_width | int | Nonzero when the canvas wants TRUE 2D footprints (real-width mode) instead of thin sketch symbols — branch your plan renderer on it. |
reader_version | uint32_t | Inside a node type's READ callback: the host document-format version the payload was written with, so a plugin can migrate an older payload (it still reads i… |
register_plan_grips | void | Register draggable plan grips for a node type (see Yu3dPlanGripFn). Commits ride the sub-entity pos_x/pos_y/rotation properties, so register those too. |
register_property_ex | void | Register a node type's editable fields with category / CHOICE options / unit quantity (see Yu3dPropertyDescEx). Supersedes register_property. |
register_subentity_property | void | Register a node type's per-sub-entity property page (see Yu3dSubPropListFn). |
run_command | int | Run a registered command (module or core, e.g. "road.junction.create") headlessly. keys/values are n parallel argument arrays; a value that parses as a numbe… |
scene_set_pick_id | void | 3D render: tag subsequently-emitted geometry with a sub-entity id, so a click in 3D selects exactly that part (mirrors plan_set_pick_id). |
set_module_active | void | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
surface_add_breakline | int | Surface breaklines — the TIN-forced edges (ridges / toes / pavement edges). add appends one polyline (>= 2 points, n_pts x/y/z triples) and re-enforces it on… |
surface_breakline_count | uint32_t | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
surface_create | int | Surface from a point cloud (n_points x/y/z triples, triangulated). |
surface_get_breakline | uint32_t | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
surface_get_points | uint32_t | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
surface_get_triangles | uint32_t | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
surface_point_count | uint32_t | Surface point cloud + triangulation (USER points; the internal super-triangle is stripped and indices are 0-based into the point array). get_* copy up to `ma… |
surface_triangle_count | uint32_t | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
COGO points
Create and read survey point groups.
| Function | Returns | Purpose |
|---|---|---|
align_build_from_pis | int | The Alignment Layout Tools commit — a PI polyline turned into tangents with per-PI fillets (plain arc, or spiral-arc-spiral when there is room), the SAME geo… |
align_connect | int | Derived alignments (the Alignment menu's headless faces). align_connect: the tangent-arc-tangent fillet joining the END of a to the START of b (radius 0 … |
align_create_best_fit | int | align_create_best_fit — least-squares line-or-arc alignment through n_pts (x, y) pairs (the better RMS wins; the choice and RMS are logged). name NULL/empty … |
align_create_offset_ex | int | Offset alignment WITH the cross-fall that derives its profile. align_create_offset above builds the plan geometry and (since it routes through the same engin… |
align_duplicate | int | COGO point groups (M8 cont.) |
align_extract_feature_lines | int | COGO point groups (M8 cont.) |
align_from_corridor_feature | int | COGO point groups (M8 cont.) |
align_get_profile | int | align_get_profile (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. Reads the design profile's VPIs back -- the read counterpart align_set_profile / _e… |
align_mirror | int | COGO point groups (M8 cont.) |
align_move_endpoint | int | Endpoint grip drag (geom::refit_alignment_endpoint): move the START (move_start != 0) or END vertex to (x, y). A free move / tangent end re-fits a straight; … |
align_rotate | int | COGO point groups (M8 cont.) |
align_set_arc_radius_by_point | int | Arc-radius grip (geom::set_arc_radius_by_point): seg_index must be a tangent-arc-tangent fillet; the dragged point scales R about the PI (tangency preserved)… |
align_set_elements | int | Replace an alignment's horizontal from a semantic ELEMENT list — the AlignmentBuilder reflow (tangent lock ON): positions chain at the previous real end, par… |
align_set_profile_ex | int | align_set_profile with per-VPI curve types (0 parabolic, 1 circular — exact arc; see the v105 kernel). types may be null = all parabolic; unknown values fail… |
align_set_station_equations | int | COGO point groups (M8 cont.) |
align_station_equations_json | int | COGO point groups (M8 cont.) |
align_translate | int | Alignment transforms (yucad3d-web#35) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The desktop Modify menu's Move/Rotate/Mirror over the shared geom transforms,… |
alignment_report | int | alignment_report (yucad3d#64) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The deliverable geometry report for one alignment: element table (type / stations / l… |
assembly_add_input | int | COGO point groups (M8 cont.) |
assembly_add_link | int | COGO point groups (M8 cont.) |
assembly_add_point | int | COGO point groups (M8 cont.) |
assembly_add_seeded | int | Containers + path addressing (yucad3d#109 phase 2b). Every node in assembly_flow_json carries a path ("<i>" root index, then ".s<K>.<I>" child-sequence ste… |
assembly_add_shape | int | COGO point groups (M8 cont.) |
assembly_cant_set | int | Rail cant preview (the desktop Cant tab): pivot -1 left rail / 0 centerline / +1 right rail; rail pivot POINT names; preview delta elevations; gauge (<= 0 = … |
assembly_create_empty | int | ---- assembly FlowGraph authoring (yucad3d#87 batch 5) ------------ APPEND-ONLY -- probe with YU3D_HOST_HAS. The programmatic subset for building an assembly… |
assembly_export_pkt | int | COGO point groups (M8 cont.) |
assembly_flow_json | int | ---- web Assembly Designer read faces (yucad3d#109) --------------- APPEND-ONLY -- probe with YU3D_HOST_HAS. assembly_flow_json writes the assembly's flow ST… |
assembly_import_pkt | int | Civil 3D Subassembly Composer package (.pkt) interchange. assembly_import_pkt converts the package into an Assembly node under parent_uuid (NULL/empty = do… |
assembly_input_count | uint32_t | Input introspection + instance parameters. assembly_input_info's strings point at the host scratch ring -- copy them immediately; out_type is the FlowParam… |
assembly_input_info | int | COGO point groups (M8 cont.) |
assembly_input_remove | int | COGO point groups (M8 cont.) |
assembly_input_update | int | Full input-parameter row edit (the desktop Input Parameters table: Name | Type | Default | Description). type = the FlowParam type (0 Real, 1 Integer, 2 Bool… |
assembly_insert_part | int | Compose a library part (label resolution = assembly_create_preset: the on-disk library first, then the built-in preset catalog) into the assembly at `attach_… |
assembly_library_load | int | COGO point groups (M8 cont.) |
assembly_library_publish | int | Publish the assembly's flow into the SHARED program library ("<library dir>/<node name>.yu3dasm") so it appears in the catalogue (assembly_preset_count / par… |
assembly_library_save | int | .yu3dasm library-file round trip -- the desktop's assembly library format, so a web-designed assembly drops straight into <exe>/assemblies. save exports the … |
assembly_move_box | int | Store a flowchart-canvas position on the node at path (the box drag commit; assembly_flow_json echoes it as canvas_x/canvas_y — (0,0) is the auto-layout se… |
assembly_preset_count | uint32_t | ---- assembly catalogue enumeration ------------------------------- The labels assembly_create_preset accepts, so a client can offer the catalogue instead of… |
assembly_preset_info | int | COGO point groups (M8 cont.) |
assembly_preview_json | int | COGO point groups (M8 cont.) |
assembly_preview_json_ex | int | Superelevation preview (yucad3d#109 phase 2d-2). assembly_preview_json_ex = assembly_preview_json with a superelevation context: the signed cross-fall the ba… |
assembly_remove_at | int | COGO point groups (M8 cont.) |
assembly_remove_node | int | COGO point groups (M8 cont.) |
assembly_reparent | int | COGO point groups (M8 cont.) |
assembly_set_input | int | COGO point groups (M8 cont.) |
assembly_set_node_field | int | COGO point groups (M8 cont.) |
assembly_sketch_link | int | COGO point groups (M8 cont.) |
assembly_sketch_move | int | COGO point groups (M8 cont.) |
assembly_sketch_point | int | Sketch gestures -- the desktop FlowSketchCanvas contract over the ABI, so a canvas (web or plugin) draws and the GRAPH rules mint the nodes. ref names the … |
assembly_sketch_shape | int | COGO point groups (M8 cont.) |
assembly_super_set | int | COGO point groups (M8 cont.) |
assembly_switch_case_add | int | COGO point groups (M8 cont.) |
assembly_switch_case_remove | int | COGO point groups (M8 cont.) |
assembly_target_remove | int | COGO point groups (M8 cont.) |
assembly_target_set | int | Targets + Switch cases + reparent (yucad3d#109 phase 2c). assembly_target_set declares-or-updates a target parameter by name (kind 0 Surface / 1 Offset / 2 E… |
assembly_update_link | int | COGO point groups (M8 cont.) |
assembly_update_point | int | Node update / delete (yucad3d#109 phase 2a) -- by-NAME addressing (container bodies are searched too). The update faces take the FULL editable field set the … |
assembly_update_shape | int | COGO point groups (M8 cont.) |
audit_issue | int | COGO point groups (M8 cont.) |
audit_run | uint32_t | Design audit at the document's active standard + design speed. audit_run recomputes and caches the issue list for this document; audit_issue reads the cached… |
cogo_dir_dir_point | int | COGO point groups (M8 cont.) |
cogo_dist_dist_points | int | COGO point groups (M8 cont.) |
cogo_interpolate_points | int | COGO point groups (M8 cont.) |
cogo_slope_distance_point | int | COGO point groups (M8 cont.) |
cogo_station_offset_point | int | COGO point tools (yucad3d-web#36) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The desktop Points menu over the algo/Cogo math: each creates a point group (grou… |
corridor_get_region_blend | int | Corridor Region Blend faces (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The length over which adjacent regions' cross-sections taper into each ot… |
corridor_mesh | int | Tessellate a corridor into its display/earthwork TIN — the SAME builder the desktop Corridor Surface command uses (algo::build_corridor_surface, sections eve… |
corridor_plan_json | int | corridor_plan_json (yucad3d-web#20) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The plan-view corridor footprint the desktop canvas draws (signed pavement exte… |
corridor_set_named_target | int | corridor_set_named_target (yucad3d#162) -- APPEND-ONLY, probe with YU3D_HOST_HAS. Binds a FlowTarget NAME on the corridor to an AlignmentNode: kind 0 = Offse… |
corridor_set_region_blend | int | COGO point groups (M8 cont.) |
corridor_set_regions | int | corridor_set_regions — rebuild one baseline's region layout at ends (n_ends region end stations, m) with PRESERVE-UNLESS- OVERRIDDEN bindings: assemblies =… |
corridor_set_super_override | int | COGO point groups (M8 cont.) |
corridor_set_widening_override | int | COGO point groups (M8 cont.) |
corridor_super_json | int | Superelevation Editor faces (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. corridor_super_json seeds the editor table (override rows when set, else … |
corridor_widening_json | int | Curve Widening Editor faces (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS; the widening mirror of the superelevation trio. corridor_widening_json re… |
crs_search_json | int | crs_search_json (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The PROJ catalogue behind the Coordinate System dialog: {"total":N,"items":[[auth_cod… |
design_standard_json | int | COGO point groups (M8 cont.) |
distance_inquiry_json | int | distance_inquiry_json (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. Grid vs ground distance between two projected points (setting-out): geodesy fro… |
doc_can_redo | int | COGO point groups (M8 cont.) |
doc_can_undo | int | COGO point groups (M8 cont.) |
doc_diff_row | int | COGO point groups (M8 cont.) |
doc_diff_run | int | ---- version diff (yucad3d-web#3) --------------------------------- APPEND-ONLY vtable -- probe with YU3D_HOST_HAS. doc_diff_run compares THIS document (the … |
doc_import_dxf | int | doc_import_dxf (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The import counterpart doc_save_dxf never had: algo::import_dxf on path, every produ… |
doc_redo | int | COGO point groups (M8 cont.) |
doc_save_dxf | int | COGO point groups (M8 cont.) |
doc_save_glb | int | COGO point groups (M8 cont.) |
doc_save_landxml | int | Document-level exports: LandXML 1.2, glTF binary (.glb), DXF R2000. Return 1 on success. |
doc_set_crs | int | COGO point groups (M8 cont.) |
doc_set_design_speed | int | COGO point groups (M8 cont.) |
doc_set_design_standard | int | ---- project configuration + design/analysis faces (#87 batch 3) -- APPEND-ONLY -- probe with YU3D_HOST_HAS. The document-level settings the analysis face RE… |
doc_set_road_class | int | COGO point groups (M8 cont.) |
doc_set_road_type | int | Design Standard dialog faces (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. doc_set_road_type completes the write set (standard/speed/class existed;… |
doc_undo | int | Undo face (appended — guard with YU3D_HOST_HAS). Every mutation above is one undoable edit on the host's stack; these step it. Return 1 if a step happened (0… |
earthworks_json | int | COGO point groups (M8 cont.) |
grading_create | int | grading_create — grade from a footprint alignment to a target: method 0 = to surface (target_surface NULL/empty = the first surface), 1 = to elevation, 2 = t… |
grid_list_json | int | Grid System faces (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. grid_list_json reads every grid system with its full state (JSON, size-then-fetch).… |
grid_system_apply | int | COGO point groups (M8 cont.) |
ifc_export | int | COGO point groups (M8 cont.) |
ifc_import | int | ---- IFC face (yucad3d#12) ---------------------------------------- APPEND-ONLY vtable -- probe every field with YU3D_HOST_HAS. These are NULL in hosts built… |
ifc_model_batch_count | uint32_t | COGO point groups (M8 cont.) |
ifc_model_batch_info | int | COGO point groups (M8 cont.) |
ifc_model_get_mesh | int | COGO point groups (M8 cont.) |
ifc_model_mesh_counts | int | COGO point groups (M8 cont.) |
ifc_model_object_count | uint32_t | COGO point groups (M8 cont.) |
ifc_model_object_info | int | COGO point groups (M8 cont.) |
ifc_model_object_prop | int | COGO point groups (M8 cont.) |
junction_create | int | ---- road-design creation faces (yucad3d#87 batch 2) -------------- APPEND-ONLY -- probe with YU3D_HOST_HAS. Every function maps 1:1 onto the engine entry po… |
junction_create_multileg | int | COGO point groups (M8 cont.) |
log_clear | void | log_clear (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. Empties the process EventLog (the Event Viewer's Clear button); log_count reads 0 afterwards. |
log_count | uint32_t | The process EventLog -- run_command outcomes (warnings, sweep summaries) land here. severity: 0 info, 1 warning, 2 error. |
log_entry | int | COGO point groups (M8 cont.) |
material_qto_json | int | material_qto_json (yucad3d-web#37): per-corridor Composer Shape volumes (ring areas + average end area, the QTO service) — corridor "" = every corridor. Empt… |
node_property_count | uint32_t | Property ENUMERATION for a generic consumer UI — the same field list the desktop Properties dock renders (data::PropertyApi providers). Query ONE index at a … |
node_property_info | int | COGO point groups (M8 cont.) |
parts_bake | int | Bake a family into a triangle mesh. param_names/param_values are n_params overrides by parameter identifier (NULL/0 = family defaults); deflection <= 0 = 0.0… |
parts_bake_get | uint32_t | COGO point groups (M8 cont.) |
parts_export_step | int | Export the baked B-rep solid as STEP AP214 -- the real OCCT solid, not the triangulated mesh, so it round-trips into other CAD. Same override semantics as pa… |
parts_export_stl | int | parts_export_stl (yucad3d#119, batch 6) -- APPEND-ONLY, probe with YU3D_HOST_HAS. Same contract as parts_export_step, but the output is a binary STL of the b… |
parts_family_count | uint32_t | ---- Part Builder families (yucad3d#87 batch 4) ------------------- APPEND-ONLY -- probe with YU3D_HOST_HAS. Families are PROCESS state (a name-keyed registr… |
parts_family_create | int | COGO point groups (M8 cont.) |
parts_family_delete | int | COGO point groups (M8 cont.) |
parts_family_duplicate | int | COGO point groups (M8 cont.) |
parts_family_import_base | int | COGO point groups (M8 cont.) |
parts_family_info | int | COGO point groups (M8 cont.) |
parts_family_json | int | Part Builder AUTHORING (yucad3d#117) -- the desktop window's edits as faces over the process registry. parts_family_json writes the family structure (params … |
parts_family_load | int | .yu3dpart file round trip. load parses the file and registers the family (name-keyed -- an existing family of the same name is replaced) and returns its name… |
parts_family_publish | int | COGO point groups (M8 cont.) |
parts_family_rename | int | COGO point groups (M8 cont.) |
parts_family_save | int | COGO point groups (M8 cont.) |
parts_family_set_category | int | Part Builder catalog management, batch 3 (yucad3d#119) -- APPEND-ONLY, probe with YU3D_HOST_HAS. These manage the family's CATALOG entry (registry + its .yu3… |
parts_family_set_fillet | int | COGO point groups (M8 cont.) |
parts_family_validate | int | COGO point groups (M8 cont.) |
parts_param_add | int | Part Builder parameter editing + expression validation, batch 4 (yucad3d#119) -- APPEND-ONLY, probe with YU3D_HOST_HAS. parts_param_add appends a parameter (… |
parts_param_info | int | COGO point groups (M8 cont.) |
parts_param_remove | int | COGO point groups (M8 cont.) |
parts_param_set_value | int | COGO point groups (M8 cont.) |
parts_param_update | int | COGO point groups (M8 cont.) |
parts_ref_mesh_get | uint32_t | COGO point groups (M8 cont.) |
parts_ref_mesh_load | int | Display-reference mesh (yucad3d#119, batch 7) -- APPEND-ONLY, probe with YU3D_HOST_HAS. parts_ref_mesh_load reads an STL (binary or ASCII) or OBJ file with t… |
parts_step_add | int | COGO point groups (M8 cont.) |
parts_step_apply_grip | int | COGO point groups (M8 cont.) |
parts_step_bounds | int | Part Builder grip editing + base-solid import, batch 5 (yucad3d#119) -- APPEND-ONLY, probe with YU3D_HOST_HAS. parts_step_bounds bakes step index in isolat… |
parts_step_move | int | Part Builder authoring, batch 2 (yucad3d#119) -- APPEND-ONLY, probe with YU3D_HOST_HAS. parts_step_move reorders the step program (removes from, reinserts … |
parts_step_remove | int | COGO point groups (M8 cont.) |
parts_step_set_enabled | int | COGO point groups (M8 cont.) |
parts_step_update | int | COGO point groups (M8 cont.) |
pointcloud_classify_ground | int | PCL progressive-morphological ground classification. Writes ASPRS class 2 (ground) / 1 (unclassified) onto the cloud as one edit; out_ground (nullable) gets … |
pointcloud_create_from_las | int | Import a LAS/LAZ file (path form — desktop / server-local files). stride keeps every Nth point (0/1 = all). Returns 1 and fills out_uuid (+ optional out_ke… |
pointcloud_create_from_las_bytes | int | Same import from an in-memory file image (daemon uploads). |
pointcloud_get_classification | uint32_t | Per-point ASPRS classification bytes (same stride semantics). Returns 0 when the cloud is unclassified. |
pointcloud_get_points | uint32_t | Copies up to max_pts xyz triples starting at every strideth point (0/1 = all) and returns the count written — the display path asks with a stride that land… |
pointcloud_get_rgb | uint32_t | Per-point RGB, 3 bytes each (same stride semantics). Returns 0 when the source carried no colour. |
pointcloud_point_count | uint32_t | COGO point groups (M8 cont.) |
pointcloud_remove_outliers | int | PCL statistical outlier removal (mean_k neighbours, stddev_mult). |
pointcloud_to_surface | int | Ground points -> a new SurfaceNode (algo::surface_from_cloud: classification (running the ground filter if absent), voxel thinning at thin_leaf_m, then the s… |
pointcloud_voxel_thin | int | Voxel thinning: keeps one point per leaf_m cell (attributes follow). One undoable edit; out_kept (nullable) gets the surviving count. |
pointgroup_create | int | Create a point group (n x/y/z triples). Per-point name (COGO description) + feature code are sparse — set them with pointgroup_set_point_meta (null/empty lea… |
pointgroup_get_points | uint32_t | COGO point groups (M8 cont.) |
pointgroup_point_code | const char* | COGO point groups (M8 cont.) |
pointgroup_point_count | uint32_t | COGO point groups (M8 cont.) |
pointgroup_point_name | const char* | COGO point groups (M8 cont.) |
pointgroup_set_point_meta | int | COGO point groups (M8 cont.) |
points_along_alignment | int | COGO point groups (M8 cont.) |
points_connect_by_code | int | points_connect_by_code (yucad3d-web#38): feature lines from a point group's coded points — the desktop Connect by Feature Code verbatim: per code (>= 2 point… |
points_on_grid | int | COGO point groups (M8 cont.) |
profile_report | int | profile_report (yucad3d#64 slice 2): the design-profile PVI table (station / elevation / grades / A% / curve L / K / Crest-Sag / VPC-VPT / high-low point) fo… |
roundabout_create | int | roundabout_create — the standards-seeded roundabout (VSS 40 263): icd / ring_width / entry_r / exit_r 0 = seed from the standard's rb.* data. flags = YU3D_RB… |
samplelines_create | int | samplelines_create — a SampleLineGroup along an alignment (interval + half-widths). existing / design surface uuids are optional (NULL/empty) -- the QTO / se… |
samplelines_json | int | COGO point groups (M8 cont.) |
scale_report_json | int | scale_report_json (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The Scale Factor Report dataset for an alignment: header stats (grid/ground lengths… |
section_json | int | section_json (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The Cross Section dock's payload: ground swath + corridor template + design CL at `stati… |
section_view_json | int | Sections-tab faces (yucad3d-web#27) -- APPEND-ONLY, probe with YU3D_HOST_HAS. section_view_json is section_json's rich sibling (the desktop Sections tab's ex… |
sight_analyze | int | sight_analyze — run the sight-distance sweep along a road alignment against every surface in the document (plus the road's own baked corridor surfaces when i… |
sight_band | int | COGO point groups (M8 cont.) |
sight_band_count | uint32_t | The latest sight-distance sweep cached per alignment (filled by road.sight.analyze / the desktop dialog). |
speed_bands_derive | int | speed_bands_derive — derive the V_P design-speed bands from the alignment's geometry with the document's design standard and store them on the node. v_a_kmh … |
standards_count | uint32_t | ---- design-standard data management (yucad3d#87 batch 6) --------- APPEND-ONLY -- probe with YU3D_HOST_HAS. Standards data is PROCESS state (an id-keyed reg… |
standards_import_c3d | int | COGO point groups (M8 cont.) |
standards_info | int | COGO point groups (M8 cont.) |
standards_load_dir | int | COGO point groups (M8 cont.) |
standards_load_file | int | standards_load_file registers one yu3dDesignStandard XML (id-keyed -- a re-load of the same id replaces) and returns its id. standards_load_dir loads every *… |
standards_save_file | int | COGO point groups (M8 cont.) |
staoffset_report | int | staoffset_report (yucad3d#64 slice 4): the stakeout listing — rows at interval_m (0.5 m floor) plus every element joint and the exact end (key rows flagged… |
super_diagram_json | int | super_diagram_json (yucad3d-web#28): the Layout sheet's e(station) curve with the desktop rule whole — a corridor on this alignment answers with its ACTIVE s… |
super_report | int | super_report (yucad3d#64 slice 3): the superelevation deliverable for one corridor — the applied (station, rate) diagram plus one zone row per circular curve… |
super_runoff_json | int | COGO point groups (M8 cont.) |
superelevation_design | int | superelevation_design — standard-aware runoff for the corridor's alignment (e_max <= 0 = the loaded standard's value for the document's speed / road class), … |
surface_clear_boundaries | int | COGO point groups (M8 cont.) |
surface_create_from_text | int | Surface from raw point-file TEXT (CSV/XYZ/PTS/ASC — the desktop import rules: '#'/';' comments, commas/tabs as whitespace). order picks the column layout: … |
surface_cut_fill | int | Cut/fill volumes between two surface NODES (midpoint grid at cell_m; <= 0 falls back to 1 m). Returns 0 when either uuid is not a surface with data. |
surface_elevation_at | int | surface_elevation_at (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. Samples ONE surface's TIN at (x,y) — the per-surface counterpart of doc_ground_e… |
surface_history_json | int | Surface History / Style faces (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. surface_history_json lists the definition operations (oldest first); su… |
surface_merge | int | surface_merge triangulates the union of two surfaces' points into a NEW surface node (the inputs stay). points_along_alignment samples an alignment into a po… |
surface_revert_history | int | COGO point groups (M8 cont.) |
surface_set_boundary | int | ---- surface clipping boundaries + Civil 3D .pkt (yucad3d#87) ----- APPEND-ONLY -- probe with YU3D_HOST_HAS. surface_set_boundary sets the OUTER clipping rin… |
surface_set_style | int | COGO point groups (M8 cont.) |
surface_style_json | int | COGO point groups (M8 cont.) |
surface_style_save_shared | int | COGO point groups (M8 cont.) |
view_frames_create | int | View frames (yucad3d#58 slice 1) -- APPEND-ONLY, probe with YU3D_HOST_HAS. view_frames_create places a ViewFrameGroup node under the Sheets group: frames of … |
view_frames_json | int | COGO point groups (M8 cont.) |
widening_transition_json | int | COGO point groups (M8 cont.) |
Payload writer
Append a node's own bytes to its payload frame during save. The host frames and versions the container.
| Function | Returns | Purpose |
|---|---|---|
w_f64 | void | writer: append to the node's payload frame |
w_str | void | writer: append to the node's payload frame |
w_u32 | void | writer: append to the node's payload frame |
w_u8 | void | ---- writer: append to the node's payload frame ---- |
Payload reader
Read those bytes back during load. Every reader returns success/failure — a short read must fail the node, not guess.
| Function | Returns | Purpose |
|---|---|---|
r_f64 | int | reader: return 1 on success, 0 on failure. r_str returns a pointer to host-owned memory valid only until the NEXT reader call — copy out what you need immedi… |
r_str | const char* | reader: return 1 on success, 0 on failure. r_str returns a pointer to host-owned memory valid only until the NEXT reader call — copy out what you need immedi… |
r_u32 | int | reader: return 1 on success, 0 on failure. r_str returns a pointer to host-owned memory valid only until the NEXT reader call — copy out what you need immedi… |
r_u8 | int | ---- reader: return 1 on success, 0 on failure. r_str returns a pointer to host-owned memory valid only until the NEXT reader call — copy out what you need i… |
Plan rendering
Emit plan-view geometry in world metres; the canvas owns zoom, styling and picking.
| Function | Returns | Purpose |
|---|---|---|
plan_add_marker | void | plan-view render sink (world metres; colours linear 0..1; *_px are device-independent screen pixels, zoom-invariant) |
plan_add_segment | void | ---- plan-view render sink (world metres; colours linear 0..1; _px are device-independent screen pixels, zoom-invariant) ---- |
plan_add_text | void | plan-view render sink (world metres; colours linear 0..1; *_px are device-independent screen pixels, zoom-invariant) |
plan_world_per_pixel | double | plan-view render sink (world metres; colours linear 0..1; *_px are device-independent screen pixels, zoom-invariant) |
3D rendering
Emit 3D geometry; the scene manager turns it into actors it tracks for selection and removal.
| Function | Returns | Purpose |
|---|---|---|
scene_add_lines | void | ---- 3D-view render sink. xyz is n_pts (x,y,z) triples; index arrays reference vertices by triple index. ---- |
scene_add_triangles | void | 3D-view render sink. xyz is n_pts (x,y,z) triples; index arrays reference vertices by triple index. |
Picking
Tag emitted geometry so a click resolves to a sub-entity of the node rather than the whole node.
| Function | Returns | Purpose |
|---|---|---|
register_summary | void | ---- register a read-only summary shown in the Properties dock for this node type. ---- |